All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: Network boot
       [not found] <d9ba180b-2204-cf8f-0090-027d14cf4712@rz.uni-freiburg.de>
@ 2018-11-27 13:28 ` Daniel Kiper
  0 siblings, 0 replies; 3+ messages in thread
From: Daniel Kiper @ 2018-11-27 13:28 UTC (permalink / raw)
  To: Christopher Lucas; +Cc: grub-devel

Hi Christopher,

Re-adding grub-devel. Next time please do not drop it if it is not
required. Other people may learn something from your experience too.

On Fri, Nov 16, 2018 at 01:34:51PM +0100, Christopher Lucas wrote:
> Hello,
>
> No problem for the delay. That's good to clarify because I couldn't find a
> clear answer if it was possible to load a 64-bit UEFI from a 32-bit UEFI.
>
> However, I still found a work around. Very complex, for nothing much. I
> ended up loading a custom 32-bit kernel and initramfs from a 32-bit efi
> script. I just use kexec in the 32-bit kernel to load a 64-bit.
>
> It works, it's the most important thing. Thanks for the clarification.

Another option is CONFIG_EFI_MIXED in Linux kernel. If your kernel is
build with it enabled then...

  Enabling this feature allows a 64-bit kernel to be booted on
  a 32-bit firmware, provided that your CPU supports 64-bit mode.

  Note that it is not possible to boot a mixed-mode enabled
  kernel via the EFI boot stub - a bootloader that supports
  the EFI handover protocol must be used.

Above thing is an excerpt from CONFIG_EFI_MIXED help.

I hope that helps.

Daniel


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Network boot
  2018-11-02 11:32 Christopher Lucas
@ 2018-11-14 16:28 ` Daniel Kiper
  0 siblings, 0 replies; 3+ messages in thread
From: Daniel Kiper @ 2018-11-14 16:28 UTC (permalink / raw)
  To: Christopher Lucas; +Cc: grub-devel

Hi Christopher,

Sorry for late reply but I am busy.

On Fri, Nov 02, 2018 at 12:32:09PM +0100, Christopher Lucas wrote:
> Hello,
>
> I've recently bought a 32-bit EFI Windows Tablet with 64-bit CPU. It doesn't
> have any Ethernet port so I'm using a USB-Ethernet adapter (rtl8153 chipset
> works with IPXE). I've successfully installed Ubuntu 18.04 64-bit via
> bootia32.efi on it and it works perfectly fine. Using GRUB2 (32-bit) allowed
> me to also install Arch Linux 2018.10.01 64-bit (just a test). I added an
> menu entry via a custom file in /etc/grub.d.
>
> So as internet was saying, GRUB2 is capable of cross-archicture. Now, I
> would like to network boot with GRUB2. The complex part of this, again, is
> booting a 64-bit image via 32-bit GRUB2. The server side is all setup and
> working (because it's already in production and used consistently for
> network booting).
>
> No luck so far, I've been able, from my 32-bit EFI, to connect to my server
> using a 32-bit .efi file by compiling ipxe github project in 32-bit but
> could not load the kernel (Normal because I'm in 32-bit).
>
> CODE :
>
> menuentry "IPXE 32-bit"{
>
>     chainloader i386.efi => made with make bin-i386-efi/ncm--ecm.efi
>
> }
>
> From GRUB2 (32-bit), I've tried to load a 64-bit .efi file but I get a
> error: unknown error (assume that it's because of architecture).
>
> CODE :
>
> menuentry "IPXE 32-bit"{
>
>     chainloader am64.efi => made with make bin-x86_64-efi/ncm--ecm.efi
>
> }
>
> I've also used netboot.xyz but no luck there either. (relaunches EFI or
> freezes)
>
> So I come to you! Is there a way with a 32-bit GRUB2 to load a 64-bit image
> that is located on my server? Help would be much appreciated. Hope I was
> clear enough.

Sorry, you cannot execute UEFI 32-bit PE binary on 64-bit UEFI platform and
vice versa. And this is not related to GRUB2 itself. It is general rule.

Daniel


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Network boot
@ 2018-11-02 11:32 Christopher Lucas
  2018-11-14 16:28 ` Daniel Kiper
  0 siblings, 1 reply; 3+ messages in thread
From: Christopher Lucas @ 2018-11-02 11:32 UTC (permalink / raw)
  To: grub-devel

Hello,

I've recently bought a 32-bit EFI Windows Tablet with 64-bit CPU. It 
doesn't have any Ethernet port so I'm using a USB-Ethernet adapter 
(rtl8153 chipset works with IPXE). I've successfully installed Ubuntu 
18.04 64-bit via bootia32.efi on it and it works perfectly fine. Using 
GRUB2 (32-bit) allowed me to also install Arch Linux 2018.10.01 64-bit 
(just a test). I added an menu entry via a custom file in /etc/grub.d.

So as internet was saying, GRUB2 is capable of cross-archicture. Now, I 
would like to network boot with GRUB2. The complex part of this, again, 
is booting a 64-bit image via 32-bit GRUB2. The server side is all setup 
and working (because it's already in production and used consistently 
for network booting).

No luck so far, I've been able, from my 32-bit EFI, to connect to my 
server using a 32-bit .efi file by compiling ipxe github project in 
32-bit but could not load the kernel (Normal because I'm in 32-bit).

CODE :

menuentry "IPXE 32-bit"{

     chainloader i386.efi => made with make bin-i386-efi/ncm--ecm.efi

}

 From GRUB2 (32-bit), I've tried to load a 64-bit .efi file but I get a 
error: unknown error (assume that it's because of architecture).

CODE :

menuentry "IPXE 32-bit"{

     chainloader am64.efi => made with make bin-x86_64-efi/ncm--ecm.efi

}

I've also used netboot.xyz but no luck there either. (relaunches EFI or 
freezes)

So I come to you! Is there a way with a 32-bit GRUB2 to load a 64-bit 
image that is located on my server? Help would be much appreciated. Hope 
I was clear enough.

Best regards

Christoper Lucas



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-11-27 13:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <d9ba180b-2204-cf8f-0090-027d14cf4712@rz.uni-freiburg.de>
2018-11-27 13:28 ` Network boot Daniel Kiper
2018-11-02 11:32 Christopher Lucas
2018-11-14 16:28 ` Daniel Kiper

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.