diff --git a/README.md b/README.md index 71be938..a246b5f 100644 --- a/README.md +++ b/README.md @@ -205,6 +205,10 @@ The following environment variables are supported: If set, then instead of working through the numeric stages in order, this list will be followed. For example setting to `"stage0 stage1 mystage stage2"` will run the contents of `mystage` before stage2. Note that quotes are needed around the list. An absolute or relative path can be given for stages outside the pi-gen directory. + * `EXPORT_CONFIG_DIR` (Default: `$BASE_DIR/export-image`) + + If set, use this directory path as the location of scripts to run when generating images. An absolute or relative path can be given for a location outside the pi-gen directory. + A simple example for building Raspberry Pi OS: ```bash diff --git a/build.sh b/build.sh index a96f4e4..4864dd6 100755 --- a/build.sh +++ b/build.sh @@ -301,6 +301,13 @@ log "Begin ${BASE_DIR}" STAGE_LIST=${STAGE_LIST:-${BASE_DIR}/stage*} export STAGE_LIST +EXPORT_CONFIG_DIR=$(realpath "${EXPORT_CONFIG_DIR:-"${BASE_DIR}/export-image"}") +if [ ! -d "${EXPORT_CONFIG_DIR}" ]; then + echo "EXPORT_CONFIG_DIR invalid: ${EXPORT_CONFIG_DIR} does not exist" + exit 1 +fi +export EXPORT_CONFIG_DIR + for STAGE_DIR in $STAGE_LIST; do STAGE_DIR=$(realpath "${STAGE_DIR}") run_stage @@ -308,7 +315,7 @@ done CLEAN=1 for EXPORT_DIR in ${EXPORT_DIRS}; do - STAGE_DIR=${BASE_DIR}/export-image + STAGE_DIR=${EXPORT_CONFIG_DIR} # shellcheck source=/dev/null source "${EXPORT_DIR}/EXPORT_IMAGE" EXPORT_ROOTFS_DIR=${WORK_DIR}/$(basename "${EXPORT_DIR}")/rootfs