linux内核编译

主要有以下几个部分:

1.下载代码

我用的是linux-2.6.39.2.tar.bz2代码。(第一个数为主版本数;第二个为辅版本数,偶数为稳定版本,奇数为开发版本;第三个数为修订号)

准备工作:

将代码下载完后,进入root账户下。放到/usr/src目录下待编译。

首次进root账户需要设置一下,$sudo passwd root

进root账户$su  然后输入密码,哦了!

哦,还必须要把这个文件解压才行(必须是root账户)$tar -xvf linux-2.6.39.2.tar.bz2(名字长的话用万能的Tab键),进入解压的

文件夹后进行下一步。


2.内核编译

  2.1 编译准备

 清理以前编译留下的残余文件如果是刚刚解开的包这步可以跳过,如果不是第一会编译,那就必须执行这个

$sudo make mrproper

网上很多教程上说把现在使用的内核的config拷贝过来参考,据实验,是不需要的,ubuntu还有
debian会自动做这步。不过这条命令倒是可以学习一下。当然你可以将以前的配置拷贝过来。
命令:

代码:
cp /boot/config-`uname -r` ./.config

2.2修改配置信息

      $sudo make menuconfig

如果这一步显示出错,什么乱七八糟的错误号为162的,是权限问题,要去查一下编译目录是不是在/usr/src下,哦对了要用这个命令必须要有ncurses的环境,没有的话装一下$sudo apt-get install ncurses,

配置通过后就进入下一步编译


2.3 编译

ubuntu的工具是make-kpkg,和其他的发行版相比,步骤相对简单。

$make -kpkg clean

$fakeroot make -kpkg --initrd --append-to-version=-custom kernel_image

$fakeroot make -kpkg --initrd --append-to-version=-custom kernel_headers

这将是个漫长的过程,take a  break。


3安装

在成功构建内核后, 你在/usr/src目录能发现两个.deb软件包.
cd /usr/src
ls -l

在我的测试系统上, 他们分别名为 linux-image-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb (包含了实际的内核) 和 linux-headers-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb (包含了需要的文件, 用于以后需要编译额外的内核模块). 我是这样安装的:
dpkg -i linux-image-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb


(现在你甚至能够拷贝这两个.deb文件到其它的Ubuntu系统, 通过上面的方式安装. 你将不再需要编译内核.)

然后检查 /boot/grub/menu.lst文件, 现在你将能发现新内核使用的两个引导配置块:
vi /boot/grub/menu.lst

在我测试系统上已经添加好的引导配置块是这样的:
title Ubuntu, kernel 2.6.18.1-custom
root (hd0,0)
kernel /boot/vmlinuz-2.6.18.1-custom root=/dev/sda1 ro quiet splash
initrd /boot/initrd.img-2.6.18.1-custom
savedefault
boot

title Ubuntu, kernel 2.6.18.1-custom (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18.1-custom root=/dev/sda1 ro single
initrd /boot/initrd.img-2.6.18.1-custom
boot


弄好后:q!退出。


现在重启系统:
shutdown -r now

到这一步就算大工告成了。参考文档http://linux.chinaunix.net/docs/2006-11-21/3260.shtml

    



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值