解决Linux编译内核生成的initrd.img过大

当编译内核模块时,默认包含调试信息导致initrd.img文件达到800M,无法正常开机。解决方法是修改安装命令,使用INSTALL_MOD_STRIP=1参数来剥离调试信息,例如:sudomakeARCH=arm64O=$KERNEL_OUTINSTALL_MOD_STRIP=1modules_installINSTALL_MOD_PATH=~/modules/。如果编译为deb包,命令应为:sudomakeARCH=arm64O=$KERNEL_OUTINSTALL_MOD_STRIP=1deb-pkg。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译内核安装模块会默认把调试信息也编进去,导致出来的initrd.img会有800M左右的大小,无法开机。这时就需要改一下安装模块时的命令了。
把sudo make modules_install 改为

#INSTALL_MOD_PATH用于指定安装路径,可选
sudo make ARCH=arm64 O=$KERNEL_OUT INSTALL_MOD_STRIP=1 modules_install INSTALL_MOD_PATH=~/modules/

如果是编译成deb包的,就输入

sudo make ARCH=arm64 O=$KERNEL_OUT INSTALL_MOD_STRIP=1 deb-pkg
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值