x86_64 will build fail to build the x86 efi.
pre-compiled one.
If you do, then I may have a solution for you.
Mr. Tassopoulos
Thank you so much for your answer.
I am trying to do this because my device (atom cpu) has 64bit cpu but
its efi doesn't support 64. Efi is x86. I learned that ".. The vast
majority of EFI-based x86-64 computers use 64-bit EFIs and therefore use a
bootx64.efi default boot loader file. A handful of early Macs and some
Atom-based tablets have 64-bit CPUs but 32-bit EFIs ..."
http://www.rodsbooks.com/efi-bootloaders/principles.html
But I dont understand: if my target machine is x86_64 then yocto will
prepare native/host toolchain to gcc-x64 but when we force to install grub
as i386 what will happen? yocto will install a second toolchain for i386?
And also shouldn't grub be x86?
Bye the way, yocto has failed when i try.
*do_mkimage*
DEBUG: SITE files ['endian-little', 'common-linux', 'common-glibc',
'bit-64', 'x86_64-linux', 'common']
DEBUG: Executing shell function do_mkimage
*grub-mkimage: error: invalid ELF header.*
WARNING: exit code 1 from a shell command.
Best regards
On Mon, Nov 12, 2018 at 11:44 AM Dimitris Tassopoulos <
I don't know about your special case and why this happens, but a
simple "hack" it's, depending your bootloader
(grub or systemd-boot), to edit a couple of files in poky. I haven't
tested this, so I don't know if it really works.
For Grub remove in poky/meta/classes/grub-efi.bbclass these
if [ "${TARGET_ARCH}" = "x86_64" ]; then
GRUB_IMAGE="grub-efi-bootx64.efi"
DEST_IMAGE="bootx64.efi"
fi
if [ "${TARGET_ARCH}" = "x86_64" ]; then
EFI_IMAGE="systemd-bootx64.efi"
DEST_EFI_IMAGE="bootx64.efi"
fi
And then in poky/meta/recipes-bsp/grub/grub-efi_2.02.bb in python
grubtarget = 'i386'
grubimage = prefix + "bootia32.efi"
As I've told you, this is more hack than proper solution, but if you
don't get a better answer at least
you can try this.
Also have in mind, that if you do that, then you won't be able to
pull poky without loosing your
changes, so you will have to work with your own branch. That
shouldn't be a problem, but you
should be aware of that.
Regards,
Dimitris
Post by KnoppixI Searched this question on google, stackoverflow but I did not find.
I am using DISTRO=poky MACHINE=intel-corei7-64 IMAGE=core-image-x11 sceme.
The machine which I want to install image, doesnât allow bootx64 but
it works when I install x32 efi.
I checked this (I copied first bootia32.efi and then bootx64.efi)
and as I understand my machine has x64 arch but only support x32-efi.
So how can I build an image which is intel-corei7-64 but has
grup-efi 32 bit?
Would you advice me please to *what should I read to accomplish and
learn *this?
--
_______________________________________________
yocto mailing list
https://lists.yoctoproject.org/listinfo/yocto