feat(ci/cd): migrate from Packer to use official rpi-image-gen tool#353
Open
zytegalaxy wants to merge 146 commits into
Open
feat(ci/cd): migrate from Packer to use official rpi-image-gen tool#353zytegalaxy wants to merge 146 commits into
rpi-image-gen tool#353zytegalaxy wants to merge 146 commits into
Conversation
…quickly test audio input/output devices
… rendering a notification to force a redraw)
…of the function to be ready in the runner thread before returning it
…inal behind it by default when stage manager is on and streamline development
…ent image generation
…o the reducer, previously implemented via autorun
…electing assistant engines
…switch service to switch between available image generator services
…m main.py to `UboSwitch`
…pod's display on user demand
…cronyms in them like, `QRCodeInputDescription`
…nts can send actions with different types of `InputDescription`, previosuly they could only impossibly send abstract `InputDescription` itself
…redux bus when viewfinder is open
…y-content-feed to the llm
… changes to the input transport of the assistant client
…bugs here and there
…nt anywhere by holding the home key in
ubo-bootstrap writes polkit rules to /etc/polkit-1/rules.d/ (needs polkitd) and calls raspi-config to enable I2C/SPI. Both were present in the full RPi OS image Packer used but missing from rpi-image-gen's minbase. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
In chroot (--in-packer), there is no running systemd or user dbus session. Skip daemon_reload() entirely and create user service enable symlinks manually instead of calling systemctl --user enable. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
e4c6864 to
990f564
Compare
venv.create() inside preexec_fn fails in chroot environments because the forked child process has an incomplete user environment after setuid. Move venv creation to the main process (as root), fix ownership with os.walk, and only use preexec_fn for the uid/gid drop. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
venv.create(with_pip=True) requires the stdlib venv module which on Debian is in the python3-venv package (separate from python3-virtualenv). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove the rpi-image-gen work directory (chroot filesystem) and staging files after the image is built. This frees several GB before the gzip compression step which needs space for chunk splitting. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
0f88f06 to
049ee11
Compare
03af82a to
b6aed07
Compare
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.
This pull request migrates the Raspberry Pi OS image build process from using Packer to the official
rpi-image-gentool. It introduces new configuration and layer files forrpi-image-gen, updates the GitHub Actions workflow to use the new tool, and removes the old Packer scripts. The new approach provides greater flexibility and maintainability for building custom UBO App images.Migration to rpi-image-gen:
.github/workflows/integration_delivery.yml: Replaces the Packer-based image build steps with steps to clone, install, and userpi-image-gen, including preparing a staging directory and updating artifact handling. Matrix configuration is updated to use variants and YAML configs instead of suffixes. [1] [2]New configuration and layer files for rpi-image-gen:
scripts/rpi-image-gen/config/ubo-default.yaml,scripts/rpi-image-gen/config/ubo-lite.yaml: Introduce YAML configs for default and lite image variants, specifying device, image, layer, and staging directory settings. [1] [2]scripts/rpi-image-gen/layer/ubo-base.yaml: Adds the base layer definition for UBO App images, including required packages and customization hooks for installing the app and configuring system services.scripts/rpi-image-gen/layer/ubo-desktop.yaml: Adds a desktop layer for the default variant, configuring LightDM autologin and removing unwanted autostart entries.Removal of Packer scripts:
scripts/packer/image.pkr.hcl,scripts/packer/image-local.pkr.hcl: Remove old Packer configuration files and provisioners, as the build process now usesrpi-image-gen. [1] [2]