fix for booting isolinux config via GRUB
[fsf-member-card-builder.git] / live-usb-loader.sh
index e1a0b5fba3a5489d611cac8335ece4f0c8666685..d4cb7a48fa18b2de36615f7c0e324a8a50b95052 100755 (executable)
@@ -56,6 +56,10 @@ cp -vr $ISOTMP/* $ISOTMP/.disk $DEVTMP || true
 cp -vr $DEVTMP/isolinux $DEVTMP/syslinux
 mv $DEVTMP/syslinux/isolinux.cfg $DEVTMP/syslinux/syslinux.cfg
 
+# apparently running syslinux command when /syslinux/ and /isolinux/ both exist
+# leads to GRUB not detecting the isolinux directory.
+mv $DEVTMP/isolinux $DEVTMP/isolinux.bak
+
 # Create persistency file
 # dd if=/dev/zero of=$DEVTMP/casper-rw bs=1M count=$PERSISTENCESIZE oflag=sync status=progress
 # mkfs.ext4 -L casper-rw -F $DEVTMP/casper-rw
@@ -64,14 +68,18 @@ mv $DEVTMP/syslinux/isolinux.cfg $DEVTMP/syslinux/syslinux.cfg
 umount $DEVTMP
 umount $ISOTMP
 
-rmdir $DEVTMP
-rmdir $ISOTMP
-
 # Set up bootloader, requires syslinux. version 6.04 has been tested.
 syslinux --directory /syslinux/ --install ${DEV}1
-sudo dd if=/usr/lib/SYSLINUX/mbr.bin of=/dev/sdb
+sudo dd if=/usr/lib/SYSLINUX/mbr.bin of=${DEV}
 parted $DEV set 1 boot on
 
+mount ${DEV}1 $DEVTMP
+mv $DEVTMP/isolinux.bak $DEVTMP/isolinux
+umount $DEVTMP
+
+rmdir $DEVTMP
+rmdir $ISOTMP
+
 #eject $DEV
 sync