linux定制镜像系统

1.#以root 身份操作,减少后面使用sudo时输入密码的次数

sudo su


2 #在当前目录下创建iso文件夹,并进入

mkdir iso

cd  iso


3 #复制镜像文件到iso目录下,并在/iso下创建oldiso newiso squashfs三个文件夹

mkdir oldiso

mkdir newiso

mkdir squashfs


4 #挂载镜像

mount -o loop ubantu-22.04.iso  oldiso  //原始镜像完整名称


5 #拷贝所有文件到newiso

cp -rvf oldiso/* newiso/


6 #拷贝核心文件

cp oldiso/casper/filesystem.squashfs squashfs/


7 #进入镜像核心文件所在的临时目录

cd squashfs


8 #解开镜像核心文件,解开后有一个同级目录下的 squashfs-root/目录

unsquashfs filesystem.squashfs


9 #拷贝补丁文件到解开的镜像的顶层目录

cp *.deb  squashfs-root/   //*.deb是驱动包所在路径


10 #切换到新解开的工作环境

chroot squashfs-root

mount -t proc none /proc

mount -t sysfs none /sys

mount -t devpts none /dev/pts


11 #安装补丁,逐个安装

dpkg -i 补丁包


12 #安装完成后,删除软件包

rm -rf  *deb


13 #退回到原宿主系统

umount /proc

umount /sys

umount /dev/pts


14 #删除原有的squashfs 文件

rm -rf ../newiso/casper/filesystem.squashfs


15 #生成新的 suqashfs 文件

mksquashfs squashfs-root ../newiso/casper/filesystem.squashfs -comp xz


16 #计算文件系统大小

printf $(du -sx --block-size=1 squashfs-root | cut -f1) > ../newiso/casper/filesystem.size


17 #切换到 newiso 目录

cd ../newiso

#删除md5 计算结果

rm  -f md5sum.txt

find -type f -print0 | xargs -0 md5sum | tee md5sum.txt


18 #返回到iso目录下,重新制作 iso 镜像

cd ..

X86:

mkisofs -J -r -V "ubantu-22.04" -cache-inodes -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot -o /opt/Test.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' -sysid 'LINUX' -o ubantu-arm64.iso newiso/


#最后一个参数是新镜像数据所在目录 -o 指向的路径是输出ISO 镜像的路径和名称,-V 的参数可以自定义,建议与下面相同
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容