步骤一 :在iso里面的initrd.lz添加raid卡等驱动
银河麒麟桌面操作系统V10 SP1版本iso,在目录下casper有initrd.lz文件,如果手动将该initrd.lz文件解压,加上raid卡、网卡等驱动ko文件,再用pushd和find等封装回去,则封装完的iso无法启动。
修改方法:将银河麒麟桌面操作系统V10 SP1 ISO启动到liveCD模式,在此模式下去添加raid、网卡等驱动ko文件,运行depmod -a生成新的模块依赖,再修改liveCD里的/etc/initramfs-tools/modules文件,加入对应的驱动名字
运行
/usr/sbin/update-initramfs.distrib -u -v
该命令会在/boot目录重新生成/boot/initrd.img-5.4.18-110-generic文件,将该文件重命名为initrd.lz。
可通过命令来查看initrd.lz这个文件中实际由哪些文件组成
lsinitramfs casper/initrd.lz
步骤二:解压iso里面的filesystem.squashfs添加raid卡等驱动
2.1 先在银河麒麟桌面操作系统V10 SP1版本上编译RAID卡等驱动.ko文件,将.ko文件复制到/lib/modules/$(uname -r )/kernel/drivers/scsi/目录,运行sudo depmod -a
,再手动执行modprobe xxx
命令,查看编译好的驱动模块能否正常加载,modinfo xxx
,看看具体的模块信息
2.2 将ISO里面的filesystem.squashfs文件解压,进入cd squashfs-root目录,挂载相关的伪文件系统,
mount -o bind /dev dev
mount -o bind /proc proc
mount -o bind /sys sys
再chroot squashfs-root /bin/bash
,将步骤一编译好的xxx.ko文件,复制到 squashfs-root里面的/lib/modules/$(uname -r )/kernel/drivers/scsi/目录,运行sudo depmod -a
,再先手动执行modprobe xxx.ko
文件。编辑/etc/modules文件,加入xxx。表示让系统开机加载自动该内核模块。
2.3 卸载squashfs-root里面的dev proc sys文件系统,将squashfs-root重新压缩回filesystem.squashfs文件
cd squashfs-root
umount dev/
umount proc/
umount sys/
mksquashfs squashfs-root filesystem.squashfs
2.4 使用mkisofs命令重新制作iso文件
sudo mkisofs -allow-limited-size -J -r -V "Kylin-Desktop-V10-SP1" -no-emul-boot -iso-level 3 -e boot/grub/efi.img -no-emul-boot -o Test02.iso iso/
定制完的银河麒麟桌面操作系统V10SP1 2403 ARM版本下载地址:
定制内容:预装了再生龙,添加了ps3stor, sssraid卡,rnp网卡等
链接: https://pan.baidu.com/s/1xi60ryDuj9HsRdgtK-SSiA?pwd=peg2 提取码: peg2
定制完的银河麒麟桌面操作系统V10SP1 2403 x86版本下载地址:
定制内容:添加了ps3stor, sssraid卡,rnp、aic8800d80网卡驱动
链接: https://pan.baidu.com/s/1AFxq9wpXRq2h8Kik9Usfxw?pwd=qp51 提取码: qp51
sssraid,ps3stor,rnp驱动源码
链接: https://pan.baidu.com/s/1tnlNWyiXWe4Z3Rz-GObIYg?pwd=kdxq 提取码: kdxq