NFSv4 boot support?

Antony Pavlov antonynpavlov at gmail.com
Mon Feb 5 01:59:00 PST 2024


On Wed, 31 Jan 2024 22:37:50 +0100
Ahmad Fatoum <a.fatoum at pengutronix.de> wrote:

Hi All!

> Hello Dan,
> 
> On 31.01.24 22:03, Dan Shelton wrote:
> > Hello!
> > 
> > Does barebox support booting from a NFSv4 filesystem, e.g. boot from
> > NFSv4 filesystem into a Linux NFSv4 netroot (diskless machine)?
> 
> The barebox network stack only does UDP/IP. There have been attempts to
> bring a TCP stack into barebox, but none have so far succeeded to
> make it mainline. This is a hard requirement before we can consider
> supporting NFSv4. I hope that lwIP could fill this gap in the future,
> but no one is actively continuing this work as far as I am aware[1].

I have started integration on picotcp into barebox in 2015, see
  https://lore.barebox.org/barebox/1436991230-14251-10-git-send-email-antonynpavlov@gmail.com/T/

At the moment I have WIP barebox-v2023.11 with integrated picotcp 2.1:

  https://github.com/frantony/barebox/tree/20231127.picotcp


> > We need NFSv4, because it does not need rpcbind, and combines
> > filesystem, lockd and other stuff all in one TCP port (2049). Site
> > policy also does not allow NFSv2/NFSv3, but allows NFSv4.
> 
> Please note that this only concerns barebox and that kernel nfsroot is
> unaffected. You can load kernel and device tree over TFTP and supply a
> suitable command line argument to the kernel to use a NFS root.
> 
> The standard net boot target does just that:
> https://elixir.bootlin.com/barebox/v2024.01.0/source/defaultenv/defaultenv-2-base/boot/net
> 
> It specifies TCP, but hardcodes v3 currently. I guess we could drop the v3 and let
> the kernel decide on its own what version it will use? If that doesn't work, you can
> override the file locally in your environment, e.g. via CONFIG_DEFAULT_ENVIRONMENT
> pointing at a directory that contains a boot/net file with the appropriate
> changes (or just call your boot target something else like boot/nfsv4).
> 
> Hope this helps.
> 
> [1]: Some attempts I am aware of:
>      https://github.com/a3f/barebox/tree/lwip
>      https://github.com/olerem/barebox/tree/picotcp-2019.06.29
>      https://github.com/jmaselbas/barebox/commit/4a987bfdc2ad50c13126dd6290d2477c3fc0c87d
> 
> Cheers,
> Ahmad
> 
> > 
> > Dan
> 
> -- 
> 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 |
> 
> 


-- 
Best regards,
  Antony Pavlov



More information about the barebox mailing list