我在 Windows 主机上的 VMware 上运行着 ubuntu 10.04。我正在学习 Linux 设备驱动程序编程。因此,在此过程中,我尝试设置 Linux 源代码树并构建和加载自定义内核。我制作了两个 .deb 包(自定义内核),并使用 dpkg 安装它们(http://www.howtoforge.com/kernel_compilation_ubuntu_p2)。然后当我重新启动时,它显示:内核崩溃,无法在未知块(0,0)上挂载根文件系统。请指导我该怎么办?
我的系统有 GRUB2。
另外,请告诉我哪个是学习 Linux 设备驱动程序编程的最佳 Linux 发行版。我发现 Ubuntu 有点难,因为我在互联网上找到的大多数用于构建内核的教程都是为通用 Linux 编写的,但 Ubuntu 有不同的方法。没有太多可用的帮助。
答案1
要在 Ubuntu 10.04 上配置、构建和安装新内核,请按照以下步骤操作:
cd 到包含内核源代码树的目录(假设这是
~/linux
):cd ~/linux
将当前内核配置复制到源树:
cp /boot/config-2.6.32-32-generic .config
配置附加选项(这里我只接受默认值):
yes '' | make oldconfig
现在,如果您不想要默认值,您可以更改一些选项。在我的计算机上,我选择了 '
Processor family
' = 'Core 2
' 和 'Preemption model
' = 'Preemptible kernel
'。为此,请运行:make menuconfig
并选择您喜欢的选项。您可以点击
?
任何选项,然后会出现简短的描述。构建内核:
make -j4 > /dev/null
更改
4
为 (number_of_physical_cores_on_your_machine * 2),这将使内核的构建速度快得多。不要害怕,> /dev/null
因为所有警告和错误仍将输出。安装新内核:
sudo -s make INSTALL_MOD_STRIP=1 modules_install
make modules_install
如果你打算调试内核,那么你可以make install update-initramfs -c -k `make kernelrelease` update-grub exit
本指南基于Ubuntu 10.04 上的新内核
答案2
我推荐 Gentoo。它的安装和使用比开箱即用的 Ubuntu 稍微困难一些,但你从一开始就会了解你的系统。即使你是新手,安装说明也会指导你完成整个过程,编译你自己的内核也是其中的一部分。