mirror of
https://github.com/openglow-org/forgefirm.git
synced 2026-09-29 09:31:17 -07:00
ffboot v2: slot inventory, verified atomic env flips, target probe
-l inventories every bootable partition (SD, eMMC slots 1/2, legacy p4) as machine-parsable key=value lines: firmware type (forgefirm/factory), version, kernel presence, booted/next markers, plus the saved-env selection - the shared probe for the installer and the forgectrl update manager. Boot switching now writes all four selection variables (mmcdev, mmchwpart, mmcpart, mmcroot) in one fw_setenv -s transaction and read-back verifies, falling back from the libubootenv script format to the classic u-boot-tools format to per-variable writes - the same script works on factory firmware and ForgeFIRM. mmchwpart was previously never set and a mixed env could survive a mid-flip power cut. Switch targets must pass a content probe (rootfs mounts, kernel present) unless -f. -e picks the newest factory slot by probing, excluding slots occupied by ForgeFIRM. The new ffboot recipe installs it as /usr/sbin/ffboot with /etc/fw_env.config (factory-identical redundant env layout at eMMC 0x80000/0x82000) - previously the image shipped fw_setenv with no config. Added to forgefirm-image.
This commit is contained in:
@@ -18,7 +18,8 @@ IMAGE_INSTALL:remove = "gfui-client"
|
||||
# forgectrl runtime dependency, kept explicit here for bring-up use).
|
||||
# fwup: applies signed .fw archives (ForgeFIRM upgrades + factory restore)
|
||||
# to the inactive rootfs slot.
|
||||
IMAGE_INSTALL:append = " grblhal-glowforge forgectrl gfhome v4l-utils fwup"
|
||||
# ffboot: boot-slot inventory and switching (also ships fw_env.config).
|
||||
IMAGE_INSTALL:append = " grblhal-glowforge forgectrl gfhome v4l-utils fwup ffboot"
|
||||
|
||||
# The release rootfs must fit a 200 MiB factory eMMC slot (409600 blocks).
|
||||
# Sizing: content + 40 MiB working space, hard-capped at the slot size —
|
||||
|
||||
Reference in New Issue
Block a user