Chinaunix首页 | 论坛 | 博客
  • 博客访问: 171243
  • 博文数量: 28
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 315
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 12:25
个人简介

ulj

文章分类

全部博文(28)

文章存档

2011年(1)

2009年(7)

2008年(1)

2006年(19)

我的朋友

分类: LINUX

2006-12-08 18:57:40

编译内核的方法

Kernel compilation

翻译:xiaosir

你可以用/usr/src(本文内容)方法来编译内核,也可以用ABS:Kernel compilation with ABS。少数Arch使用者更乐意使用/usr/src这个方法,不过使用ABS在自动配置某些方面很好用。这个取决于你自己,并不是说某个方法就一定比较好。

下面的内容对生成Arch内核很有帮助。编译内核的常用方法对所有发行版都大同小异。想了解关于这方面的详细内容,请到

1.改下默认内核名字后缀,这样等于做了个备份,比把它们删除要好很多。


# cd /usr/src
 # mv linux-2.x.x linux-2.x.x.arch
 # mv /lib/modules/linux-2.x.x /lib/modules/linux-2.x.x.arch
 # mv /boot/vmlinuz2x vmlinuz-2.x.x.arch
 # mv /boot/System.map2x System.map-2.x.x.arch
 # mv /boot/kconfig2x /boot/kconfig-2.x.x.arch

这是个好办法,再修改你的grub/lilo配置来确保可以引导系统。有相关的内容。

2.从ftp.xx.kernel.org/pub/linux/kernel/下载源代码,这里xx指的是你所在国家的标识, (例如 'us', 'de', 'uk', ... - 到 有镜象列表 )。如果你没有图形界面的ftp工具,你可以用wget。举个例子,我们要下载编译kernel2.6.6;你只需要改变一下版本号就可以得到不同的内核。

代码:

# wget ftp://ftp.de.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2

3.把内核移动/复制到/usr/src

4.解压缩


# tar --bzip2 -xvf linux-2.6.6.tar.bz2

5.(可选) 拷贝旧的.config文件,如果你要修改Arch的默认设置。


# cp /usr/src/linux-2.x.x.arch/.config /usr/src/linux-2.6.6/

6.进入到该目录配置内核,如果你要用devfs记得要激活它(除非你使用udev).下面说明了具体操作。


# rm /usr/src/linux
# ln -s /usr/src/linux-2.66 /usr/src/linux
# cd /usr/src/linux
# make menuconfig

你也可以使用make xconfig(依赖Qt)或者make gconfig(依赖GTK).

7.保存设置。最好做个备份,因为你很可能要重复多次才全部搞定。

8.编译。警告:不要运行make all命令,如果你使用grub引导同时还安装有lilo.编译过程最后会去配置lilo,你的系统很可能再也起不来了。


# make -s clean bzImage modules modules_install

9.拷贝内核


# cp -v /usr/src/linux-2.6.6/arch/i386/boot/bzImage /boot/vmlinuz-2.6.6-revision1
# cp -v /usr/src/linux-2.6.6/arch/i386/Kconfig /boot/Kconfig-2.6.6-revision1
# cp -v /usr/src/linux-2.6.6/System.map /boot/System.map-2.6.6-revision1

要是你用lilo,那就让安装脚本自己去拷贝配置它。你完全可以随便更改kernel,Kconfig,和System.map这些文件的名称。名字-版本-修订版 这种命名方法很简明,在你编译了多个内核时候非常有用。你也可以给名字加上日期和时间,你愿意的话也可以用更简单的命名方法。


# cd /usr/src/linux-2.6.5/arch/i386/boot/
# sh ./install.sh

然后要改的就是启动时的镜像文件了。如vmlinuz****你的版本
一般编译内存里的选项。有编进内核,有编成模块。所以看你的需 要了。
如果出现没声音或上不网。那里选的不对。重编就好了。(记得备份的那个镜像启动文件和你编译的内核生成的镜像文件是决定你开机后应有的功能。所以不得的情况下。把开机的镜像改成之前的那个来启动。想重编内核时继续编过。)
编译内核的方法
更新 
阅读(1893) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~