Set rudefox defaults

This commit is contained in:
B.J. Dweck 2020-09-01 20:40:26 +02:00
parent d6babca3c7
commit d58c7244ec
2 changed files with 35 additions and 18 deletions

View File

@ -1,7 +1,17 @@
# pi-gen
_Tool used to create the raspberrypi.org Raspbian images_ #Burrow Pi Image
This is a fork of the [pi-gen](https://github.com/RPi-Distro/pi-gen) project, the "tool used to create the raspberrypi.org Raspbian images". `pi-gen` serves as a decent base becuase it:
* Builds compact images that self-inflate on the device during the first boot
* Provides a comfortable development workflow
I modified `pi-gen` with the following features:
* Rudefox Burrow installed
* Auto-login
* Read-only filesystem (as a security measure to prevent you from accidentally storing sensitive information on this low-security hardware)
* Most user-space networking packages removed (kernel still included networking capabilities)
## Dependencies ## Dependencies
@ -29,13 +39,17 @@ environment variables.
The following environment variables are supported: The following environment variables are supported:
* `IMG_NAME` **required** (Default: unset) * `IMG_NAME` (Default: `RudefoxBurrow`)
The name of the image to build with the current stage directories. Setting The name of the image to build with the current stage directories. Setting
`IMG_NAME=Raspbian` is logical for an unmodified RPi-Distro/pi-gen build, `IMG_NAME=Raspbian` is logical for an unmodified RPi-Distro/pi-gen build,
but you should use something else for a customized version. Export files but you should use something else for a customized version. Export files
in stages may add suffixes to `IMG_NAME`. in stages may add suffixes to `IMG_NAME`.
* `RUDEFOX_BURROW_VERSION` (Default: `0.0.2`)
The version of Rudefox Burrow to download and install.
* `RELEASE` (Default: buster) * `RELEASE` (Default: buster)
The release version to build images against. Valid values are jessie, stretch The release version to build images against. Valid values are jessie, stretch
@ -83,11 +97,11 @@ The following environment variables are supported:
Setting to '1' enables the QEMU mode - creating an image that can be mounted via QEMU for an emulated Setting to '1' enables the QEMU mode - creating an image that can be mounted via QEMU for an emulated
environment. These images include "-qemu" in the image file name. environment. These images include "-qemu" in the image file name.
* `LOCALE_DEFAULT` (Default: "en_GB.UTF-8" ) * `LOCALE_DEFAULT` (Default: "en_US.UTF-8" )
Default system locale. Default system locale.
* `TARGET_HOSTNAME` (Default: "raspberrypi" ) * `TARGET_HOSTNAME` (Default: "burrow" )
Setting the hostname to the specified value. Setting the hostname to the specified value.
@ -99,7 +113,7 @@ The following environment variables are supported:
keyboard-configuration` and look at the keyboard-configuration` and look at the
`keyboard-configuration/model` value. `keyboard-configuration/model` value.
* `KEYBOARD_KEYMAP` (Default: "gb" ) * `KEYBOARD_KEYMAP` (Default: "us" )
Default keyboard keymap. Default keyboard keymap.
@ -122,11 +136,11 @@ The following environment variables are supported:
To get the current value from a running system, look in To get the current value from a running system, look in
`/etc/timezone`. `/etc/timezone`.
* `FIRST_USER_NAME` (Default: "pi" ) * `FIRST_USER_NAME` (Default: "rudefox" )
Username for the first user Username for the first user
* `FIRST_USER_PASS` (Default: "raspberry") * `FIRST_USER_PASS` (Default: "burrow")
Password for the first user Password for the first user
@ -138,14 +152,17 @@ The following environment variables are supported:
Setting to `1` will enable ssh server for remote log in. Note that if you are using a common password such as the defaults there is a high risk of attackers taking over you Raspberry Pi. Setting to `1` will enable ssh server for remote log in. Note that if you are using a common password such as the defaults there is a high risk of attackers taking over you Raspberry Pi.
* `STAGE_LIST` (Default: `stage*`) * `STAGE_LIST` (Default: `stage[0-2]`)
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. The default setting builds only the "lite" image for Rudefox Burrow, which is all you need.
A simple example for building Raspbian: 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.
A simple example for building RaspbianBurrow:
```bash ```bash
IMG_NAME='Raspbian' APT_PROXY=http://172.17.10.10:3142
TIMEZONE_DEFAULT="America/Toronto"
``` ```
The config file can also be specified on the command line as an argument the `build.sh` or `build-docker.sh` scripts. The config file can also be specified on the command line as an argument the `build.sh` or `build-docker.sh` scripts.

View File

@ -159,20 +159,20 @@ export DEPLOY_DIR=${DEPLOY_DIR:-"${BASE_DIR}/deploy"}
export DEPLOY_ZIP="${DEPLOY_ZIP:-1}" export DEPLOY_ZIP="${DEPLOY_ZIP:-1}"
export LOG_FILE="${WORK_DIR}/build.log" export LOG_FILE="${WORK_DIR}/build.log"
export TARGET_HOSTNAME=${TARGET_HOSTNAME:-raspberrypi} export TARGET_HOSTNAME=${TARGET_HOSTNAME:-burrow}
export FIRST_USER_NAME=${FIRST_USER_NAME:-pi} export FIRST_USER_NAME=${FIRST_USER_NAME:-rudefox}
export FIRST_USER_PASS=${FIRST_USER_PASS:-raspberry} export FIRST_USER_PASS=${FIRST_USER_PASS:-burrow}
export RELEASE=${RELEASE:-buster} export RELEASE=${RELEASE:-buster}
export WPA_ESSID export WPA_ESSID
export WPA_PASSWORD export WPA_PASSWORD
export WPA_COUNTRY export WPA_COUNTRY
export ENABLE_SSH="${ENABLE_SSH:-0}" export ENABLE_SSH="${ENABLE_SSH:-0}"
export LOCALE_DEFAULT="${LOCALE_DEFAULT:-en_GB.UTF-8}" export LOCALE_DEFAULT="${LOCALE_DEFAULT:-en_US.UTF-8}"
export KEYBOARD_MODEL="${KEYBOARD_MODEL:-Generic 101-key PC}" export KEYBOARD_MODEL="${KEYBOARD_MODEL:-Generic 101-key PC}"
export KEYBOARD_KEYMAP="${KEYBOARD_KEYMAP:-gb}" export KEYBOARD_KEYMAP="${KEYBOARD_KEYMAP:-us}"
export KEYBOARD_LAYOUT="${KEYBOARD_LAYOUT:-English (UK)}" export KEYBOARD_LAYOUT="${KEYBOARD_LAYOUT:-English (UK)}"
export TIMEZONE_DEFAULT="${TIMEZONE_DEFAULT:-Europe/London}" export TIMEZONE_DEFAULT="${TIMEZONE_DEFAULT:-Europe/London}"
@ -227,7 +227,7 @@ fi
mkdir -p "${WORK_DIR}" mkdir -p "${WORK_DIR}"
log "Begin ${BASE_DIR}" log "Begin ${BASE_DIR}"
STAGE_LIST=${STAGE_LIST:-${BASE_DIR}/stage*} STAGE_LIST=${STAGE_LIST:-${BASE_DIR}/stage[0-2]}
for STAGE_DIR in $STAGE_LIST; do for STAGE_DIR in $STAGE_LIST; do
STAGE_DIR=$(realpath "${STAGE_DIR}") STAGE_DIR=$(realpath "${STAGE_DIR}")