[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#776317: Jessie RC1 amd64 mini image missing efi bootloader


i just realize that the xorriso run in
does not produce an isohybrid image.
Therefore one currently cannot simply omit the "isohybrid" run
in geniso_hybrid_plus_firmware_partition.

Option -isohybrid-mbr is a precondition for -isohybrid-gpt-basdat
which marks the EFI boot image in MBR and GPT.
It needs the disk path to the file  isohdpfx.bin  in the local
SYSLINUX installation (from where file isolinux.bin stems).

debian-cd for debian-7*-amd64.iso does:

  -isohybrid-mbr syslinux/usr/lib/syslinux/isohdpfx.bin

(Don't ask me where its pwd is at that moment.)


So the small improvement without GPT becomes more attractive:


Add an argument to util/geniso_hybrid_plus_firmware_partition

+   efi_fat="$2"

  and in the case [ "$(GRUB_EFI)" = y ] hand it down from
  build/config/x86.cfg :

       if [ "$(GRUB_EFI)" = y ]; then \
             xorriso -as mkisofs ... ; \
+            geniso_hybrid_plus_firmware_partition $(TEMP_MINIISO) \
                  $(TEMP_CD_TREE)/boot/grub/efi.img ; \
        else \
             xorriso -as mkisofs ... ; \
+            geniso_hybrid_plus_firmware_partition $(TEMP_MINIISO) "" ; \

-       geniso_hybrid_plus_firmware_partition $(TEMP_MINIISO)

(Why those backslashes and semicolons in config/x86.cfg, btw ?)


If "$efi_fat" is not empty, (m)copy the directories and
files from "$efi_fat" to "$firmware_volume_name" after that
one was created by mkfs.msdos.
(mtools expert wanted.)


In the fdisk run at the end of util/geniso_hybrid_plus_firmware_partition

-   # Pedantically, set partition type to 1: FAT 16
+   # Set partition type to 0xef: FAT for EFI
    echo t
    echo 2
-   echo 1
+   echo 239


Now, who wants to set up a debian-installer, make the proposed
code changes, and produce a mini.iso which i can inspect ?

Have a nice day :)


Reply to: