Repository navigation
release: fix arm embedded (board) image builds - #643
Merged
Merged
Conversation
arm_create_disk() creates the root partition of MBR images (RPI, GENERICSD, RPI-B) inside a BSD label with "gpart add -t freebsd-ufs", which the MidnightBSD bsd scheme rejects with "Invalid argument"; its FFS alias is mnbsd-ufs. The GPT path already uses mnbsd-ufs. AI-Assisted-by: Claude Opus 5.5 Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Lucas Holt <[email protected]>
extra_chroot_setup() builds EMBEDDEDPORTS with "make deinstall install clean distclean". Unlike the FreeBSD ports framework, mports' deinstall exits non-zero when the package is not installed, so under set -e the first build in a fresh chroot stops before anything is built. Dropping deinstall instead breaks re-runs, since mport install refuses a package that is already installed. Run deinstall as its own step and ignore its status, then install. AI-Assisted-by: Claude Opus 5.5 Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Lucas Holt <[email protected]>
Reviewer's GuideImplementationUse MidnightBSD’s
Run embedded-port deinstallation separately and ignore its failure so fresh builds and reruns can both proceed to installation.
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two fixes found while building the arm64 board images with
release.sh(RPI, PINE64, PINE64-LTS, PINEBOOK, ROCK64, ROCKPRO64) in a fresh 4.2 chroot from master 4430a4c.release/arm: use mnbsd-ufs for the root partition in MBR images
In the MBR branch of
arm_create_disk(), the BSD-label root partition is created withgpart add -t freebsd-ufs. The MidnightBSD bsd scheme rejects that withgpart: Invalid argument, because its FFS alias ismnbsd-ufs. The GPT branch already usesmnbsd-ufs. This affects RPI and the 32-bit GENERICSD and RPI-B images. There are no otherfreebsd-*partition types left underrelease/or intools/boot/install-boot.sh.release.sh: do not fail when an embedded port is not installed
Unlike FreeBSD's ports
deinstall, mports'deinstallexits non-zero when the package isn't installed. Underset -e, every board build in a fresh chroot therefore stopped before building u-boot. Droppingdeinstallaltogether breaks re-runs instead, becausemport installrefuses a package that's already installed. Sodeinstallnow runs as its own step with its status ignored, andinstall clean distcleanfollows.Testing
release.shproduced all six board images. The RPI image has the MBR/FAT32 boot slice, a BSD label withmnbsd-ufs, the u-boot, firmware and DTB set, andEFI/BOOT/bootaa64.efi.🤖 Generated with Claude Code
Summary by Sourcery
Fix ARM embedded image builds across fresh and repeat release environments.
Bug Fixes: