Linux内核编译以及perfctr模块安装(4)

(e)实现内核多重启动

cp /usr/src/linux-2.6.19/arch/x86_64/boot/bzImage \  (\表示一条命令太长了,换行)
> /boot/vmlinux-2.6.19-zkl-perfctr

cp  /usr/src/linux-2.6.19/System.map \
> /boot/System.map-2.6.19-zkl-perfctr

手动生成initrd-2.6.19-zkl-perfctr.img文件到/boot目录下:
cd /usr/src/linux-2.6.19
[root@gc04vm13 linux-2.6.19]# mkinitrd /boot/initrd-2.6.19zkl-perfctr.img 2.6.19-zkl-perfctr (注意内核是2.6.19-zkl-perfctr,这是因为前面修改了Makefile中的版本扩展号,该命令将在/boot目录下生成initrd-2.6.19zkl-perfctr.img文件)

编辑系统内核启动文件
vim /boot/grub/menu.lst

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/sda
default=0  #对应到第一个title
timeout=10 #系统内核选择时的延迟
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-164.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.18-164.el5.img
##加上以下启动新内核的语句
title CentOS (2.6.19-zkl-perfctr)
        root (hd0,0)
        kernel /vmlinuz-2.6.19-zkl-perfctr ro root=/dev/VolGroup00/LogVol00  # 这是表示内核文件是/boot/vmlinux-2.6.19-zkl-perfctr
        initrd /initrd-2.6.19-zkl-perfctr.img # 这是前面生成的文件/boot/initrd-2.6.19zkl-perfctr.img

=================================================================================

    (10)重新启动系统,
    在启动菜单中将会出现两个内核选项,使用上下按钮选择新内核启动
    或者
    将新内核设置为默认启动内核,即修改上面文件中default=1

    (11)系统重启后,可以使用命令查看perfctr模块是否安装上,
    # modprobe perfctr 加载模块
    lsmod 显示模块
    rmmod perfctr移除模块

    若perfctr模块安装成功后,你将看到perfctr模块,并且你可以在 /lib/modules/2.6.19-zkl-perfctr/kernel/drivers/perfctr中看到perfctr模块perfctr.ko

    (12)编译安装perfctr,

#cd /opt/papi-3.6.0/src/perfctr-2.6.x
#make
#mknod /dev/perfctr c 10 108  <可能提示已存在文件,删除再建即可>
#chmod 644 /dev/perfctr
#make PREFIX=/usr/local install

      至此,安装全部完成,perfctr相关文件安装再/usr/local下的bin、include、lib下

   

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

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