1. 制作镜像
将封装镜像挂载到系统中目录下(./mnt)
X86:
mount –o loop ubuntu-20.04.1-live-server-amd64.iso mnt
ARM:
mount –o loop ubuntu-20.04.1-live-server-arm64.iso mnt
展开其中的其中的filesystem.squashfs镜像文件系统。
mkdir extract-cd
rsync --exclude=/mnt/casper/filesystem.squashfs -a mnt/ extract-cd
挂载squashfs文件系统,并将文件系统所在的目录名称修改为edit
unsquashfs mnt/casper/filesystem.squashfs
mv squashfs-root edit
此时镜像的文件系统就在edit目录下,即可对其进行自定义操作
重新生成squashfs文件系统
mksquashfs edit extract-cd/casper/filesystem.squashfs
删除旧的MD5校验码,并重新生成新的MD5校验码
cd extract-cd
rm md5sum.txt
find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee md5sum.txt
重新封装新的镜像(此命令在extract-cd目录下执行)
X86:
mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-new-custom.iso .
ARM:
mkisofs -r -checksum_algorithm_iso md5,sha1 -V 'Ubuntu-Server 20.04.3 LTS arm64' -o ../../ubuntu-20.04.3-server-$DATE-arm64.iso -J -joliet-long -cache-inodes -e boot/grub/efi.img -no-emul-boot -partition_cyl_align ./