From 6422aff924d6440ec9d7a0e26936d54c11cb787a Mon Sep 17 00:00:00 2001 From: Gary Wang Date: Mon, 5 Jan 2026 11:38:22 +0800 Subject: [PATCH] i forget what this is --- mkiso.sh | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 mkiso.sh diff --git a/mkiso.sh b/mkiso.sh new file mode 100644 index 0000000..c21ed11 --- /dev/null +++ b/mkiso.sh @@ -0,0 +1,66 @@ +#!/bin/bash + +# prepare needed packages +sudo apt install debootstrap squashfs-tools syslinux isolinux xorriso + +# create base env +mkdir build +cd build +sudo debootstrap --arch=amd64 beige chroot https://community-packages.deepin.com/beige/ + +# chroot +sudo mount --bind /dev chroot/dev +sudo mount --bind /dev/pts chroot/dev/pts +sudo mount --bind /proc chroot/proc +sudo mount --bind /sys chroot/sys +sudo mount --bind /run chroot/run +sudo chroot chroot + +# prepare sourcelist +echo "deb https://community-packages.deepin.com/beige/ beige main commercial community" > /etc/apt/sources.list +echo "deb-src https://community-packages.deepin.com/beige/ beige main commercial community" >> /etc/apt/sources.list + +# install packages +apt update +apt upgrade -y +apt install deepin-desktop-environment-core +apt install linux-image-deepin-hwe-amd64 + +# + +# create user for *live* system +useradd -m -s /bin/bash live +echo "live:live" | chpasswd + +# since we don't have an installer... +systemctl enable lightdm.service + +# exit chroot +exit +sudo umount chroot/dev/pts +sudo umount chroot/dev +sudo umount chroot/proc +sudo umount chroot/sys +sudo umount chroot/run + +# create squashfs file system +mkdir live +sudo mksquashfs chroot/ live/filesystem.squashfs -comp xz -e boot + +# bootable (and isolinux) +cp chroot/boot/vmlinuz-* live/vmlinuz +cp chroot/boot/initrd.img-* live/initrd +mkdir isolinux +cp /usr/lib/ISOLINUX/isolinux.bin isolinux +cp /usr/lib/syslinux/modules/bios/ldlinux.c32 isolinux +cp ../isolinux.cfg isolinux/isolinux.cfg + +# create iso +xorriso -as mkisofs -o ../live.iso -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin \ + -c isolinux/boot.cat -b isolinux/isolinux.bin -no-emul-boot \ + -exclude chroot \ + -boot-load-size 4 -boot-info-table \ + ./ + +# try iso +qemu-system-x86_64 \ No newline at end of file