3 # Run xorriso to make a bootable ISO of bootimage.raw; a hybrid, nulti
12 echo "# Prepare ISO content tree"
14 if [ ! -d $ISOTREE ] ; then
16 touch $ISOTREE/catalog # Boot catalog
17 # Determine start and size of first parition
18 X=( $(sfdisk -l -ostart,sectors bootimage.raw | tail -n 2) )
19 dd if=bootimage.raw of=$P1 skip=${X[0]} count=${X[1]}
20 echo "# Add isolinux boot loader"
21 mcopy -i $P1 kernel/usr/lib/ISOLINUX/isolinux.bin ::/
22 mcopy -i $P1 kernel/usr/lib/ISOLINUX/isohdppx.bin ::/
25 [ ! -r $ISO ] || rm $ISO
26 PREPID="'$(id -un), $(getent passwd $(id -un)|awk -F: '{print $5}')'"
32 -rockridge on -joliet on
34 -volset_id "$(date +"Tiniest %Y-%m-%d %H:%M:%S")"
35 -publisher "Ralph (rrq) Ronnquist"
36 -application_id "Hybrid Multi Mode Disk Image"
37 -system_id "Tiniest Linux HMMDI"
38 #-copyright_file copyright.txt
39 #-abstract_file abstract.txt
40 #-biblio_file biblio.txt
41 -preparer_id "$PREPID"
42 #-application_use path
43 #-out_charset "UTF8" ??
48 -boot_image any cat_path=/catalog
49 -append_partition 2 0xef ${P1}
51 efi_path=--interval:appended_partition_2:all::/EFI/BOOT/bootx64.efi
52 #-boot_image isolinux system_area=kernel/usr/lib/ISOLINUX/isohdppx.bin
53 -boot_image and part_like_isohybrid=on
55 # bin_path=--interval:appended_partition_2:all::/isolinux.bin
58 XORRISO=( "${XORRISO[@]}" "${BOOT1[@]}" )
59 #for A in "${XORRISO[@]}" ; do echo "$A" ; done
60 xorriso "${XORRISO[@]}"