星期日, 十二月 28, 2008

在ubuntu下编译linux 2.6.28内核手记

编译2.6.28内核

$ sudo apt-get install build-essential kernel-package libncurses5-dev

download kernel from http://www.kernel.org/

$ tar xfj linux-2.6.28.tar.bz2
$ cd linux-2.6.28

$ cp /boot/config-`uname -r` ./.config
#XXX /boot/config...近乎全部编译,必须精简!不然编译下来,2G空间都不够用的,汗~

####### 查看硬件信息
sudo dmidecode
lspci
dmesg
########

make menuconfig #根据硬件信息对config做精简。很遗憾,目前没有自动化工具能够帮助自动完成内核定制工作。搞明白几千个配置选项是个体力活。

make -j2 #两个线程编译,因为我是core duo
make -j2 modules

make modules_install
make install


sudo mkinitramfs -o /boot/initrd.img-2.6.28 /lib/modules/2.6.28 #添加引导信息

因为我用wubi,所以要编辑C:的menu.lst,而不是/boot/grub/menu.lst (我是把/boot/grub/menu.lst拷贝到C:做为wubi的menu.lst)
添加
## ## End Default Options ##
title Ubuntu 8.10, kernel 2.6.28
root (hd0,6)/ubuntu/disks
kernel /boot/vmlinuz-2.6.28 root=/dev/sda7 loop=/ubuntu/disks/root.disk ro ROOTFLAGS=sync quiet splash
initrd /boot/initrd.img-2.6.28

title Ubuntu 8.10, kernel 2.6.28 (recovery mode)
root (hd0,6)/ubuntu/disks
kernel /boot/vmlinuz-2.6.28 root=/dev/sda7 loop=/ubuntu/disks/root.disk ro ROOTFLAGS=sync single
initrd /boot/initrd.img-2.6.28

重启

参考文献:
http://blog.chinaunix.net/u/28781/showart_1728364.html

没有评论: