编译UBUNTU系统的内核

第一步 安装必要的工具

首先要安装必要的包
不然就报错!

包有:libncurses5-dev(menuconfig需要的)和essential


sudo apt-get install build-essential bin86 kernel-package
sudo apt-get install libqt3-headers libqt3-mt-dev
sudo apt-get install make
sudo apt-get install gcc //即使已经安装了gcc最好也更新一下
另外,在终端输入 sudo mki 然后连按两次“Tab”键看一下终端是否显示
mkinitramfs mkisofs
这两个工具在编译内核时用来生成 *.img文件的,没有的话安装一下



第二步 下载内核

到www.kernel.org下载新内核到/home
我下载的是linux-2.6.16.2.tar.bz2(原来的内核是2.6.15-26)



第三步 编译前的准备

察看当前内核的版本
uname -a
2.6.15-26-server
如果下载的内核版本和当前的内核版本一样的话:
cd /lib/modules
将其下的文件夹改名
同时将/boot下一些东西也要改,改了以后还要修改/boot/grub/menu.lst
比较麻烦,建议最好下载比当前已安装版本高的内核

解压linux-2.6.16.2.tar.bz2得到的linux-2.6.16.2文件夹放到/usr/src下
sudo ln -s linux-2.6.16.2 linux //如果该文件夹下已经有名为linux的链接请先把它改为linux.old




第四步 开始编译

cd /usr/src/linux //以下所有的工作都在/usr/src/linux下完成
sudo make mrproper //去除.o的已编译文件
sudo make menuconfig //用menuconfig的话还需要另外两个工具包支持,叫什么名字我忘了,Ncurses?或者用
sudo make xconfig

接下来你就慢慢配置吧,配置完以后保存(系统中保存的一份内核配置文件是在/usr/src/linux 下名为.config,你也可以自己在别的地方另存一份)

sudo make dep //也许系统会提示现在不必要进行make dep,那就下一步
sudo make clean //清除旧数据
sudo make bzImage //编译内核,bzImage是你给该新内核起的名字,将保存到/usr/src/linux/arch/i386/boot/下
sudo make modules //编译模块
sudo bzImage install //安装内核
sudo make modules_install //安装模块
sudo mkinitramfs -o /boot/initrd.img-2.6.16.2 2.6.16.2

安装完后/boot下将增加以下几个文件(用ls -l 查看)
lrwxrwxrwx 1 root root 19 Aug 18 14:33 System.map -> System.map-2.6.16.2
lrwxrwxrwx 1 root root 15 Aug 18 14:33 config -> config-2.6.16.2
-rw-r--r-- 1 root root 40323 Aug 18 14:33 config-2.6.16.2
-rw-r--r-- 1 root root 6775383 Aug 18 16:39 initrd.img-2.6.16.2
lrwxrwxrwx 1 root root 16 Aug 18 14:33 vmlinuz -> vmlinuz-2.6.16.2
给/boot/grub/menu.lst中添加一个新的启动项,如我的menu.lst增加了如下一段文字
title Ubuntu, kernel 2.6.16.2
root (hd0,0)
kernel /boot/vmlinuz-2.6.16.2 root=/dev/sda1 ro
initrd /boot/initrd.img-2.6.16.2
boot
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值