#!/bin/sh outdev=test-efi.iso indev=debian-live-8.4.0-amd64-standard.iso volid=SamizdatLive gpg_iso_path=gnupghome gnupghome=gnupghome secrets=secrets if [ $# = 0 ]; then set -- debian-live-8.4.0-amd64-standard.btrfs layer.btrfs fi for fs; do [ -f "$fs" ] || exit 1 shift set -- "$@" "rootfs/${fs##*/}=$fs" done die() { printf '%s\n' "$*"; exit 1; } make_gnupghome() { [ -d "$gnupghome" ] && return local reset=$- set -e [ ! -d "$gnupghome".tmp ] || die "Error: refusing to overwrite $gnupghome.tmp" [ ! -d "$secrets".tmp ] || die "Error: refusing to overwrite $secrets.tmp" mkdir -p "$gnupghome".tmp "$secrets".tmp local PATH="$HOME"/src/samizdat/src:"$PATH" NO_USE_RAMFS=y NEW_GNUPGHOME="$gnupghome".tmp SECRETS_DIRECTORY="$secrets".tmp ~/src/samizdat/src/samizdat-make-key --adam mv "$secrets".tmp "$secrets" mv "$gnupghome".tmp "$gnupghome" set -$reset } make_gnupghome set -ex # http://www.syslinux.org/wiki/index.php?title=Isohybrid # xorriso -as mkisofs \ # -o output.iso \ # -isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin \ # -c isolinux/boot.cat \ # -b isolinux/isolinux.bin \ # -no-emul-boot -boot-load-size 4 -boot-info-table \ # -eltorito-alt-boot \ # -e isolinux/efiboot.img \ # -no-emul-boot \ # -isohybrid-gpt-basdat \ # CD_root # http://ftp.nluug.nl/os/Linux/distr/slackware/slackware64-current/isolinux/ # http://ftp.nluug.nl/os/Linux/distr/slackware/slackware64-current/isolinux/efiboot.img xorriso \ -drive_class clear_list all \ -outdev "$outdev"~ \ -report_about mishap \ -return_with sorry 0 \ -volid "$volid" \ -pathspecs on \ \ \ -add "${gpg_iso_path}=${gnupghome}" -- \ -add linux=isolinux/linux -- \ \ \ -as mkisofs -graft-points \ -b boot/grub/i386-pc/eltorito.img \ -no-emul-boot -boot-info-table \ --embedded-boot /home/d/src/grb/rescue/embedded.img \ --protective-msdos-label \ boot=/home/d/src/grb/rescue/iso/boot # -add isolinux -- \ # -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin \ # -isohybrid-gpt-basdat # -add boot/eltorito.img=/home/d/src/grb/rescue/iso/boot/grub/i386-pc/eltorito.img -- \ mv -f "$outdev"~ "$outdev"