问题
工作上需要给服务器更换一个kernel,通过以下的命令将kernel编译并安装进boot分区。
make && sudo make modules_install && sudo make install
然后重启后,在bios中选择烧入的kernel启动后,服务器并没有正常进入Linux启动界面,而是出现了以下报错
对于这个问题,我尝试在网上根据报错内容寻找相关解决方案,但是一无所获。
后来发现问题在于服务器的boot分区,里面存储的文件(kernel image,intrd等)已经接近2G,此时如果向里面安装kernel,会导致这个kernel文件并没有完全写入,于是导致启动失败。
解决
解决方式有两个:
- 将不必要的image文件删除或者移动到备份目录
- 在
make modules_install
后进入/lib/modules 目录下面的对应kernel文件夹下执行下面命令,来精简kernel大小。
sudo find . -name *.ko -exec strip --strip-unneeded {} +