麒麟桌面系统【ISO定制】
麒麟桌面系统ISO定制
一、解压旧系统ISO
# 1、新建oldiso目录
mkdir oldiso
# 切换root用户,减少后面输入sudo的次数。
sudo su
# 2、挂载oldiso目录
mount xxxx.iso oldiso
# 3、挂载的目录是只读的,所以拷贝一份到newiso目录下
cp -rvf oldiso newiso
# 4、取消ISO的挂载
umount oldiso
二、解压filesystem.squashfs文件,并切换根
# 1、进casper目录
cd ./newiso/casper
# 2、解压filesystem.squashfs文件,解压出来的目目录为squashfs-root
unsquashfs filesystem.squashfs
# 3、将需要定制安装的软件包复制到squashfs-root目录下
cp /home/peturn/test.deb ./squashfs-root/
# 4、切换进新的系统,并挂载相关目录
chroot squashfs-root
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount -t devpts devpts /dev/pts
三、系统内容定制
# 1、安装需要的软件test.deb
dpkg -i test.deb
# 2、如果有需要停止或启动的服务
systemctl enable xxx.service
systemctl disable xxxx.service
# 3、定制完成后清理系统
rm test.deb
apt-get clean
apt-get autoremove
rm -rf /tmp/*
# 4、退回到原来的系统
umount /proc
umount /sys
umount /dev/pts
exit
# 5、V10SP1-2203也可以将deb文件放到/opt/third/目录下,M900的系统放到/third-party/common/目录下,
# 系统安装完成后会安装这个目录下的deb软件,脚本写在了.kylin-post-actions文件里,
# 相关服务的开启和关闭也可以写在这个脚本里,也可以不需要重新定制filesystem.squashfs,
# 区别就是写在这个脚本里的是安装完成系统之后的配置,通过后置配置达到自己定制的目的。
四、压制新系统
# 1、删除原来的操作系统压缩文件和大小记录文件
rm filesystem.squashfs
rm filesystem.size
# 2、更新镜像里的软件包列表
chroot squashfs-root dpkg-query -W --showformat='${Package}${Version}\n' >filesystem.manifest
# 3、重新生成大小文件并压缩新的根文件系统
printf $(du -sx --block-size 1 squashfs-root |cut -f1) > filesystem.size
mksquashfs squashfs-root filesystem.squashfs
# 4、新的根文件压制后,删除目录
rm -r squashfs-root
五、压制新ISO
在iso目录下
# 1、删除旧的md5sum算号文件和SHA256SUMS算号文件,并重新生成。
rm md5sum.txt
rm SHA256SUMS
find -type f -print0 | xargs -0 md5sum|grep -v isolinux/boot.cat |tee md5sum.txt
find -type f -print0 | xargs -0 sha256sum|grep -v isolinux/boot.cat |tee SHA256SUMS
# 2、制作iso
【arm】
mkisofs -r -T -J -joliet-long -allow-limited-size -m lost+found -m rr_moved -quiet -c boot.catalog -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot -V 'Kylin-Desktop-V10-SP1' -sysid 'LINUX' -o '/home/kylin/Kylin-Desktop-v10sp1-xxx-arm64.iso' ./
---
【x86】
mkisofs -J -r -T -joliet-long -no-emul-boot -boot-load-size 4 -boot-info-table -r -b isolinux/isolinux.bin -c isolinux/boot.cat -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot -V "Kylin-Desktop-V10-SP1" -o /home/kylin/Kylin-Desktop-v10sp1-xxx-amd64.iso ./