There are use cases where pi-gen can be useful that need different
image generation that the current defaults. Rather than force such
users to require carrying modified versions of the default exports,
allow users to specify alternate exports (e.g. instead of export-image
and export-noobs, or in addition to these). We do this using a
mechanism similar to STAGE_LIST, except that the lists of images are
per-stage and default to paying attention to the presence of
EXPORT_IMAGE and EXPORT_NOOBS as is currently the case.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* Tidy up and simplify function code
* Allow to pass extra arguments to debootstrap, e.g. `--variant minbase`
* Preserve compatibility with existing function calls
* Added Docker support
- replaced necessity for devicemapper (through kpartx) by using parted and
losetup with offsets
- added Dockerfile
- added dependency for parted and grep
- added hints to README.md
- common: loop through unmounts, fix shellcheck warnings
* stage2: use debconf instead of console-setup patch. Fixes#41
* export-noobs/prerun.sh: Use nested mountpoint
While it seems elegant and intuitive to use separate bootfs and rootfs
mountpoints for compressing the partitions, doing so violates a
precondition of unmount_image that they be mounted as a tree. This
causes the image to not be properly unmounted and detached. A better
solution might be to pack up the previous stage's chroot directory, but
that rework can wait for the time being.
scripts/common.sh: Output device name correctly
A misplaced ) in unmount_image caused the loop device to be incorrectly
identified, resulting in a fair bit of chaos trying to unmount other
filesystems on /dev/mapper devices. Such as / on a LUKS-encrypted
installation, for example. The unmount will fail as it should and
build.sh will abort the build without any cleanup. Best to avoid that.
These changes closeRPi-Distro/pi-gen#19