2022/5/2
apt install -y syslinux syslinux-efi grub-efi-amd64
mkdir /tmp/usb-efi /tmp/usb-live /tmp/usb-persistence /tmp/live-iso mount -oro debian-live-11.3.0-amd64-xfce.iso /tmp/live-iso #/dev/sdbはfdisk -lなどで確認 umount /dev/sdb* time parted /dev/sdb --script mktable gpt time parted /dev/sdb --script mkpart EFI fat16 1MiB 10MiB time parted /dev/sdb --script mkpart live fat16 10MiB 4096MiB time parted /dev/sdb --script mkpart persistence ext4 4096MiB 100% time parted /dev/sdb --script set 1 msftdata on time parted /dev/sdb --script set 2 legacy_boot on time parted /dev/sdb --script set 2 msftdata on
#パーティションをフォーマットしたのちマウント time (mkfs.vfat -n EFI /dev/sdb1; mount /dev/sdb1 /tmp/usb-efi) time (mkfs.ext4 -F -L persistence /dev/sdb3; mount /dev/sdb3 /tmp/usb-persistence; echo "/ union" > /tmp/usb-persistence/persistence.conf) time (mkfs.vfat -n LIVE /dev/sdb2; mount /dev/sdb2 /tmp/usb-live; cp -ar /tmp/live-iso/* /tmp/usb-live) time sync
time grub-install --no-uefi-secure-boot --removable --target=x86_64-efi --boot-directory=/tmp/usb-live/boot/ --efi-directory=/tmp/usb-efi /dev/sdb time dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/mbr/gptmbr.bin of=/dev/sdb time syslinux --install /dev/sdb2
mv /tmp/usb-live/isolinux /tmp/usb-live/syslinux mv /tmp/usb-live/syslinux/isolinux.bin /tmp/usb-live/syslinux/syslinux.bin mv /tmp/usb-live/syslinux/isolinux.cfg /tmp/usb-live/syslinux/syslinux.cfg sed --in-place 's#isolinux/splash#syslinux/splash#' /tmp/usb-live/boot/grub/grub.cfg sed --in-place '0,/boot=live/{s/\(boot=live .*\)$/\1 persistence/}' /tmp/usb-live/boot/grub/grub.cfg /tmp/usb-live/syslinux/menu.cfg sed --in-place '0,/boot=live/{s/\(boot=live .*\)$/\1 keyboard-layouts=jp locales=ja_JP.UTF-8 keyboard-model=jp106 timezone=Asia\/Tokyo/}' /tmp/usb-live/boot/grub/grub.cfg /tmp/usb-live/syslinux/menu.cfg #書き込みが完了したのちアンマウント sync;sync;sync;umount /tmp/usb-efi /tmp/usb-live /tmp/usb-persistence /tmp/live-iso rmdir /tmp/usb-efi /tmp/usb-live /tmp/usb-persistence /tmp/live-iso