红联Linux门户
Linux帮助

通用的Linux内核编译过程

发布时间:2008-08-15 15:45:15来源:红联作者:beainm
  原创:索索

  我是在Debian上编译内核2.6.59.9,使用的软件包都是各发行版都有的(安装方法会不一样),所以在其他发行版上应该也可以,如果有测试通过或没通过的,麻烦哥们儿完事了在这吼一下,也方便大家嘛,谢过!

  1、以普通用户(我这里的用户名是jtkk)登录系统,从http://kernel.org/下载最新的内核,下载地址是:http://www.hanwater.lkams.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.9.tar.bz2;将下载后的文件存在家目录(/home/jtkk)。

  2、解压
  tar xjf linux-2.6.25.9.tar.bz2

  3、安装相关软件
  1)如果在字符界面下配置内核编辑选项,需要安装
  apt-get install libncurses5-dev

  2)如果在图形界面下配置内核编辑选项,需要安装
  apt-get install libqt3-mt-dev

  3)安装initrd.img生成工具
  apt-get install initramfs-tools

  4、使用旧的内核参数
  cd linux-2.6.25.9
  cp /boot/config-`uname -r` .config
  make oldconfig

  此过程会使用.config中的参数,并提问新内核新增参数的设置,可用n、m或y做答,分别表示不编辑进内核、编辑成模块或编辑到内核。如果不知道参数的意思建议直接按回车,接受默认的值。具体内核参数的含意,网上文章一箩筐,大家找找看吧。

  5、如果以前编译过内核,则需要清除旧的中间文件
  make mrproper

  6、设置内核参数
  make menuconfig
  或
  make xconfig

  7、开始编译,生成内核文件和模块文件
  make

  8、安装编译好的模块,需要换成root用户
  make modules_install
  该命令会将模块安装到/lib/新内核版本号码/

  9、安装内核文件到到/boot目录
  make install

  10、生成initrd.img文件
  mkinitramfs -o /boot/initrd.img-2.6.25.9 2.6.25.9

  记得不要使用mkinitrd生成img文件(应该用mkinitramfs),2.6内核使用新的格式(参考:http://wiki.debian.org/InitrdReplacementOptionshttp://kernel-handbook.alioth.debian.org/ch-initramfs.html)。

  以前只会用Debian文档介绍的方法编译过内核,使用本方法时,由于生成img文件的工具没用对,所以新内核总是panic(这下好了)。

  11、修改grub.conf
  具体的内容比较简单,这里就免了。

  12、OK,重启。
文章评论

共有 0 条评论