启动新编译的linux内核
我已经开始阅读《基本Linux设备驱动程序》一书。我遵循编译和引导到新内核的过程。但是,我无法启动到新编译的内核-我在grub中选择新内核,然后..什么都没有…屏幕保持不变 以下是我正在采取的步骤,如本书所述(我使用的是内核2.6.24,因为这是本书的基础)-启动新编译的linux内核,linux,linux-kernel,Linux,Linux Kernel,我已经开始阅读《基本Linux设备驱动程序》一书。我遵循编译和引导到新内核的过程。但是,我无法启动到新编译的内核-我在grub中选择新内核,然后..什么都没有…屏幕保持不变 以下是我正在采取的步骤,如本书所述(我使用的是内核2.6.24,因为这是本书的基础)- cd/usr/src/linux-2.6.24(我下载的内核的基本目录) 澄清 cp arch/x86/configs/i386_defconfig.config 制作bzImage cp arch/x86/boot/bzImage/b
- cd/usr/src/linux-2.6.24(我下载的内核的基本目录)
- 澄清
- cp arch/x86/configs/i386_defconfig.config
- 制作bzImage cp arch/x86/boot/bzImage/boot/vmlinuz
无论如何,我现在可以在GRUB中选择这个内核,但正如我上面所说的,它不能正常启动,屏幕只是变为空白,永远不会改变。我是不是错过了什么?我完全按照书中的说明进行了操作。默认配置可能需要一个驱动程序(例如,因为文件系统和根设备需要模块驱动程序,这是initrd提供的) 您可以为您的特定硬件适当地配置内核(在内核中而不是在模块中仔细地启用基本驱动程序),或者使用一个过程来使用initrd构建内核包 您应该找到一个适合您的linux发行版和习惯的过程,例如,类似或。我在Debian上使用:
time fakeroot make-kpkg -j2 --initrd --revision=3.4.2 --append-to-version=-amd64 binary
默认配置可能需要一个(例如,因为文件系统和根设备需要模块驱动程序,这是initrd提供的) 您可以为您的特定硬件适当地配置内核(在内核中而不是在模块中仔细地启用基本驱动程序),或者使用一个过程来使用initrd构建内核包 您应该找到一个适合您的linux发行版和习惯的过程,例如,类似或。我在Debian上使用:
time fakeroot make-kpkg -j2 --initrd --revision=3.4.2 --append-to-version=-amd64 binary
大多数自动grub设置都包含内核选项,用于隐藏内核尝试引导时生成的消息。例如:
/boot/vmlinuz-x.x.x.x-generic root=UUID=something ro quiet splash
在您希望引导的内核的grub菜单行上,按“e”临时编辑它,并删除诸如quiet和splash之类的选项(但保留ro)
然后引导临时修改的行,并查看进度消息,以便了解引导失败的位置。大多数grub自动设置都包含内核选项,用于隐藏内核尝试引导时生成的消息。例如:
/boot/vmlinuz-x.x.x.x-generic root=UUID=something ro quiet splash
在您希望引导的内核的grub菜单行上,按“e”临时编辑它,并删除诸如quiet和splash之类的选项(但保留ro)
然后启动临时修改的行,并查看进度消息,以便了解启动失败的位置。尝试使用“verbose”参数运行新内核。也许它会告诉你更多正在发生的事情。这与编程无关,应该在我觉得这个问题与编程有关,所以在这里有它的位置。(它与配置和构建相关,海报想要编写一个驱动程序……)。尝试使用“verbose”参数运行新内核。也许它会告诉你更多正在发生的事情。这与编程无关,应该在我觉得这个问题与编程有关,所以在这里有它的位置。(它与配置和构建相关,海报想要为驱动程序编码……)你知道作者为什么没有在书中包含这样的信息吗?我不明白为什么他会遗漏必要的指令来启动内核…问问这本书的作者,我不知道。也许这本书很旧了。2.6.24内核于2008年发布。我建议研究和改进一个更新的内核(3.4.4是最新的)。刚刚尝试了本页上的教程——我也遇到了同样的问题。这与我使用virtualbox运行linux这一事实有什么关系吗?我正在尝试构建他在书-2.6.24中使用的内核,所以这本书已经有几年的历史了,这不会有什么区别。试着在你的硬件机器(笔记本电脑或台式机)上安装linux发行版你知道作者为什么没有在书中包括这样的信息吗?我不明白为什么他会遗漏必要的指令来启动内核…问问这本书的作者,我不知道。也许这本书很旧了。2.6.24内核于2008年发布。我建议研究和改进一个更新的内核(3.4.4是最新的)。刚刚尝试了本页上的教程——我也遇到了同样的问题。这与我使用virtualbox运行linux这一事实有什么关系吗?我正在尝试构建他在书-2.6.24中使用的内核,所以这本书已经有几年的历史了,这不会有什么区别。试着在你的硬件机器(笔记本电脑或台式机)上安装linux发行版。