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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
Found file structure in efi.img was wrong. Fixed in commit 40f240
Last edit: Luke McIntyre 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?
Added required grub.cfg for 32bit efi, commit 8afe92
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'
Added new bootia32.efi with more mods, commit b885be
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?
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
Added memdisk with grub.cfg, commit afba9c
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?
The 32bit grub I am compiling from source, thats why its different.
I've added test mod which was missing. commit b5f0d1
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.
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
Found the problem, needed to embed a configfile, commit 9f9b4c
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.
git has been updated with 2 commits only
Last edit: Luke McIntyre 2016-01-14
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?
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?
https://en.wikipedia.org/wiki/Cdrkit
cdrkit needs to be version 1.1.11-3 or later