在 ubuntu 10.04 上编译并安装新内核

在 ubuntu 10.04 上编译并安装新内核

我在 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 上配置、构建和安装新内核,请按照以下步骤操作:

  1. cd 到包含内核源代码树的目录(假设这是~/linux):

    cd ~/linux
    
  2. 将当前内核配置复制到源树:

    cp /boot/config-2.6.32-32-generic .config
    
  3. 配置附加选项(这里我只接受默认值):

    yes '' | make oldconfig
    

    现在,如果您不想要默认值,您可以更改一些选项。在我的计算机上,我选择了 ' Processor family' = ' Core 2' 和 ' Preemption model' = ' Preemptible kernel'。为此,请运行:

    make menuconfig
    

    并选择您喜欢的选项。您可以点击?任何选项,然后会出现简短的描述。

  4. 构建内核:

    make -j4 > /dev/null
    

    更改4为 (number_of_physical_cores_on_your_machine * 2),这将使内核的构建速度快得多。不要害怕,> /dev/null因为所有警告和错误仍将输出。

  5. 安装新内核:

    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 稍微困难一些,但你从一开始就会了解你的系统。即使你是新手,安装说明也会指导你完成整个过程,编译你自己的内核也是其中的一部分。

相关内容