Mount NFSv4.2 filesystem in barebox?

Ahmad Fatoum a.fatoum at pengutronix.de
Wed Mar 5 04:03:09 PST 2025


Hello Martin,

On 04.03.25 22:50, Martin Wege wrote:
> On Mon, Mar 3, 2025 at 9:40 AM Ahmad Fatoum <a.fatoum at pengutronix.de> wrote:
>> We had a discussion about this last year, but it didn't result in any
>> upstream code yet:
>> https://lore.barebox.org/barebox/CAAvCNcCZhS8mkvdgcJ2L-eiur+OxgWEXRLnadO_HFyHfSi7WFA@mail.gmail.com/
>>
>> One question that I still have, is what do you use NFSv4 for?
>> Is it just for development and your IT is disabling NFSv3?
> 
> No, NFSv4.1 (NFSv4.0 is obsolete due to bugs) offers better
> performance, more flexibility, smaller footprint, better caching
> (delegations), ACLs, SELinux support, and can be tunneled through
> firewalls because it only uses TCP port 2049 and nothing else.

I am speaking in particular about NFS use in barebox itself,
where you'll likely to not benefit from better caching, ACLs, SELinux
support and so on. The kernel NFS server can provide both v3 and v4
in parallel and you can already set in barebox

  global.linux.rootnfsopts="v4,tcp"

So the booted kernel need not have any NFSv3 UDP support at all.

As David mentioned using TFTP in barebox instead of NFS is an option
as well for as long there is no NFSv4 support if NFSv3 is a no-go.

>> Do you use it in the field?
> 
> Yes, we do

So, you use barebox to load a kernel from NFS and then use the same
NFS as rootfs in production and currently you are using NFSv3
for both?

>> Knowing about the use case helps with prioritizing future work.
>> As it stands, NFS is mostly understood as development feature and
>> it's expected so far that interested users will be able to provide
>> a NFSv3 UDP server in their development network.
> 
> No, NFS is not only a development feature. For example CERN uses NFS
> boot (with patched NFSv4.1 stack) in radiation environments - that
> saves a SSD per embedded machine, which is typically one of the most
> affected pieces from radiation. AIRBUS also uses nfsboot in their
> equipment and flight deck systems.

We also use NFS at work for the developer workstations. My question
is strictly about _your_ NFS usage in barebox.

> So yes, you would have customers for NFSv4.1 support in barebox.

Just to clarify: I would love to see barebox support TCP and newer NFS
versions and if someone were to contribute that, I'd be happy to help with
testing and review to see it merged upstream.

So far, we had three threads on the mailing list, where users asked about
our plans. However, I haven't managed to find out how in particular they
currently use the NFS support in barebox.

We (as in the barebox maintainers) haven't been approached by a paying
customer interested in adding that support. That means, the topic has
to compete against other features we are interested in adding to barebox.

So far, NFSv4 has been low priority for us (TCP itself is not though and
I hope we might get there this year). So the way forward is either:

  - A user contributes support
  - A customer pays for the support
  - Users describe their use cases, so we as maintainers can better
    assess how useful NFSv4 support would be for barebox as a project

Thanks,
Ahmad


> 
> Thanks,
> Martin
> 


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list