编译内核过程中,当安装内核模块时未使用
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