Discussion:
Network boot
(too old to reply)
Christopher Lucas
2018-11-02 11:32:09 UTC
Permalink
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
Daniel Kiper
2018-11-14 16:28:34 UTC
Permalink
Hi Christopher,

Sorry for late reply but I am busy.
Post by Christopher Lucas
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).
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).
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

Continue reading on narkive:
Loading...