Ubuntu内核编译

来源:互联网 发布:美工服装细节文案 编辑:程序博客网 时间:2024/03/28 16:54

         第一次的Linux kernel上机内容是编译一个内核。我用的是Ubuntu,有很多地方和其它 Linux不一样,所以就来把我的过程写下来,以后也好有个参照
        首先当然是下载内核源代码,如果你要最新的内核,可以去ftp.kernel.org。当然,国内速度可能会很慢。如果你是教育网用户,可以去上海交大的镜像站下载,地址是http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/,缺点就是没有最新的内核(更新需要一定的时间)。
        我下载的是linux-2.6.19.2.tar.gz可以下到的最新版本了。下完之后当然是解压缩。不过还不能直接编译,因为Ubuntu的默认安装里缺少必要的组建。打开终端,输入一下命令:
        sudo -i
        apt-get install build-essential kernel-package libncurses5-dev
        然后到新立得里把所有以ncurses开头的软件包全部装上,这样就可以开始编译内核了。
        先运行以下命令,复制当前内核的配置文件。
        cp /boot/config-`uname -r` ./.config
        然后
        make menuconfig

 

 

 

选择 "Load an Alternate Configuration File",再选择你刚才拷贝过来的.config文件作为配置文件。然后确定。当结束后,你选择退出时,会提示问你 "Do you wish to save your new kernel configuration?"选择yes即可。

       接下来就要编译了。输入命令:
       make
       你也可以将编译任务分成2个线程来执行,只要输入:
       make -j2
       编译一般需要1~1.5小时左右,就看cpu的性能如何

        编译完成后,开始安装:
       make module_install
       make install
       然后添加引导信息,不过之前还是要装一个组件initramfs-tools,装完以后输入:
       mkinitramfs -o /boot/initrd.img-2.6.19.2 2.6.19.2‘这里2.6.19.2是你编译的内核的版本号
       最后打开 /boot/grub/menu.lst
       在 ## ## End Default Options ## 下面添加类似下面的两段
       title Ubuntu, kernel 2.6.19.2
       root (hd0,4)
       kernel /vmlinuz-2.6.19.2root=/dev/hdd6
       initrd /initrd.img-2.6.19.2
       savedefault
       boot

       title Ubuntu, kernel 2.6.19.2 (recovery mode)
       root (hd0,4)
       kernel /vmlinuz-2.6.19.2 root=/dev/hdd6 ro single
       initrd /initrd.img-2.6.19.2
       boot
       注意 root和kernel字段要模仿menu.lst下面已有的内容写。下面是 (hd0,4),那么你也写(hd0,4),下面写root=/dev/hdd6,你也写root=/dev/hdd6,只是内核的版本号改为现在编译的版本号。然后重新启动计算机,在GRUB中选择新内核启动。如果启动失败,你可以重启选择老内核。

 

[转自]http://blog.theosoft.net/article.asp?id=57

原创粉丝点击