From: http://hi.baidu.com/flashgive/item/eaef6326b5eb73d3a417b662
archlinux中传统方法编译内核
1)下载内核以及补丁并解压:
$ wgethttp://ftp.jaist.ac.jp/pub/Linux/kernel.org/linux/kernel/v3.x/linux-3.3.tar.xz
$ wgethttp://ftp.jaist.ac.jp/pub/Linux/kernel.org/linux/kernel/v3.x/patch-3.3.7.xz
2)打补丁:
$ cd kernel_src_dir (此目录为linux-3.3.tar.xz解压后所在的目录)
$ patch -Np1 -i patc_dir/patch-3.3.7(patch_dir为补丁所在的目录)
3) 通过ABS获得.config:
$abs
$cp /var/abs/core/linux/config .config (x86)
$cp /var/abs/core/linux/config.x86_64 .config(x86_64)
4) 更改内核版本号:
$ make menuconfig
General Setup---> (-ME) Local version - append to kernel release
5)编译内核:
$ make clean
$ make
6) 安装内核:
# make modules_install #安装内核模块
# cp -v arch/x86/boot/bzImage /boot/vmlinuz-linux-me #拷贝内核到/boot
# mkinitcpio -k 3.3.7-ME -g /boot/initramfs-linux-me.img (3.3.7-1-ME为内核版本号,这里会去/lib/modules底下去找,*.img做启动盘用,mkinitcpio这里用来制作启动镜像)
7)配置GRUB的menu.lst
添加以下项:
#new kernel
titleArch Linux ME
root (hd0,0)
kernel /boot/vmlinuz-linux-me root=/dev/sda1 ro
initrd /boot/initramfs-linux-me.img
或者SYSLINUX的syslinux.cfg
添加以下项:
LABEL arch
MENU LABEL Arch Linux ME
LINUX ../vmlinuz-linux-me
APPEND root=/dev/sda1 ro
INITRD ../initramfs-linux-me.img
(注意:上述添加的内容以自己实际menu.lst或syslinux.cfg文件内容为准)