netboot configuration [was: Re: NFS Root with Raspberry Pi (nfs_diskless: no interface)]
Daniel Braniss
danny at cs.huji.ac.il
Sat Sep 26 12:38:49 UTC 2015
> On Sep 25, 2015, at 10:25 PM, Ian Lepore <ian at FreeBSD.org> wrote:
>
> On Fri, 2015-09-25 at 11:37 +0300, Daniel Braniss wrote:
>>> On 25 Sep 2015, at 03:54, Ian Lepore <ian at FreeBSD.org> wrote:
>>>
>>> On Thu, 2015-09-24 at 19:54 +0200, Hans Petter Selasky wrote:
>>>> On 09/24/15 18:36, Randy Westlund wrote:
>>>>> On Thu, Sep 24, 2015 at 08:37:06AM -0600, Ian Lepore wrote:
>>>>
> [...stuff about problems netbooting...]
>>
>> hi Ian,
>> can you help me here?
>> I need the magics to get ubldr to boot from the net,
>> i’m using an image built via crochet.
>>
>> cheers,
>> danny
>
> I've been struggling with how to set up a new default u-boot environment
> in our ports to make netbooting easier. The problem is that there are
> as many ways to netboot as there are different people wanting to do it.
> What I've been doing for years is loading both ubldr and the kernel from
> nfs, by configuring my dhcp server to provide all the info needed (board
> ip and netmask, server ip, ubldr file to load, and nfs root path), all
> based on the mac address of the board. I've learned that doesn't work
> well for most people who don't have easy control over their dhcp server.
>
> To try to keep this relatively simple, I'm going to assume that what
> most folks want to do is:
>
> * Load ubldr from the sdcard that has u-boot on it (not from nfs).
> * Make ubldr load the freebsd kernel from nfs.
> * Use an nfs root filesystem.
>
> So I'm assuming you've got an nfs server already serving up the root
> filesystem (I'm not going to detail configuring that here). That
> filesystem must contain an /etc/fstab that includes the ip:/rootpath
> entry for the root filesystem. In other words, even though the software
> must already know the ip:/rootpath to find the fstab file, the file
> still must contain a root path entry. (I find this annoying.)
>
> Now on the u-boot side you need to add a few lines to the uEnv.txt file
> on the FAT partition (create the file there if it doesn't already
> exist). You can configure a static IP address or get the IP from dhcp:
>
> For static IP (On RPi only, add one line: UserPreboot=usb start)
>
> loaderdev=net
> rootpath=192.168.0.240:/wand
> ipaddr=192.168.0.233
> netmask=255.255.255.0
>
>
> For DHCP (On RPi only, last line is: UserPreboot=usb start && dhcp)
>
> loaderdev=net
> rootpath=192.168.0.240:/wand
> autoload=no
> UserPreboot=dhcp
>
> BTW, you may notice a Netboot command in the standard u-boot env. Do
> NOT set bootcmd=run Netboot, that would make u-boot try to load ubldr
> over the network, which requires running a tftp server.
>
> — Ian
thanks!
it almost worked :-)
- UserPreboot didn’t work, probably because I have the wrong u-boot?
stoping the boot, then typing
usb start
boot
at the U-Boot> prompt saved the day!
- if instead of boot I type dhcp, it tries to tftp u-boot, but I can’t figure out
how to start it :-(
in any case, great!
now it would be nice if we pull resources and get this diskless stuff cleaned up
danny
More information about the freebsd-arm
mailing list