编译内核过程中,当安装内核模块时未使用
INSTALL_MOD_STRIP=1
标注,会导致initrd文件过大,Ubuntu 20.04所用的Grub 2.04无法支持过大的initrd文件(如500M),导致内核启动时卡在“loading initial ramdisk”(Can't allocate initrd)。
可行的办法
- 安装模块时加上INSTALL_MOD_STRIP=1
sudo make INSTALL_MOD_STRIP=1 modules_install
- 其办法如再装一个Ubuntu18.04,用它的Grub 2.02启动。
参考链接
https://bugzilla.redhat.com/show_bug.cgi?id=1572126
https://bugs.launchpad.net/ubuntu/+source/intel-microcode/+bug/1853369
在Ubuntu 20.04中,如果编译内核模块时不使用INSTALL_MOD_STRIP=1参数,initrd文件可能会变得过大,超出Grub2.04的限制。这将导致启动时卡在'loading initial ramdisk'阶段。解决方案包括在安装模块时添加INSTALL_MOD_STRIP=1来减小initrd大小,或者使用Ubuntu 18.04的Grub2.02启动。
5730

被折叠的 条评论
为什么被折叠?



