#!/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