赞
踩
CentOS镜像中替换安装镜像的小系统的内核方法
一、需要修改的文件
1、isolinux目录下的vmlinuz和initrd.img文件
修改方法:
(1)vmlinuz:使用相应版本的vmlinuz直接进行替换,注意权限问题及所属用户为root即可;
(2)initrd.img:需要升级其中/lib/modules目录下的驱动文件。修改方式是先解压出来,替换掉里面的/lib/modules/下的ko。
制作initrd.img
(1)原始系统中的文件格式为xz
(2)解压initrd.img
xz -dc initrd.img | cpio -id
(3)替换文件后进行压缩(目前压缩为xz格式无法完成解析,暂时压缩为gz格式)
find . | cpio -o -H newc | gzip > …/initrd.gz
Mv initrd.gz initrd.img
2、images/pxeboot目录下的vmlinuz和initrd.img文件
修改方法与1相同
3、LiveOS目录中的squashfs.img替换
修改方法:使用unsquashfs命令解压,解压后在LiveOS中有rootfs.img文件,将rootfs.img文件mount到其他目录替换掉vmlinuz和lib/modules下的ko,在制作新的squashfs.img文件;
(1)解压镜像文件
unsquashfs squashfs.img
(2)挂载解压后生成的rootfs.img
mount -o loop,rw squashfs-root/LiveOS/rootfs.img ./rootfs
(3)修改rootfs目录中的文件,替换升级;
(4)umount rootfs即可,这样rootfs.img即可完成修改
(5)修改rootfs完成后即可重新生成squashfs.img
mksquashfs squashfs-root/ squashfs.img
二、重新打包生成镜像
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。