rpi4 network boot

Mike Karels mike at karels.net
Mon Feb 8 04:12:29 UTC 2021


On 7 Feb 2021, at 19:24, Matthew Grooms wrote:

> On 2/7/2021 2:00 PM, Klaus Küchemann wrote:
>> Am 07.02.2021 um 20:19 schrieb Torfinn Ingolfsen 
>> <torfinn.ingolfsen at getmail.no>:
>>> I believe he is asking you to verify that the fstab file for the 
>>> _client_ (aka the diskless machine your'e trying to boot) is 
>>> correct. That file exists as
>>> ${NFSROOTDIR}/etc/fstab  on the boot server.
>>>
>>> HTH
>>> -- 
>>> Torfinn Ingolfsen <torfinn.ingolfsen at getmail.no>
>>> _______________________________________________
>>> freebsd-arm at freebsd.org mailing list
>>> https://lists.freebsd.org/mailman/listinfo/freebsd-arm
>>> To unsubscribe, send any mail to 
>>> "freebsd-arm-unsubscribe at freebsd.org>> Yes, the fstab-setup is important…... but then I realized Matthew`s 
>> boot environment :
>> He has u-boot sitting on the pxe-Server, whereas the eeprom was 
>> flashed for completely diskless netboot
>> as a requirement .
>> With that setup in fact we will end up in n infinite loop of an 
>> 'genet0: gen_intr2‘ -console-output,
>> regardless of fstab or whatever configuration elsewhere I tried.
> Thanks for testing and re-producing that. Corroborating test results 
> were also posted by others in the FreeBSD forum thread I referenced 
> earlier.
>> I have now refreshed the eeprom to it’s default(where diskless 
>> pxe-boot is disabled )
>> And again successfully net-booted (14_current in this case) :
>>
>> https://dmesgd.nycbug.org/index.cgi?do=view&id=5917
>>
>> Since netboot from u-boot on the uSD requiresdonly 1 command by hand 
>> (load net0:/boot/kernel/kernel
>> )(+ command :’boot’) and there’s no problem with the 
>> genet-driver I guess that
>> It’s an issue of the pxe-flashed eeprom where we don’t yet know 
>> exactly what happens.
>
> I have a slightly different take: The network device appears to work 
> well initially when used by the eeprom and after the hand-off to 
> u-boot. The FreeBSD genet driver generally works well unless the 
> device is first used by eeprom/u-boot. I suspect that u-boot is 
> performing some task that leaves the device in a state that is 
> incompatible what FreeBSD expects and/or can work with. Perhaps there 
> is a way to force some a full device reset of genet either before 
> u-boot hands things off to FreeBSD or right after FreeBSD loads the 
> genet driver? If so, maybe that would be worth trying, even as a hacky 
> test, to see if it's the network device state that's wonky.

That’s a reasonable theory, but I don’t actually know how to reset 
the chip
(I’ve never seen documentation for it).  I’m also not confident that 
the
driver would fully initialize the chip from a reset.  However, there is
probably more to the problem.  Klaus told me that the irq values are
different when using PXE, which means the OS is getting different config
information as well.  The irqs print in the main auto configuration line
for genet0.  But it’s possible that something as simple as calling the
same interrupt routine from both interrupts might work.

		Mike

>> So for now I guess netboot from uSD is a painless and well working 
>> setup,
>> while to be honest:
>> I don’t remember exactly at the moment how I figured to get it to 
>> work after trials&errors  :-) Ha Ha
>> But I’ll leave the uSD untouched or copy the folder to have a point 
>> for a tutorial or so if someone is interested in.
>
> Can that be done without human intervention? Perhaps with some sort of 
> u-boot or EFI script that gets executed? If this method requires the 
> user to enter a command to boot from the network, it's not an 
> alternative to PXE.
>
> Thanks,
>
> -Matthew


More information about the freebsd-arm mailing list