linux centos 内核编译脚本

#compile.sh

SDIR=`pwd`
cd /usr/src/kernels/linux-2.6.18
make
make modules_install

echo “Compile kernel and modules done”
rm -f /boot/vmlinuz2.6.22
cp /usr/src/kernels/linux-2.6.18/arch/i386/boot/bzImage /boot/vmlinuz2.6.22

rm -f /boot/System.map-2.6.22
cp /usr/src/kernels/linux-2.6.18/System.map /boot/System.map-2.6.22
ln -sf /boot/System.map-2.6.22  /boot/System-2.6.22.map

cd /boot
rm -f /boot/initrd-2.6.22.img
mkinitrd initrd-2.6.22.img 2.6.18

echo “Install modules and bzImage done”

cd ${SDIR}

#————————end compile.sh

注意事项:2.6.22是一个虚拟的镜像名称,不要跟系统已有的内核版本名一样,可以把2.6.22替换为一个你想命名的版本号

/usr/src/kernels/linux-2.6.18为当前编译内核的路径,可以替换为你想要编译的内核

安装完后,vi /boot/grub/grub.conf,增加自己的内核启动项到启动列表,修改default字段的值可以切换缺省启动内核

例子对应的启动项:

title CentOS (2.6.18-my)
        root (hd0,0)
        kernel /vmlinuz2.6.22 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.22.img

回复

你的邮件地址不会被公开(Your email address will not be published.) Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>