Set up for testing lua on uefi
[rrq/tiniest.git] / packiso.sh
index aed2a7e76640cb1caf56bc975b4b4c6b76d806d8..b6558f2793626ac9a8cfeb3e19762b75608f5b56 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# Run xorriso to make a bootable ISO of bootimage.raw; a hybrid, nulti
+# Run xorriso to make a bootable ISO of bootimage.raw; a hybrid, multi
 # mode bootable ISO.
 
 set -e
@@ -9,11 +9,10 @@ ISOTREE=isotree
 ISO=tiniest.iso
 P1=part1.raw # $ISOTREE/part1.raw
 
-echo "# Prepare ISO content tree"
-
+echo "# Prepare ISO content tree unless it's already set up"
 if [ ! -d $ISOTREE ] ; then
     mkdir $ISOTREE
-    #touch $ISOTREE/catalog # Boot catalog
+
     # Determine start and size of first parition
     X=( $(sfdisk -l -ostart,sectors bootimage.raw | tail -n 2) )
     dd if=bootimage.raw of=$P1 skip=${X[0]} count=${X[1]}
@@ -21,22 +20,21 @@ if [ ! -d $ISOTREE ] ; then
     echo "# Set up the isolinux boot loader in $ISOTREE"
     mkdir -p $ISOTREE/boot/isolinux/bios
     cp kernel/usr/lib/syslinux/modules/bios/* $ISOTREE/boot/isolinux/bios
-    mv $ISOTREE/boot/isolinux/bios/ldlinux.c32 $ISOTREE/boot/isolinux
     cp kernel/usr/lib/ISOLINUX/isolinux.bin $ISOTREE/boot/isolinux
-    cp syslinux-iso.cfg $ISOTREE/boot/isolinux/syslinux.cfg
-    mcopy -i $P1 ::/splash.png ::/vmlinuz $ISOTREE/
 
-    #mkdir -p $ISOTREE/EFI/BOOT
-    #cp kernel/usr/lib/SYSLINUX.EFI/efi64/syslinux.efi \
-    #   $ISOTREE/EFI/BOOT/bootia64.efi
-    #cp $ISOTREE/boot/isolinux/*.* $ISOTREE/EFI/boot/
+    ## ldlinux.c32 must be sibling to isolinux.bin
+    mv $ISOTREE/boot/isolinux/bios/ldlinux.c32 $ISOTREE/boot/isolinux
+
+    ## use isolinux.cfg for isolinux boot
+    cp syslinux-iso.cfg $ISOTREE/boot/isolinux/isolinux.cfg
+
+    ## put splash, vmlinux and initrd as siblings
+    mcopy -i $P1 ::/splash.png ::/vmlinuz ::/initrd.gz $ISOTREE/boot/isolinux
     
-    #mcopy -i $P1 ::/ldlinux.sys ::/ldlinux.c32 $ISOTREE/
-    #mcopy -i $P1 ::/initrd.gz $ISOTREE/
-    #cp devuan/initrd.gz $ISOTREE/
 fi
 
-[ ! -r $ISO ] || rm $ISO
+[ -r $ISO ] && rm $ISO
+
 PREPID="'$(id -un), $(getent passwd $(id -un)|awk -F: '{print $5}')'"
 
 XORRISO=(
@@ -62,17 +60,19 @@ XORRISO=(
 
     # Mastering a disk legacy boot reusing the cdrom legacy boot
     -boot_image isolinux dir=/boot/isolinux
-    -boot_image any next
-
+    #-boot_image  any iso_mbr_part_type=0x00
+    -boot_image isolinux  partition_entry=gpt_basdat
+    
     # Mastering a disk UEFI boot using the separate boot partition $P1
     # Bootloader = /EFI/BOOT/bootx64.efi
+    -boot_image any next
     -append_partition 2 0xef ${P1}
     -boot_image any 
     efi_path=--interval:appended_partition_2:all::/EFI/BOOT/bootx64.efi
 
-    # cdrom UEFI boot is missing
+    # make part#2 bootable
 )
 
 xorriso "${XORRISO[@]}"
 #sfdisk -f --part-attrs tiniest.iso 2 LegacyBIOSBootable
-sfdisk -A tiniest.iso 2
+#sfdisk -A tiniest.iso 2