]> code.delx.au - refind/blobdiff - mkcdimage
Work around problem with (bogus, I think) "invalid parameter" errors
[refind] / mkcdimage
index ff58829ce47788bc7fa1cb760c5f5cb15887e13a..3c8b58f792c245201ab98f2f320e7611999c3fc9 100755 (executable)
--- a/mkcdimage
+++ b/mkcdimage
@@ -39,6 +39,14 @@ ln ../../refind/refind.conf-sample ./refind.conf
 mkdir icons
 cd icons
 ln ../../../refind/icons/* ./
+cd ../
+mkdir drivers_x64
+cd drivers_x64
+ln ../../../refind/drivers_x64/* ./
+cd ..
+mkdir drivers_ia32
+cd drivers_ia32
+ln ../../../refind/drivers_ia32/* ./
 cd ../../..
 
 # Get the size of the binaries to go in the El Torito image in kB
@@ -53,11 +61,11 @@ mv EFI/boot/shell*.efi ./
 # Prepare a FAT filesystem image and populate it with the
 # EFI boot files....
 dd if=/dev/zero of=refind-bin-$Version.img bs=1024 count=$ToritoSize
-mkdosfs -n "rEFInd.ET" refind-bin-$Version.img
+mkdosfs -n "ElTorito" refind-bin-$Version.img
 mcopy -irefind-bin-$Version.img -s EFI shell*.efi ::/
 
 # Make the ISO-9660 image file....
-mkisofs -A "Bootable rEFInd" -V "rEFInd $Version" -volset "rEFInd $Version" \
+mkisofs -A "Bootable rEFInd" -V "rEFInd_$Version" -volset "rEFInd_$Version" \
     -J -r -v -x ./lost+found -o ../../refind-cd-$Version.iso \
     -eltorito-alt-boot -efi-boot refind-bin-$Version.img \
     -no-emul-boot ./
@@ -74,25 +82,32 @@ mkisofs -A "Bootable rEFInd" -V "rEFInd $Version" -volset "rEFInd $Version" \
 # Create a bootable USB flash drive image, using the FAT filesystem
 # created above and a stored partition table image (plus some empty
 # sectors)....
-rm ../../refind-flashdrive-$Version.*
-cat $StartDir/flashparts.img refind-bin-$Version.img > refind-flashdrive-$Version.img
-cp $StartDir/README-flashdrive.txt ./
+#
+# Note: Seems to work on only a few systems, so I'm not distributing
+# the resulting images yet....
+#
+rm -f ../../refind-flashdrive-$Version.*
+let FatSize=`du -s refind-bin-$Version.img | cut -f 1`
+let FatSize=($FatSize)+2048
+dd if=/dev/zero of=../../refind-flashdrive-$Version.img bs=1024 count=$FatSize
+sgdisk -n 1:2048:0 -t 1:EF00 -g ../../refind-flashdrive-$Version.img
+if [[ $? != 0 ]] ; then
+   echo "sgdisk failed! Exiting!"
+   exit 1
+fi
+dd if=refind-bin-$Version.img of=../../refind-flashdrive-$Version.img bs=512 seek=2048 conv=notrunc
+
 cd ..
-mv refind-bin-$Version refind-flashdrive-$Version
-zip -9r ../refind-flashdrive-$Version.zip \
-    refind-flashdrive-$Version/refind-flashdrive-$Version.img \
-    refind-flashdrive-$Version/docs refind-flashdrive-$Version/LICENSE.txt \
-    refind-flashdrive-$Version/COPYING.txt \
-    refind-flashdrive-$Version/CREDITS.txt \
-    refind-flashdrive-$Version/README.txt \
-    refind-flashdrive-$Version/SHELLS.txt \
-    refind-flashdrive-$Version/README-flashdrive.txt
-mv refind-flashdrive-$Version/refind-flashdrive-$Version.img ../
+mkdir refind-flashdrive-$Version
+ln ../refind-flashdrive-$Version.img refind-flashdrive-$Version
+cp $StartDir/README-flashdrive.txt $StartDir/COPYING.txt $StartDir/NEWS.txt \
+   $StartDir/CREDITS.txt $StartDir/LICENSE.txt $StartDir/SHELLS.txt refind-flashdrive-$Version
+zip -9r ../refind-flashdrive-$Version.zip refind-flashdrive-$Version
 
 cd ../
 
 # Zip up the optical disc image....
-rm refind-cd-$Version.zip
+rm -f refind-cd-$Version.zip
 zip -9 refind-cd-$Version.zip refind-cd-$Version.iso
 
-#rm -r temp/
+rm -r temp/