i forget what this is
This commit is contained in:
66
mkiso.sh
Normal file
66
mkiso.sh
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user