Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Oct 2023 04:41:51 +0000
From:      Rahul Rameshbabu <sergeantsagara@protonmail.com>
To:        Warner Losh <imp@bsdimp.com>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: State of the freebsd/crochet project?
Message-ID:  <87wmvjjkae.fsf@protonmail.com>
In-Reply-To: <CANCZdfqAhAeuc-K6O3T-E6FGgy-Lktutc3NSfcmRO5OrhSxYJg@mail.gmail.com>
References:  <87ttqrqnal.fsf@protonmail.com> <ZS6FAjRlRimUVoWR@int21h> <CANCZdfq%2B4L-guWeEck5OqgFTuXLv%2B6BLOfcDuqVgUSvm7X9SUg@mail.gmail.com> <ZS6PuBrr9wChkhov@int21h> <CANCZdfqAhAeuc-K6O3T-E6FGgy-Lktutc3NSfcmRO5OrhSxYJg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Warner,

On Tue, 17 Oct, 2023 09:01:33 -0600 "Warner Losh" <imp@bsdimp.com> wrote:
> On Tue, Oct 17, 2023, 7:44 AM void <void@f-m.fm> wrote:
>
>  On Tue, Oct 17, 2023 at 07:13:28AM -0600, Warner Losh wrote:
>
>  >Crochet has no active maintainers. Most people have moved on to poudrie=
re.
>
>  Does poudriere handle the msdos uboot *and* efi part when=20
>  creating the image?
>
> Yes. I worked with manu years ago to put all the needed metadata for the =
different boards into the ports...

It does but it seems to have an unfortunate caveat. It assumes that
FAT16 is supported by all embedded targets. The Raspberry Pi 4 and I
assume the Pi 5 as well drop support for FAT16, so the boot partition
needs to be FAT32.

There are two ways I see for solving this in 'poudriere image'.

  1. Create a new image type of 'embedded+fat32'
  2. Have a flag for customizing the boot partition size (fat16, fat32)

I am leaning towards option 1 right now personally. Can submit a PR for
this if this is indeed needed.

>
>  I've not used poudriere-image before.
>  Do you know if it works? Near the top of the man page=20
>  there's this:
>
>  "WARNING: This feature is still considered ALPHA."
>
> They have worked for years.=20
>
> Warner
>
>  This is from poudriere-devel-3.3.99.20220831_3
>  --=20

Overall, I found poudriere nice *once* I understood the architecture.

  1. pkg install qemu-user-static
  2. sysrc qemu_user_static_enable=3D"YES"
  3. service qemu_user_static onestart # If wanting to continue without a r=
eboot
  4. poudriere jail -c -j 15_0_aarch64 -K GENERIC -m git+https -v 15.0-CURR=
ENT -a arm64.aarch64
     i. Can configure things like GENERIC-NODEBUG if wanting to go with
        a non-debug kernel
  5. poudriere ports -c -p latest -m git -B main
  6. poudriere image -j 15_0_aarch64 -p latest -n freebsd-rpi -h rpi -s 4g =
-t embedded
     i. Should use the overlaydir flag to probably pass rpi-firmware and
        u-boot-rpi3/u-boot-rpi4/whatever u-boot port is appropriate. Have
        not experimented with that yet.

I think the fact that there are not specialized documentation for using
poudriere for specific boards is a bit problematic. I would like to do
the following if possible.

1. Mark crochet as public archive on GitHub so developers do not spend
   time trying to improve it.
2. Redirect developers to the poudriere project specifically referencing
   'poudriere image' from the crochet project README
3. Update the poudriere image documentation/manpage with an EXAMPLE
   section for embedded (maybe other examples too)
4. I would also like to update the Raspberry Pi FreeBSD wiki page with
   these details specifically with regards to this flow for building
   images.
   i. I currently do not access to edit the page.
5. Maybe add some information about poudriere to the FreeBSD ARM page
   i. https://wiki.freebsd.org/arm

Let me know your thoughts/suggestions on this.

--
Thanks,

Rahul Rameshbabu




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?87wmvjjkae.fsf>