* Allow export image customisation
Add new variable EXPORT_CONFIG_DIR to set the location of the scripts
pigen will run when exporting an image. Setting this is optional. If
not specified, the current location is retained.
By utilising STAGE_LIST AND EXPORT_CONFIG_DIR, a user can construct
custom images out-of-tree without modification to any defaults.
(cherry picked from commit e5e6ceeaf46f52f77b759d3d35aef8bbd0a69c8b)
* Shellcheck and style fixes
Fixed shellcheck warnings and made the changes more consistent with the surrounding code
---------
Co-authored-by: Serge Schneider <serge@raspberrypi.com>
* build.sh: Unmount intermediates on trap
Iterate through image files which might be in use and detach them
Avoid silent failures - let the user know whether the build failed
* common: update unmount_image
Use udevadm settle instead of sleep if possible
Use losetup's -j option to find the loop device associated with a give image file
* build.sh: update clean-up trap term
---------
Co-authored-by: Serge Schneider <serge@raspberrypi.com>
* Compare mount output using base of dirname
If you're building from a bind-mounted directory, the build will
fail as it will find two entries to unmount, but a single unmount
will remove them both causing an error. Adding a space means that
the mountpoint will only match with a single mount entry ; the
expected path, rather than the pre bind-mount.
* Switch to awk instead of mount, grep, cut pipes
Retry unmount 5 times and give up, letting the user know that they need to resolve the issue manually
---------
Co-authored-by: David Peverley <pev@analogue-micro.com>
Co-authored-by: Serge Schneider <serge@raspberrypi.com>
keyboard-configuration scripts ignores debconf settings if it doesn't
detect an attached keyboard. Instead, it sets XKBOPTIONS to
lv3:ralt_switch, which is not a desired option. It also considers an
empty XKBOPTIONS string to be unset. This workaround sets it to a
placeholder value which is removed later. dpkg-reconfigure is run
so that debconf-get-selections prints the correct values.
Remove references to 'Raspbian', and instead refer to 'Raspberry Pi OS'.
Additionally, a first pass of editing for conciseness.
Replace bookworm instructions with bullseye