Menu

#1 EFI ISO support

1.0
closed
None
2016-01-19
2016-01-07
No

To enable 32-bit and 64-bit EFI support to iso_img, then deprecate the efi_img.

Discussion

  • Chih-Wei Huang

    Chih-Wei Huang - 2016-01-07

    git://git.code.sf.net/p/android-x86-carputer/bootable_newinstaller

    Before commit 820bf25, 64-bit EFI works (tested by dd dump) but 32-bit EFI doesn't.
    However, commit 820bf25 seems broke both 32-bit and 64-bit EFI.

     
  • Luke McIntyre

    Luke McIntyre - 2016-01-07
    • status: open --> accepted
     
  • Luke McIntyre

    Luke McIntyre - 2016-01-07

    Found file structure in efi.img was wrong. Fixed in commit 40f240

     

    Last edit: Luke McIntyre 2016-01-07
  • Chih-Wei Huang

    Chih-Wei Huang - 2016-01-07

    Thank you for the update. I've tested.
    The 64-bit EFI works as expected.
    However, the 32-bit EFI doesn't.
    It just boots to grub cmdline and can't continue.
    Seems missed the grub.cfg?

     
  • Luke McIntyre

    Luke McIntyre - 2016-01-08

    Added required grub.cfg for 32bit efi, commit 8afe92

     
  • Chih-Wei Huang

    Chih-Wei Huang - 2016-01-08

    Just tested. 64-bit OK.
    On 32-bit device, grub menu is shown now but can't boot:

    error: can't find command 'linux'
    error: can't find command 'initrd'

     
  • Luke McIntyre

    Luke McIntyre - 2016-01-09

    Added new bootia32.efi with more mods, commit b885be

     
  • Chih-Wei Huang

    Chih-Wei Huang - 2016-01-09

    Unfortunately it still not work for 32-bit EFI.
    The grub menu is not shown again.
    ls (memdisk)/ shows
    error: no server is specified.

    But 64-bit is OK.
    ls (memdisk)/ shows
    grub.cfg

    How did you generate the efi.img?

     
  • Luke McIntyre

    Luke McIntyre - 2016-01-10

    i will add memdisk to bootia32.efi.

    efi.img is generated by:

    dd if=/dev/zero of=efi.img bs=1M count=3
    mkdosfs efi.img
    mcopy -Qsi efi.img efi ::

     

    Last edit: Luke McIntyre 2016-01-10
  • Luke McIntyre

    Luke McIntyre - 2016-01-10

    Added memdisk with grub.cfg, commit afba9c

     
  • Chih-Wei Huang

    Chih-Wei Huang - 2016-01-10

    The grub menu is still not shown.
    Now ls (memdisk)/ shows grub.cfg, but it can't be parsed correctly.
    If I manually load it by configfile (memdisk)/grub.cfg, it complains

    error: can't find command '['.
    error: can't find command '['.

    I notice the 32-bit grub is 2.02~beta2, while 64-bit grub is 2.02~beta2-9ubuntu1.3.
    Why? Is there any difference?

     
  • Luke McIntyre

    Luke McIntyre - 2016-01-11

    The 32bit grub I am compiling from source, thats why its different.

    I've added test mod which was missing. commit b5f0d1

     
  • Chih-Wei Huang

    Chih-Wei Huang - 2016-01-13

    I've tested b5f0d1 but still no luck.
    Grub still enter command mode directly,
    configfile (memdisk)/grub.cfg show the same error.

    Could you just use the original grub2-efi (bootia32.efi) I use?
    I guess it may work.

     
  • Luke McIntyre

    Luke McIntyre - 2016-01-13

    configfile (memdisk)/grub.cfg stiil show's error: can't find command '['.
    or does it take you back to command?

    The (memdisk)/grub.cfg is looking for .disk/info on the disk /boot/grub/grub.cfg exists and sets the prefix. $prefix should be "(root)/boot/grub" ie. "(hd0)/boot/grub"

    If the error is still "error: can't find command '['." your bootia32.efi and efi.img is not up to date (dont forget to clean the files from the out folder).

    what output does 'ls' and 'echo $prefix' give?

    testing in virtualbox using 32bit works fine.I've even dd to vdi.

    Have you tried copying the iso files to a fat32 drive including .disk/info?

     

    Last edit: Luke McIntyre 2016-01-13
  • Luke McIntyre

    Luke McIntyre - 2016-01-13

    Found the problem, needed to embed a configfile, commit 9f9b4c

     
  • Chih-Wei Huang

    Chih-Wei Huang - 2016-01-14

    The commit finally works. Thanks a lot for the effort.

    Though I'd like to pull your branch directly, however, it contain more changes that I think them need more tests and review.

    Could you please squash the EFI ISO related patches into one or two simpler patch(es)?
    I also hope to apply them into the kitkat-x86 branch for the coming 4.4-r4.

    For other patches unrelated to EFI ISO, please also clean them up (proper indentation, etc) and squash them into simpler patches (one patch for one purpose is better). I also see you add new binary gdisk, but I guess the parted (already in marshmallow-x86 image) could do the same task.

    Thank you for the contributions.

     
  • Luke McIntyre

    Luke McIntyre - 2016-01-14

    git has been updated with 2 commits only

     

    Last edit: Luke McIntyre 2016-01-14
  • Chih-Wei Huang

    Chih-Wei Huang - 2016-01-17

    Looks good. I've pushed it, plus an additional patch to fix missing dependencies.
    Thanks a lot!

    I think we can close this ticket.
    For the other changes, could you create another ticket(s) to address them?

     
  • Luke McIntyre

    Luke McIntyre - 2016-01-18
    • status: accepted --> closed
     
  • Chih-Wei Huang

    Chih-Wei Huang - 2016-01-19

    Someone reported the -e option in genisoimage doesn't exist on some linux distros.
    Is it a particular option added to ubuntu package only?
    Could you please check it?

     
  • Luke McIntyre

    Luke McIntyre - 2016-01-19

    https://en.wikipedia.org/wiki/Cdrkit

    cdrkit needs to be version 1.1.11-3 or later

     

Log in to post a comment.

MongoDB Logo MongoDB