On Sat, 17 Feb 2024 09:51:02 +0100 Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx> 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@xxxxxxxxx/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