Re: State of the freebsd/crochet project?
- Reply: Mark Millard : "Re: State of the freebsd/crochet project?"
- In reply to: Warner Losh : "Re: State of the freebsd/crochet project?"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 19 Oct 2023 04:41:51 UTC
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 poudriere. > > Does poudriere handle the msdos uboot *and* efi part when > 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 > there's this: > > "WARNING: This feature is still considered ALPHA." > > They have worked for years. > > Warner > > This is from poudriere-devel-3.3.99.20220831_3 > -- Overall, I found poudriere nice *once* I understood the architecture. 1. pkg install qemu-user-static 2. sysrc qemu_user_static_enable="YES" 3. service qemu_user_static onestart # If wanting to continue without a reboot 4. poudriere jail -c -j 15_0_aarch64 -K GENERIC -m git+https -v 15.0-CURRENT -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