编程指南 编译Linux内核的操作流程(4)

[root@localhost linux-2.6.12.3]# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.12.3

[root@localhost linux-2.6.12.3]# cp System.map /boot/System.map-2.6.12.3

[root@localhost linux-2.6.12.3]# cd /boot

[root@localhost linux-2.6.12.3]# /sbin/mkinitrd initrd-2.6.12.3.img 2.6.12.3

我们把 编译出来的bzImage,拷入到/boot目录,拷贝成 vmlinuz-2.6.12.3;

并且用 mkinitrd 来创建imitrd-xxx.img 文件,其中xxx为内核的版本号,是通过 查看 /lib/modules来版本来对应的,我们是编译出来的是 2.6.12.3,所以就运行上面的命令创建,创建的出来的是initrd-2.6.12.3.img ;不创建这个文件,有时是启动不起来的,比如提示VFS错误等;

2、查看系统引导管理器grub或者lilo的配置文件。

如果想要让新内核能让系统引导管理器grub和lilo的菜单上能看得到,必须改 grub.conf或者lilo.conf,但我们必须保留老内核的在grub和lilo的启动菜单,毕竟我们编内核不能百分百的成功,对不对??安全第一吧;

我只说grub的,我没有lilo,也不会用。所以咱们还是GRUB吧,FC 4 系统引导管理器是 GRUB,所以我们谈谈GRUB的设置;

查看 /etc/grub.conf;

比如我的grub.conf的内容是这样的;

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You do not have a /boot partition. This means that

# all kernel and initrd paths are relative to /, eg.

# root (hd0,7)

# kernel /boot/vmlinuz-version ro root=/dev/hda8

# initrd /boot/initrd-version.img

#boot=/dev/hda

default=0

timeout=5

#splashimage=(hd0,7)/boot/grub/splash.xpm.gz

#hiddenmenu

title Fedora Core (2.6.11-1.1369_FC4)

root (hd0,7)

kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ rhgb quiet

initrd /boot/initrd-2.6.11-1.1369_FC4.img

title WinXP

rootnoverify (hd0,0)

chainloader +1

我们要把老内核的启动保留下来,以防不测,我们只加入新的内核的启动;所以我加上这样一段;

title Fedora Core (2.6.12.3)

root (hd0,7)

kernel /boot/vmlinuz-2.6.12.3 ro root=LABEL=/ rhgb quiet

initrd /boot/initrd-2.6.12.3.img

咱们再来看一下改过后的配置文件;

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You do not have a /boot partition. This means that

# all kernel and initrd paths are relative to /, eg.

# root (hd0,7)

# kernel /boot/vmlinuz-version ro root=/dev/hda8

# initrd /boot/initrd-version.img

#boot=/dev/hda

default=0

timeout=5

#splashimage=(hd0,7)/boot/grub/splash.xpm.gz

#hiddenmenu

title Fedora Core (2.6.12.3)

root (hd0,7)

kernel /boot/vmlinuz-2.6.12.3 ro root=LABEL=/ rhgb quiet

initrd /boot/initrd-2.6.12.3.img

title Fedora Core (2.6.11-1.1369_FC4)

root (hd0,7)

kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ rhgb quiet

initrd /boot/initrd-2.6.11-1.1369_FC4.img

title WinXP

rootnoverify (hd0,0)

chainloader +1

然后重新启动机器,如果出现VFS错误,可能就是我写重要的那个地方出了错误;

注意:如果重新启用内核后,原来安装的显示卡驱动,比如 NVIDIA和ATI的驱动还要重新安装;

后记:

为写声卡及其其它硬件设备的安装教程做准备,重写此文档;并更正一些错误。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzwfpy.html