新编译的内核在启动时挂起,没有输出

新编译的内核在启动时挂起,没有输出

我需要为我的荣誉项目在内核中开发一些内容,但我只能简单地获取一个库存内核来编译和启动。

我已经遵循了一些方法,但所有方法都只导致以下消息,而没有其他输出或错误:

Loading Linux 5.7.11 ...
Loading initial ramdisk ...

之后它就停止了。我已经把它放了好几个小时了,却没有任何变化。

我尝试删除尽可能多的变量,并且主要遵循本教程:https://www.cyberciti.biz/tips/compiling-linux-kernel-26.html

我也在 VirtualBox 上完成了完全相同的教程,并且运行良好,所以我认为这是我的 Lenovo Ideapad S145 特有的问题。但我不知道从哪里开始调试,因为根本没有输出或错误消息。

我还应该补充一点,我正在使用 Ubuntu 20.04.1 LTS。

提前致谢。

编辑:我用于编译和安装的确切过程是:

从以下网址下载最新稳定版本https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.7.11.tar.xz

unxz -v linux-5.7.11.tar.xz
tar -xvf linux-5.7.11.tar.xz
cd linux-5.7.11
cp /boot/config-5.4.0-42-generic .config
make menuconfig

然后我不做任何改变并直接保存

make -j 4
sudo make modules_install
sudo make install

“make install”部分为我完成了所有的 grub 设置,然后我重新启动,它就卡住了。这些确切的步骤在 virtualbox 上有效,但在我真正的联想笔记本电脑上无效。

答案1

与其使用 make 构建主线内核并使用 make install 安装它,不如尝试从内核源代码构建 Debian 打包并安装 .debs。这样,您也可以轻松将其删除。

unxz -v linux-5.7.11.tar.xz
tar -xvf linux-5.7.11.tar.xz
cd linux-5.7.11
cp /boot/config-5.4.0-42-generic .config

make deb-pkg INSTALL_MOD_STRIP=1
cd ..
sudo dpkg -i *deb

答案2

如果您正在使用 grub (看起来您正在使用) 在启动项上按 e 来临时编辑它并删除该行gfxpayload=keep

我以前也遇到过同样的问题,删除 grub 选项后问题就解决了。要使此问题永久存在,请编辑文件/etc/default/grub并查找一行GRUB_GFXPAYLOAD_LINUX=keep并删除它。

相关内容