Booting from NFSv4 file system?

Ahmad Fatoum a.fatoum at pengutronix.de
Sat Feb 17 01:12:28 PST 2024


Hello Ced,

On 17.02.24 09:01, Cedric Blancher wrote:
> On Wed, 14 Feb 2024 at 14:54, Ahmad Fatoum <a.fatoum at pengutronix.de> wrote:
>>
>> Hello Ced,
>>
>> On 13.02.24 08:51, Cedric Blancher wrote:
>>> Good morning!
>>>
>>> Does Barebox support booting from a NFSv4 file system? Explicitly
>>> neither NFSv2 or NFSv3 will work in our case, as both protocol
>>> versions are no longer allowed by our IT department.
>>
>> It's a funny coincidence that the same question was asked just a few
>> days earlier:
>>
>>  https://lore.barebox.org/barebox/CAAvCNcByUskEuqLMPmO6mbCOZHhYNx_OXZKYO+HKyz_=Cs2RCQ@mail.gmail.com/T/#t
>>
>> Do you and Dan both perhaps use the same Enterprise Linux that now ships without
>> UDP support in the kernel NFS server?
> 
> No, it's a reaction to a EOL/EOS warning that in 18 months we will not
> have NFS-over-UDP support, as UDP support in NFS is depreciated since
> YEARS, and NFSv2 and NFSv3 are being phased out in favor of NFSv4.

Who issued that particular 18-month warning?

> That aside many enterprises now started banning UDP based applications
> wherever they can, and NFS-over-UDP with its depreciation is high on
> that list. I have several customers who cannot do that anymore, and
> even in Institute Pasteur it will no longer be happening in 2025.
> 
> So we need a replacement, and we need it fast.

My impression so far was that NFS support in barebox is primarily used for development
(where the development host can be reconfigured) and to a lesser extent in the field
(where the server can also be reconfigured). Understandably, NFSv4 and NFSv3 over TCP
were thus low on the priority list.

It's good that you and Dan are reaching out, so we know which features are missed
by users.

Could you and Dan elaborate what your usual setup with NFS and barebox is?

>> To sum up the other thread: We don't have a TCP stack in barebox, but that's a
>> hard requirement to do NFSv4. There's AFAIK no one currently working on this.
> 
> So basically in 18 months the NFS support in barebox will become useless, right?

If you can't do NFS over UDP in 18 months and no one integrates a TCP-Stack into
barebox in the meantime, yes.

That said, 18 months are quite a while, so with enough interest, integration
of e.g. lwIP into barebox is certainly doable.

>> The immediate options are either using TFTP to download the kernel
> 
> But tftp requires UDP, right? There is no tftp-over-TCP, right?

TFTP-over-TCP would be normal (non-trivial FTP). I suggested TFTP without
knowing that UDP protocols are being phased out in your organization.

>> and then
>> use NFS for mounting the rootfs within the kernel or to use a userspace NFS
>> server.
> 
> But will it still be UDP?

The kernel can do NFS over TCP independently of barebox. That way you are only
left with the problem of how to load the kernel.

>> I am using NFS Ganesha at home for this.
> 
> I would prefer the JAVA NFS server from DESY, but even they no longer
> support NFSv3 via UDP, only TCP.
unfsd is another userspace server with NFSv3 over UDP support. Both nfs-ganesha
and unfsd are commonly shipped by distros.

But as I understand, your organization policy is to phase out UDP-based protocols?
Does this also extend to e.g. HTTP/3?

I think it would be most constructive to learn more about your use case and what
your constraints are.

Cheers,
Ahmad

> 
> Ced
> --
> Cedric Blancher <cedric.blancher at gmail.com>
> [https://plus.google.com/u/0/+CedricBlancher/]
> Institute Pasteur
> 
> 

-- 
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