brushhead
Posts: 7
Joined: Sun Nov 20, 2011 11:21 am

Re: PXE boot capable?

Tue Nov 22, 2011 6:25 pm

Hi,
Can I PXE boot this over an NFS share?

Regards,

Rob.

obarthelemy
Posts: 1407
Joined: Tue Aug 09, 2011 10:53 pm

Re: PXE boot capable?

Tue Nov 22, 2011 6:54 pm

Yes and no.

The Pi needs its graphics firmware, and a bootloader/OS kernel on the SD card. Once that is loaded though, you can go on to boot off any OS and filesystem you can access, including over the network if you have driver for that in your bootloader/kernel.

SRSullivan
Posts: 10
Joined: Mon Nov 14, 2011 2:52 am
Contact: Website

Re: PXE boot capable?

Tue Nov 22, 2011 6:54 pm

Quote from brushhead on November 22, 2011, 18:25
Can I PXE boot this over an NFS share?


I've been wanting to know this as well.

Under x86 arch that is handled by BIOS Option Roms, usually embedded in the Ethernet Card/Controller. Under ARM that structure is different and there is no universal BIOS-like conventions regarding booting the device.

For the ARM devices I've been working with (DreamPlug, SheevaPlug derviative: PogoPlug and Seagate GoFlex Net) the network boot has been handled by the uboot boot loader as an built-in capability.

In the case of the Raspberry Pi the boot is handled by the GPU binary which is expected to load from a Fat Partition on the SD Card. Since we know very little to nothing about that GPU binary blob, it's hard to say. I think if it supports network boot will depend on if the blob is built with the Raspberry Pi's network chip in mind and includes code to drive it.

Now this doesn't preclude chain loading a boot loader from the FAT partition to provide network boot. But if it's done that way it would be after-market.

TL/DR

Unknown at this time, but possible to provide after the fact by chain loading at boot.

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: PXE boot capable?

Tue Nov 22, 2011 7:41 pm

Quote from brushhead on November 22, 2011, 18:25
Hi,
Can I PXE boot this over an NFS share?

Regards,

Rob.

PXE is an X86 only BIOS thing. What happens with PXE is that it TFTP downloads the kernel, etc. and uses a DHCP or similar prompting of things to tell the kernel where the fileshare might be. You're not PXE booting a NFS share. You're PXE booting off of a TFTP server and then providing an NFS share as a root filesystem. And it's not specifically available on ANY ARM based machine.

There's the possibility of U-Boot handling something like it, but it won't be an automagic thing. The other possibility is to specify an initramfs, either on the FAT boot partition or as part of the kernel default ramfs that would count as well. From there, you can have the network stack up and do an NFS mount of the server.

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: PXE boot capable?

Tue Nov 22, 2011 7:43 pm

Quote from SRSullivan on November 22, 2011, 18:54
For the ARM devices I've been working with (DreamPlug, SheevaPlug derviative: PogoPlug and Seagate GoFlex Net) the network boot has been handled by the uboot boot loader as an built-in capability.


You've already answered your question. In short, yes and no. You'll need a U-Boot version dropped into the kernel image slot so the GPU will boot the bootloader in question- from there, you'll be able to do it the same way as you're used to with the other ARM devices you're familiar with.

SRSullivan
Posts: 10
Joined: Mon Nov 14, 2011 2:52 am
Contact: Website

Re: PXE boot capable?

Tue Nov 22, 2011 8:05 pm

Quote from Svartalf on November 22, 2011, 19:43
Quote from SRSullivan on November 22, 2011, 18:54
For the ARM devices I've been working with (DreamPlug, SheevaPlug derviative: PogoPlug and Seagate GoFlex Net) the network boot has been handled by the uboot boot loader as an built-in capability.


You've already answered your question. In short, yes and no. You'll need a U-Boot version dropped into the kernel image slot so the GPU will boot the bootloader in question- from there, you'll be able to do it the same way as you're used to with the other ARM devices you're familiar with.

Your correct in that I have solutions already for the possible answers. But the original question of the thread (lacking any other framing) is about what the capabilities the GPU boot loader has and will be available "out of the box" on the Raspberry Pi.

I would like to see this question move form the realm of possible answers to a definitive answer from the Foundation.

brushhead
Posts: 7
Joined: Sun Nov 20, 2011 11:21 am

Re: PXE boot capable?

Tue Nov 22, 2011 8:09 pm

Yeah so would I...it would make a large roll out cheaper by booting directly from a TFTP server and the root file system from an NFS server.

Rob.

SRSullivan
Posts: 10
Joined: Mon Nov 14, 2011 2:52 am
Contact: Website

Re: PXE boot capable?

Tue Nov 22, 2011 8:47 pm

Quote from brushhead on November 22, 2011, 20:09
Yeah so would I...it would make a large roll out cheaper by booting directly from a TFTP server and the root file system from an NFS server.

Rob.

brushhead (Rob),

I talked with Chirs Tyler who's part of the team doing the Fedora ARM build up and has one of the Alpha Boards. He's now confirmed that the GPU bootloader is very dumb and only loads a boot image from SD.

Quote from #seneca @ FreeNode on November 22, 2011
<OpenRebel> ctyler, hiya hope I find you well. I've got a question about the RasPi GPU bootloader blob that you might be able to answer. We've got a thread on the form about if it has Network boot functionality or not out of the box. I've got multiple solutions if it doesn't, but some folks want to know.
<ctyler> It doesn't; see the forums at raspberrypi.org for details. The GPU initializes, and then loads the file "kernel.img" from the FAT partition 1. That doesn't have to be a kernel -- it can be a bootloader. However, it still has to come from an SD card.

Although this is alright as it gives you a lot of flexibility in how you setup your network boot solution. Some of the options noted so far:
Load a second boot loader like uboot to load your kernel.
Load a kernel that has the modules to boot the network and load the nfs root.
This sounds like a good chance to use up any 128 or 256 MB SD cards that you might have hanging around! ;)

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: PXE boot capable?

Wed Nov 23, 2011 7:58 pm

Quote from SRSullivan on November 22, 2011, 20:05
But the original question of the thread (lacking any other framing) is about what the capabilities the GPU boot loader has and will be available "out of the box" on the Raspberry Pi.

I would like to see this question move form the realm of possible answers to a definitive answer from the Foundation.

Heh...

Quote from eben on July 29, 2011
We're not currently using a bootloader - we actually boot via the GPU, which contains a proprietary RISC core (wacky architecture ;) . The GPU mounts the SD card, loads GPU firmware and brings up display/video/3d, loads a kernel image, resets the SD card host and starts the ARM.

You could replace the kernel image with a bootloader image, and that would work fine.


This was found in the "Questions about OS and BIOS" thread if you searched for "bootloader". Until you see U-Boot or RedBoot ported to the R-Pi, that's about as definitive an answer as you're probably going to get- and it was from the Foundation. There's also been other threads on the subject of PXE boot, by the by...

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: PXE boot capable?

Wed Nov 23, 2011 8:00 pm

Quote from SRSullivan on November 22, 2011, 20:47
Although this is alright as it gives you a lot of flexibility in how you setup your network boot solution. Some of the options noted so far:
Load a second boot loader like uboot to load your kernel.
Load a kernel that has the modules to boot the network and load the nfs root.

I believe I said this already... ;)

They've just not put a lot of effort into it because it's not been a priority.


This sounds like a good chance to use up any 128 or 256 MB SD cards that you might have hanging around! ;)

Yep. All I've got is 2Gb's lying around in my case, which are overkill.

Return to “General discussion”