Ubuntu下Linux内核编译

1.查看当前内核版本
uname -a
2.下载源码
http://www.kernel.org/  可以放在自己的工作目录下
并解压缩
tar xvjf linux.x.y.z.tar.bz2
3.前期准备工作
sudo apt-get install build-essential kernel-package libncurses5-dev libqt3-headers
build-essential  (基本的编程库(gcc, make等)
kernel-package   (Debian 系统里生成 kernel-image 的一些配置文件和工具)
libncurses5-dev  (meke menuconfig要调用的)
libqt3-headers   (make xconfig要调用的)
4.内核配置
 内核配置的方法有四种:
 make config: 该工具会挨个遍历所有配置项,很耗时;
 make menuconfig:基于ncurse库编制的图形界面工具;
 make xconfig:基于X11的图形工具;
 make gconfig:基于gtk+的图形工具。
 可以利用已有系统的配置选项:把现在内核用的.config文件拷贝过来当作模版
 cd ./linux-2.6.36
 cp /usr/src/linux-headers-2.6.32-26-generic/.config .config
 make menuconfig
 终端会弹出一个配置界面,选择最后一项:load a kernel configuration...利用当前的内核配置来配置将要编译的内核,然后选择save kernel configutation..保存并退出配置界面。
5.开始编译
 sudo make-kpkg clean
 sudo make-kpkg --append-to-version -custom kernel_iamge kernel_headers
 此部分时间比较长....
 完成后得到两个文件:linux-headers-...Custom_i386.deb和linux-image..._i386.deb
 用如下命令安装这两个文件:
 sudo dpkg -i linux-headers-2.6.36-custom_2.6.36-custom-10.00.Custom_i386.deb
 sudo dpkg -i linux-image-2.6.36-custom_2.6.36-custom-10.00.Custom_i386.deb
 运行下面的命令生成initrd文件:
 mkinitramfs  -o initrd.img-2.6.36
 编译即将大功告成,再坚持一下..
6.修改启动文件
 把initrd.img-2.6.36拷贝到/boot目录下:
 cp initrd.img-2.6.36  /boot
 此时/boot目录下应该有initrd vmlinuz和system.map三个文件,ok!
 修改/boot/grub目录下的menu.lst文件,添加下面几行:
 title        Ubuntu 10.04.1 LTS, kernel 2.6.36-custom
 root        ()/ubuntu/disks
 kernel        /boot/vmlinuz-2.6.36-custom root=UUID=01CAE99CC7D0CB80    loop=/ubuntu/disks/root.disk ro quiet splash
 initrd        /boot/initrd.img-2.6.36
大功告成!重启计算机,进入自己编译的内核!

问题:
1.如果restart的时候出了问题,当你看见屏幕上出现 "Press ESC to enter the menu...1"这行字的时候,按下ESC,此时会进入grub的启动菜单,好,选择你的旧版内核,启动系统。现在,你不得不重新编译一次内核,使其能够正常使用。
2.我碰到一个问题:FATAL: modprobe: Could not load /lib/modules/2.6.36-custom/modules.dep
解决方法:1.删除initrd文件
        2.进入源码存放的目录,运行:
          sudo update-initramfs -c -k 2.6.36-custom  (与你自己的命名对应)
          会在/boot目录下生成initrd-img-2.6.36-custom文件
        3.运行:sudo update-grub
        搞定,重启!Just Do It!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值