Compare commits

...
Author SHA1 Message Date
Serge Schneider e577677b62 Update release notes 2020-02-05 15:37:57 +00:00
Serge Schneider 87f7a59cab Update release notes 2020-02-03 13:22:33 +00:00
Serge Schneider 306c7eba3b Update release notes 2020-01-28 12:44:12 +00:00
Serge Schneider b4ea63c045 Update persistent rkfill files 2020-01-28 12:44:12 +00:00
Serge Schneider bdbd85892e Update MagPi URL scheme 2020-01-27 15:20:33 +00:00
Serge Schneider ca31aef1f7 stage5: install code-the-classics 2020-01-24 13:09:04 +00:00
Serge Schneider 0a6624b26d Update ROOT_MARGIN 2020-01-24 12:48:57 +00:00
Serge Schneider 24bb01dec2 Rename HOSTNAME variable to TARGET_HOSTNAME
Bash sets the HOSTNAME variable, overriding our default
2020-01-21 17:45:22 +00:00
Andrew Pattison f8f3d6fe93 capitalise Raspberry Pi 2020-01-08 12:01:12 +00:00
Andrew Pattison f9375cdcec README.md - mention WPA_PASSWORD length requirement 2020-01-08 12:01:12 +00:00
Sam Tygier 9d334bee66 WPA_PASSWORD length check should only occur if set
Test if WPA_PASSWORD is set before check that it has a valid length.
2020-01-08 08:59:55 +00:00
Sam Tygier 024840034e Check WPA_PASSWORD length early
WPA_PASSWORD needs to be between 8 adn 63 characters. Check early
to avoid hitting error in stage2.
2020-01-07 08:07:48 +00:00
Sam Tygier 271177a0f7 Use tee with wpa_passphrase so errors are visable
wpa_passphrase writes its error messages to stdout, so this needs to
tee so that errors are visable to user. Also need to enable pipefail
so that the error code still gets caught.
2020-01-07 08:07:48 +00:00
Christian Decker 9d15c0f7d1 move picraft to stage where minecraft is installed (#362) 2019-12-12 10:15:17 +00:00
RaspberryPiFan 32353a162b Updated info about stage4 and stage5 (#359) 2019-12-09 11:57:26 +00:00
Christian Decker 18c3cebe94 configure unprotected wifi when WPA_PASSWORD is unset (#357) 2019-12-05 15:08:04 +00:00
RaspberryPiFan 8bdbbfb099 Added stage 5 to the text (#353) 2019-11-27 16:11:20 +00:00
RaspberryPiFan d7c1ae21ca New types of images. (#352) 2019-11-26 15:49:49 +00:00
Leander 5456c3801f Explicitly check if postrun script exists in BASE_DIR (#351) 2019-11-26 15:03:47 +00:00
Leander 5e19033387 Remove accidental trailing brace (#348) 2019-11-18 14:38:54 +00:00
Leander 7f143a185e Export base directory before loading config file (#347) 2019-11-18 13:32:16 +00:00
snoe925 a449c75fac OS X does not have realpath (#342)
Check that realpath is present.  OS X doesn't have realpath.  The RPi builds on Docker for Mac if you increase the VM size. I am using 256G for my image.  See the Docker for Mac preferences.
2019-11-11 18:23:58 +00:00
Serge Schneider 95ba042c83 Add hostname to /etc/hosts 2019-11-06 14:33:07 +00:00
Rene Klootwijk d30343f626 Added hostname parameter 2019-11-05 17:21:33 +00:00
Serge Schneider 19c0188798 Ensure debootstrap runs through 'sh' rather than 'bash'
This fixes #338 and fixes #294
2019-10-30 13:31:07 +00:00
Matthijs Kooijman 336ff2107e Document how to get values for the localization values 2019-10-14 10:55:10 +01:00
Serge Schneider 8026d9dc8f Update changelog 2019-10-14 10:54:20 +01:00
16 changed files with 88 additions and 40 deletions
+1 -1
View File
@@ -6,7 +6,7 @@ RUN apt-get -y update && \
apt-get -y install \
git vim parted \
quilt coreutils qemu-user-static debootstrap zerofree zip dosfstools \
bsdtar libcap2-bin rsync grep udev xz-utils curl xxd file kmod\
bsdtar libcap2-bin rsync grep udev xz-utils curl xxd file kmod bc\
&& rm -rf /var/lib/apt/lists/*
COPY . /pi-gen/
+24 -10
View File
@@ -14,7 +14,7 @@ To install the required dependencies for pi-gen you should run:
```bash
apt-get install coreutils quilt parted qemu-user-static debootstrap zerofree zip \
dosfstools bsdtar libcap2-bin grep rsync xz-utils file git curl
dosfstools bsdtar libcap2-bin grep rsync xz-utils file git curl bc
```
The file `depends` contains a list of tools needed. The format of this
@@ -82,18 +82,33 @@ The following environment variables are supported:
Default system locale.
* `TARGET_HOSTNAME` (Default: "raspberrypi" )
Setting the hostname to the specified value.
* `KEYBOARD_KEYMAP` (Default: "gb" )
Default keyboard keymap.
To get the current value from a running system, run `debconf-show
keyboard-configuration` and look at the
`keyboard-configuration/xkb-keymap` value.
* `KEYBOARD_LAYOUT` (Default: "English (UK)" )
Default keyboard layout.
To get the current value from a running system, run `debconf-show
keyboard-configuration` and look at the
`keyboard-configuration/variant` value.
* `TIMEZONE_DEFAULT` (Default: "Europe/London" )
Default keyboard layout.
To get the current value from a running system, look in
`/etc/timezone`.
* `FIRST_USER_NAME` (Default: "pi" )
Username for the first user
@@ -104,7 +119,7 @@ The following environment variables are supported:
* `WPA_ESSID`, `WPA_PASSWORD` and `WPA_COUNTRY` (Default: unset)
If these are set, they are use to configure `wpa_supplicant.conf`, so that the raspberry pi can automatically connect to a wifi network on first boot.
If these are set, they are use to configure `wpa_supplicant.conf`, so that the Raspberry Pi can automatically connect to a wifi network on first boot. If `WPA_ESSID` is set and `WPA_PASSWORD` is unset an unprotected wifi network will be configured. If set, `WPA_PASSWORD` must be between 8 and 63 characters.
* `ENABLE_SSH` (Default: `0`)
@@ -262,14 +277,13 @@ maintenance and allows for more easy customization.
enhancements, etc. This is a base desktop system, with some development
tools installed.
- **Stage 4** - Raspbian system meant to fit on a 4GB card. More development
tools, an email client, learning tools like Scratch, specialized packages
like sonic-pi, system documentation, office productivity, etc. This is the
stage that installs all of the things that make Raspbian friendly to new
users.
- **Stage 4** - Normal Raspbian image. System meant to fit on a 4GB card. This is the
stage that installs most things that make Raspbian friendly to new
users like system documentation.
- **Stage 5** - The official Raspbian Desktop image. Right now only adds
Mathematica.
- **Stage 5** - The Raspbian Full image. More development
tools, an email client, learning tools like Scratch, specialized packages
like sonic-pi, office productivity, etc.
### Stage specification
@@ -277,7 +291,7 @@ If you wish to build up to a specified stage (such as building up to stage 2
for a lite system), place an empty file named `SKIP` in each of the `./stage`
directories you wish not to include.
Then add an empty file named `SKIP_IMAGES` to `./stage4` (if building up to stage 2) or
Then add an empty file named `SKIP_IMAGES` to `./stage4` and `./stage5` (if building up to stage 2) or
to `./stage2` (if building a minimal system).
```bash
+2
View File
@@ -31,7 +31,9 @@ do
done
# Ensure that the configuration file is an absolute path
if test -x /usr/bin/realpath; then
CONFIG_FILE=$(realpath -s "$CONFIG_FILE")
fi
# Ensure that the confguration file is present
if test -z "${CONFIG_FILE}"; then
+10 -4
View File
@@ -122,6 +122,8 @@ if [ "$(id -u)" != "0" ]; then
exit 1
fi
BASE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
export BASE_DIR
if [ -f config ]; then
# shellcheck disable=SC1091
@@ -154,13 +156,14 @@ export IMG_DATE="${IMG_DATE:-"$(date +%Y-%m-%d)"}"
export IMG_FILENAME="${IMG_FILENAME:-"${IMG_DATE}-${IMG_NAME}"}"
export ZIP_FILENAME="${ZIP_FILENAME:-"image_${IMG_DATE}-${IMG_NAME}"}"
BASE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
export SCRIPT_DIR="${BASE_DIR}/scripts"
export WORK_DIR="${WORK_DIR:-"${BASE_DIR}/work/${IMG_DATE}-${IMG_NAME}"}"
export DEPLOY_DIR=${DEPLOY_DIR:-"${BASE_DIR}/deploy"}
export DEPLOY_ZIP="${DEPLOY_ZIP:-1}"
export LOG_FILE="${WORK_DIR}/build.log"
export TARGET_HOSTNAME=${TARGET_HOSTNAME:-raspberrypi}
export FIRST_USER_NAME=${FIRST_USER_NAME:-pi}
export FIRST_USER_PASS=${FIRST_USER_PASS:-raspberry}
export WPA_ESSID
@@ -177,8 +180,6 @@ export TIMEZONE_DEFAULT="${TIMEZONE_DEFAULT:-Europe/London}"
export GIT_HASH=${GIT_HASH:-"$(git rev-parse HEAD)"}
export BASE_DIR
export CLEAN
export IMG_NAME
export APT_PROXY
@@ -219,6 +220,11 @@ if [[ -n "${APT_PROXY}" ]] && ! curl --silent "${APT_PROXY}" >/dev/null ; then
exit 1
fi
if [[ -n "${WPA_PASSWORD}" && ${#WPA_PASSWORD} -lt 8 || ${#WPA_PASSWORD} -gt 63 ]] ; then
echo "WPA_PASSWORD" must be between 8 and 63 characters
exit 1
fi
mkdir -p "${WORK_DIR}"
log "Begin ${BASE_DIR}"
@@ -246,7 +252,7 @@ for EXPORT_DIR in ${EXPORT_DIRS}; do
fi
done
if [ -x postrun.sh ]; then
if [ -x ${BASE_DIR}/postrun.sh ]; then
log "Begin postrun.sh"
cd "${BASE_DIR}"
./postrun.sh
+1
View File
@@ -16,3 +16,4 @@ xxd
file
git
lsmod:kmod
bc
+1 -1
View File
@@ -18,7 +18,7 @@ ALIGN="$((4 * 1024 * 1024))"
# some overhead (since actual space usage is usually rounded up to the
# filesystem block size) and gives some free space on the resulting
# image.
ROOT_MARGIN=$((800*1024*1024))
ROOT_MARGIN="$(echo "($ROOT_SIZE * 0.2 + 200 * 1024 * 1024) / 1" | bc)"
BOOT_PART_START=$((ALIGN))
BOOT_PART_SIZE=$(((BOOT_SIZE + ALIGN - 1) / ALIGN * ALIGN))
@@ -1,4 +1,29 @@
UNRELEASED:
* Version 3.2.6 of Thonny included - significant improvements in speed, particularly when debugging
* Version 1.0.4 of Scratch 3 included - adds new "display stage" and "display sprite" blocks to SenseHAT extension, and loading of files from command line
* Version 32.0.0.314 of Flash player included
* Version 1.0.3 of NodeRED included
* Version 6.6.0 of RealVNC Server and version 6.19.923 of RealVNC Viewer included - adds support for audio
* Version 78.0.3904.108 of Chromium included
* Mesa updated to 19.3.2 for OpenGL ES 3.1 conformance
* Pixel doubling option added in Raspberry Pi Configuration on platforms using FKMS display driver
* Orca screen reader added to Recommended Software
* Code The Classics Python games added to Recommended Software
* File manager - new "places" pane added at top of sidebar to show mounted drives in simplified view; "new folder" icon added to taskbar; expanders in directory browser now correctly show state of subfolders
* Multiple monitor support improved - alignment of icons on second desktop corrected, Appearance Settings opens on correct tab when launched from context menu
* Raspberry Pi Touchscreen correctly aligned with display
* System clock synchronised before installing new packages in startup wizard and Recommended Software
* Mixer dialogs added to taskbar volume plugin; separate Audio Preferences application removed
* Raspberry Pi Configuration - separate tab added for display options; screen blanking control added
* Volume taskbar plugin and raspi-config modified to support separate ALSA devices for internal audio outputs (analogue and HDMI 1 and 2)
* Robustness improvements in volume, ejecter and battery taskbar plugins
* Movement of mouse pointer to menu button on startup now controlled by point_at_menu parameter in Global section of lxpanel configuration file
* Ctrl-Alt-Del and Ctrl-Alt-End shortcuts added to open shutdown options box
* Ctrl-Shift-Esc shortcut added to open task manager
* Enabled NEON routines in OpenSSL
* Linux kernel 4.19.93
* Raspberry Pi firmware 67392a7a32bddad7f571047fccafca9eeb65d29c
2019-09-26:
* rpi-eeprom included
- This will automatically update the SPI EEPROM on the Raspberry Pi 4 to the latest stable version.
See https://rpf.io/eeprom for more information.
+2 -1
View File
@@ -17,8 +17,9 @@ bootstrap(){
BOOTSTRAP_ARGS+=(--components "main,contrib,non-free")
BOOTSTRAP_ARGS+=(--keyring "${STAGE_DIR}/files/raspberrypi.gpg")
BOOTSTRAP_ARGS+=("$@")
printf -v BOOTSTRAP_STR '%q ' "${BOOTSTRAP_ARGS[@]}"
setarch linux32 capsh --drop=cap_setfcap -- "${BOOTSTRAP_CMD}" "${BOOTSTRAP_ARGS[@]}" || true
setarch linux32 capsh --drop=cap_setfcap -- -c "'${BOOTSTRAP_CMD}' $BOOTSTRAP_STR" || true
if [ -d "$2/debootstrap" ]; then
rmdir "$2/debootstrap"
@@ -1,9 +0,0 @@
Index: jessie-stage1/rootfs/etc/hosts
===================================================================
--- jessie-stage1.orig/rootfs/etc/hosts
+++ jessie-stage1/rootfs/etc/hosts
@@ -3,3 +3,4 @@
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
+127.0.1.1 raspberrypi
-1
View File
@@ -1 +0,0 @@
01-hosts.diff
+2 -1
View File
@@ -1,5 +1,6 @@
#!/bin/bash -e
install -m 644 files/hostname "${ROOTFS_DIR}/etc/hostname"
echo "${TARGET_HOSTNAME}" > "${ROOTFS_DIR}/etc/hostname"
echo "127.0.1.1 ${TARGET_HOSTNAME}" >> "${ROOTFS_DIR}/etc/hosts"
ln -sf /dev/null "${ROOTFS_DIR}/etc/systemd/network/99-default.link"
-1
View File
@@ -1 +0,0 @@
raspberrypi
+12 -3
View File
@@ -12,11 +12,20 @@ fi
if [ -v WPA_ESSID ] && [ -v WPA_PASSWORD ]; then
on_chroot <<EOF
wpa_passphrase "${WPA_ESSID}" "${WPA_PASSWORD}" >> "/etc/wpa_supplicant/wpa_supplicant.conf"
set -o pipefail
wpa_passphrase "${WPA_ESSID}" "${WPA_PASSWORD}" | tee -a "/etc/wpa_supplicant/wpa_supplicant.conf"
EOF
elif [ -v WPA_ESSID ]; then
cat >> "${ROOTFS_DIR}/etc/wpa_supplicant/wpa_supplicant.conf" << EOL
network={
ssid="${WPA_ESSID}"
key_mgmt=NONE
}
EOL
fi
# Disable wifi on 5GHz models
mkdir -p "${ROOTFS_DIR}/var/lib/systemd/rfkill/"
echo 1 > "${ROOTFS_DIR}/var/lib/systemd/rfkill/platform-3f300000.mmc:wlan"
echo 1 > "${ROOTFS_DIR}/var/lib/systemd/rfkill/platform-fe300000.mmc:wlan"
echo 1 > "${ROOTFS_DIR}/var/lib/systemd/rfkill/platform-3f300000.mmcnr:wlan"
echo 1 > "${ROOTFS_DIR}/var/lib/systemd/rfkill/platform-fe300000.mmcnr:wlan"
-1
View File
@@ -18,7 +18,6 @@ python-spidev python3-spidev
python-twython python3-twython
python-smbus python3-smbus
python-flask python3-flask
python-picraft python3-picraft
pprompt
piwiz
rp-prefapps
+3 -3
View File
@@ -1,12 +1,12 @@
#!/bin/sh -e
magpi_regex="MagPi[[:digit:]]*.pdf"
magpi_loc="https://www.raspberrypi.org/magpi-issues"
magpi_latest="$(curl "$magpi_loc/?C=M;O=D" -s | grep "$magpi_regex" -m 1 -o | head -n 1)"
magpi_loc="$(curl -s https://magpi.raspberrypi.org/latest-pdf)"
magpi_latest="$(echo "$magpi_loc" | grep "$magpi_regex" -m 1 -o)"
if [ ! -f "files/$magpi_latest" ]; then
find files/ -regextype grep -regex "files/$magpi_regex" -delete
wget "$magpi_loc/$magpi_latest" -O "files/$magpi_latest"
wget "$magpi_loc" -O "files/$magpi_latest"
fi
file "files/$magpi_latest" | grep -q "PDF document"
+2 -1
View File
@@ -3,7 +3,7 @@ sonic-pi
scratch nuscratch scratch2 scratch3
smartsim
minecraft-pi python-minecraftpi
minecraft-pi python-minecraftpi python-picraft python3-picraft
python-sense-emu sense-emu-tools python-sense-emu-doc
wolfram-engine
@@ -13,3 +13,4 @@ nodered
realvnc-vnc-viewer
python-games
code-the-classics