mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Antony Pavlov <antonynpavlov@gmail.com>
To: Ahmad Fatoum <a.fatoum@pengutronix.de>
Cc: Dan Shelton <dan.f.shelton@gmail.com>, barebox@lists.infradead.org
Subject: Re: NFSv4 boot support?
Date: Tue, 20 Feb 2024 00:43:16 +0300	[thread overview]
Message-ID: <20240220004316.fdc79907089c7358a1e67f62@gmail.com> (raw)
In-Reply-To: <90de314f-b7a7-4b49-8c72-ec45aa3d38e2@pengutronix.de>

On Sat, 17 Feb 2024 09:51:02 +0100
Ahmad Fatoum <a.fatoum@pengutronix.de> wrote:

Hi Ahmad!

> Hello Antony,
> 
> On 05.02.24 10:59, Antony Pavlov 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].
> > 
> > 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
> 
> Cool. Looking at Oleksij's repo, it was based on your work. How well does
> picotcp work for you? What open issues remain with the patch stack? Is the
> barebox integration actively used in projects?

I don't use picotcp in any of my projects.
It is very experimental feature. At the moment my picotcp branch can't correctly
handle arp processing. Alas at the moment I have no much time to make picotcp work.

Instead of integration of picotcp into existing barebox code I think barebox needs
some work to make adding new "external" network interface more simple,
so a "new" network stack picotcp/lwIP/uIP/Cyclone/iPXE can be added easely.

> Is https://github.com/tass-belgium/picotcp the official repository? This hasn't
> seen development activity in 5 years.

Please see https://github.com/virtualsquare/picotcp

> lwIP on the other hand still sees active development.

I agree with you. It looks like lwIP is more popular than picotcp.

> Regarding the license, inclusion of BSD-licensed code is ok. You can check out
> the LICENSES/ subdirectory for the licenses covering barebox.

Thanks for the tip, now I see that we can use BSD-licensed code.


> 
> Cheers,
> Ahmad
> 
> 
> 
> 
> >>> 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 |
> >>
> >>
> > 
> > 
> 
> -- 
> 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



  parent reply	other threads:[~2024-02-19 21:33 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 [this message]
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

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=20240220004316.fdc79907089c7358a1e67f62@gmail.com \
    --to=antonynpavlov@gmail.com \
    --cc=a.fatoum@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    --cc=dan.f.shelton@gmail.com \
    /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