From: Dan Shelton <dan.f.shelton@gmail.com>
To: Antony Pavlov <antonynpavlov@gmail.com>
Cc: Ahmad Fatoum <a.fatoum@pengutronix.de>, barebox@lists.infradead.org
Subject: Re: NFSv4 boot support?
Date: Tue, 6 Feb 2024 05:40:00 +0100 [thread overview]
Message-ID: <CAAvCNcByUskEuqLMPmO6mbCOZHhYNx_OXZKYO+HKyz_=Cs2RCQ@mail.gmail.com> (raw)
In-Reply-To: <20240205214125.166802e0ece35280b563d728@gmail.com>
On Mon, 5 Feb 2024 at 19:31, Antony Pavlov <antonynpavlov@gmail.com> wrote:
>
> On Wed, 31 Jan 2024 22:37:50 +0100
> Ahmad Fatoum <a.fatoum@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].
> >
> > > 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
>
> It looks like lwip is BSD-3-clause-licensed. Can we use the BSD-3-clause code in barebox?
I think yes
Dan
--
Dan Shelton - Cluster Specialist Win/Lin/Bsd
prev parent reply other threads:[~2024-02-06 4:42 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-31 21:03 Dan Shelton
2024-01-31 21:37 ` Ahmad Fatoum
2024-02-05 9:59 ` Antony Pavlov
2024-02-17 8:51 ` Ahmad Fatoum
2024-02-19 2:17 ` Dan Shelton
2024-02-20 14:17 ` Ahmad Fatoum
2024-02-20 15:28 ` Uwe Kleine-König
2024-02-19 21:43 ` Antony Pavlov
2024-02-20 13:53 ` Alessandro Rubini
2024-02-26 12:17 ` Ahmad Fatoum
2024-03-08 10:23 ` Sascha Hauer
2024-03-09 10:01 ` Alessandro Rubini
2024-02-28 7:26 ` Antony Pavlov
2024-02-28 9:20 ` Sascha Hauer
2024-02-28 11:50 ` Antony Pavlov
2024-02-28 12:27 ` Sascha Hauer
2024-02-05 18:41 ` Antony Pavlov
2024-02-06 4:40 ` Dan Shelton [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAAvCNcByUskEuqLMPmO6mbCOZHhYNx_OXZKYO+HKyz_=Cs2RCQ@mail.gmail.com' \
--to=dan.f.shelton@gmail.com \
--cc=a.fatoum@pengutronix.de \
--cc=antonynpavlov@gmail.com \
--cc=barebox@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox