diff options
author | Guilhem Moulin <guilhem@fripost.org> | 2014-01-03 01:45:12 +0100 |
---|---|---|
committer | Guilhem Moulin <guilhem@fripost.org> | 2015-06-07 04:27:52 +0200 |
commit | 0d41e5101f2ada712045765f54044deb820f8085 (patch) | |
tree | 62bc80940a846422d4dd1f7a79d3af4ccc3a30b5 /preseed.sh | |
parent | 34b5dc134ed6ba8dc6f922915c894fb0a176f0b5 (diff) |
UEFI support.
Tested with the IntelĀ® Desktop Board DH87RL, BIOS [RLH8710H.86A] version
0323.
Diffstat (limited to 'preseed.sh')
-rwxr-xr-x | preseed.sh | 31 |
1 files changed, 20 insertions, 11 deletions
@@ -17,7 +17,7 @@ test -r "$iso" || exit 1 shift; shift pwd=$(pwd) -for prog in fuseiso fusermount rsync md5sum genisoimage find; do +for prog in fuseiso fusermount rsync md5sum xorriso find; do if ! which "$prog" >/dev/null; then echo "Error: Missing $prog" >&2 exit 1 @@ -36,10 +36,10 @@ rmdir "$mountdir" cp preseed.cfg "$isoeditdir/" md5sum ./preseed.cfg >> "$isoeditdir/md5sum.txt" -isolinux=isolinux/adtxt.cfg -sed -ri "s@^\s+append\s(.*\s)?auto=true\b@& file=/cdrom/preseed.cfg @" \ - "$isoeditdir/$isolinux" -# ^ no need to update the checksum, $isolinux is not in './md5sum.txt'. +cfg="$isoeditdir/isolinux/*.cfg $isoeditdir/isolinux/*/*.cfg" +[ -d $isoeditdir/boot -a -d $isoeditdir/boot/grub ] && cfg="$cfg $isoeditdir/boot/grub/grub.cfg" +sed -ri "s@auto=true\s+priority=critical\b@& file=/cdrom/preseed.cfg @" $cfg +# ^ no need to update isolinux' checksum, as it's not in './md5sum.txt'. mkdir "$isoeditdir/include" rsync -aL ./include/ "$isoeditdir/include"/ @@ -76,7 +76,8 @@ gzip -fk ./"$packages" md5sums=$(mktemp) while read sum file; do if [ "$file" = "./${packages}" -o \ - "$file" = "./${packages}.gz" ]; then + "$file" = "./${packages}.gz" -o \ + "$file" = "./boot/grub/grub.cfg" ]; then md5sum "$file" else echo "$sum $file" @@ -84,10 +85,18 @@ while read sum file; do done < ./md5sum.txt > "$md5sums" mv "$md5sums" "$isoeditdir/md5sum.txt" -genisoimage -o "$newiso" -quiet -r -J \ - -no-emul-boot -boot-load-size 4 \ - -boot-info-table \ - -b isolinux/isolinux.bin \ - -c isolinux/boot.cat \ +if [ -f ./boot/grub/efi.img ]; then + efi_opts="--efi-boot boot/grub/efi.img -append_partition 2 0x01 ./boot/grub/efi.img" +else + efi_opts= +fi +xorriso -as mkisofs -r \ + -checksum_algorithm_iso all \ + -isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin \ + -b isolinux/isolinux.bin -c isolinux/boot.cat \ + -partition_offset 16 \ + -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot $efi_opts \ + -o "$newiso" \ ./ + rm -rf "$isoeditdir" |