* 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
Although the loop block device is created before attaching the image
to it, the devices for the partition that the image contains are still
not created. This patch creates those devices as well, when they are
not already available.
Fixes#482
Signed-off-by: Vasilis Tsiligiannis <acinonyx@openwrt.gr>