From 8f017cb69ab1dc6d380d289b300060626435718c Mon Sep 17 00:00:00 2001 From: Ross Schulman Date: Sun, 26 Feb 2017 13:12:37 -0500 Subject: [PATCH 01/26] Building in a different direction by replacing stage folders (#51) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6ea2c21..0603869 100755 --- a/README.md +++ b/README.md @@ -114,3 +114,4 @@ Then remove the `EXPORT*` files from `./stage4` (if building up to stage 2) or f $ touch ./stage3/SKIP ./stage4/SKIP $ rm stage4/EXPORT* ``` +If you wish to build further configurations upon (for example) the lite system, you can also delete the contents of `./stage3` and `./stage4` and replace with your own contents in the same format. From 51fbf45dd70756b6c1a3d76f5caa68eef7e065d5 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Thu, 16 Feb 2017 14:22:27 +0000 Subject: [PATCH 02/26] stage2: Manually install /etc/default/console-setup debconf alone does not seem to work --- stage2/01-sys-tweaks/01-run.sh | 1 + stage2/01-sys-tweaks/files/console-setup | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 stage2/01-sys-tweaks/files/console-setup diff --git a/stage2/01-sys-tweaks/01-run.sh b/stage2/01-sys-tweaks/01-run.sh index 69fa107..c10705c 100755 --- a/stage2/01-sys-tweaks/01-run.sh +++ b/stage2/01-sys-tweaks/01-run.sh @@ -9,6 +9,7 @@ install -m 644 files/ttyoutput.conf ${ROOTFS_DIR}/etc/systemd/system/rc-local. install -m 644 files/50raspi ${ROOTFS_DIR}/etc/apt/apt.conf.d/ +install -m 644 files/console-setup ${ROOTFS_DIR}/etc/default/ on_chroot << EOF systemctl disable hwclock.sh diff --git a/stage2/01-sys-tweaks/files/console-setup b/stage2/01-sys-tweaks/files/console-setup new file mode 100644 index 0000000..6508cdc --- /dev/null +++ b/stage2/01-sys-tweaks/files/console-setup @@ -0,0 +1,16 @@ +# CONFIGURATION FILE FOR SETUPCON + +# Consult the console-setup(5) manual page. + +ACTIVE_CONSOLES="/dev/tty[1-6]" + +CHARMAP="UTF-8" + +CODESET="guess" +FONTFACE="" +FONTSIZE="" + +VIDEOMODE= + +# The following is an example how to use a braille font +# FONT='lat9w-08.psf.gz brl-8x8.psf' From 37902fb11422fe6bfcd96bbb2744324ee3b384c0 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Thu, 16 Feb 2017 14:36:23 +0000 Subject: [PATCH 03/26] export-image: Format /boot as FAT32 --- export-image/prerun.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/export-image/prerun.sh b/export-image/prerun.sh index a3581b3..ec440c9 100755 --- a/export-image/prerun.sh +++ b/export-image/prerun.sh @@ -50,7 +50,7 @@ ROOT_DEV=$(losetup --show -f -o ${ROOT_OFFSET} --sizelimit ${ROOT_LENGTH} ${IMG_ echo "/boot: offset $BOOT_OFFSET, length $BOOT_LENGTH" echo "/: offset $ROOT_OFFSET, length $ROOT_LENGTH" -mkdosfs -n boot -S 512 -s 16 -v $BOOT_DEV > /dev/null +mkdosfs -n boot -F 32 -v $BOOT_DEV > /dev/null mkfs.ext4 -O ^huge_file $ROOT_DEV > /dev/null mount -v $ROOT_DEV ${ROOTFS_DIR} -t ext4 From 3fa66a06993c2c24a32bee4ad1f0b7c33d6e1ea1 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Thu, 16 Feb 2017 15:07:17 +0000 Subject: [PATCH 04/26] Update release notes --- export-noobs/00-release/files/release_notes.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/export-noobs/00-release/files/release_notes.txt b/export-noobs/00-release/files/release_notes.txt index 4d06294..3b068c8 100644 --- a/export-noobs/00-release/files/release_notes.txt +++ b/export-noobs/00-release/files/release_notes.txt @@ -1,4 +1,19 @@ UNRELEASED: + * Chromium browser updated to version 56 + * Adobe Flash Player updated to version 24.0.0.221 + * RealVNC Server and Viewer updated to version 6.0.2 (RealVNC Connect) + * Sonic Pi updated to version 2.11 + * Node-RED updated to version 0.15.3 + * Scratch updated to version 120117 + * Detection of SSH enabled with default password moved into PAM + * Updated desktop GL driver to support use of fake KMS option + * Raspberry Pi Configuration and raspi-config allow setting of fixed HDMI resolution + * raspi-config allows enabling of serial hardware independent of serial terminal + * Updates to kernel and firmware + * Various minor bug fixes and usability and appearance tweaks +2017-01-11: + * Re-release of the 2016-11-25 image with a FAT32-formatted boot partition +2016-11-25: * SSH disabled by default; can be enabled by creating a file with name "ssh" in boot partition * Prompt for password change at boot when SSH enabled with default password unchanged * Adobe Flash Player included From 5cccd741fe300dbdfe857f8b5b5295a057d1f21b Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Thu, 16 Feb 2017 15:34:40 +0000 Subject: [PATCH 05/26] stage4: install RealVNC with no recommends --- stage4/00-install-packages/00-packages | 1 - stage4/00-install-packages/00-packages-nr | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/stage4/00-install-packages/00-packages b/stage4/00-install-packages/00-packages index 0b5859b..c3783b4 100644 --- a/stage4/00-install-packages/00-packages +++ b/stage4/00-install-packages/00-packages @@ -27,7 +27,6 @@ piclone pulseaudio-module-bluetooth wiringpi pigpio python-pigpio python3-pigpio raspi-gpio python-gpiozero python3-gpiozero python3-rpi.gpio python-spidev python3-spidev -realvnc-vnc-server realvnc-vnc-viewer python-twython python3-twython python-smbus python3-smbus python-flask python3-flask diff --git a/stage4/00-install-packages/00-packages-nr b/stage4/00-install-packages/00-packages-nr index aac3603..561403c 100644 --- a/stage4/00-install-packages/00-packages-nr +++ b/stage4/00-install-packages/00-packages-nr @@ -1,3 +1,4 @@ libreoffice libreoffice-gtk timidity pi-package +realvnc-vnc-server realvnc-vnc-viewer From d664bfed4b470b477f030cd946d1ca97c0d009be Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Thu, 2 Mar 2017 19:11:05 +0000 Subject: [PATCH 06/26] Update release notes --- export-noobs/00-release/files/release_notes.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/export-noobs/00-release/files/release_notes.txt b/export-noobs/00-release/files/release_notes.txt index 3b068c8..7e8e550 100644 --- a/export-noobs/00-release/files/release_notes.txt +++ b/export-noobs/00-release/files/release_notes.txt @@ -1,4 +1,6 @@ UNRELEASED: + * Updated kernel and firmware (final Pi Zero W support) +2017-02-16: * Chromium browser updated to version 56 * Adobe Flash Player updated to version 24.0.0.221 * RealVNC Server and Viewer updated to version 6.0.2 (RealVNC Connect) From a68a0713e63ce0e643a2813a1a7d026ac94840a1 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Fri, 3 Mar 2017 13:30:15 +0000 Subject: [PATCH 07/26] Format boot partition as FAT32 --- export-noobs/00-release/files/partitions.json | 1 + 1 file changed, 1 insertion(+) diff --git a/export-noobs/00-release/files/partitions.json b/export-noobs/00-release/files/partitions.json index 908f82d..c2e2bcb 100644 --- a/export-noobs/00-release/files/partitions.json +++ b/export-noobs/00-release/files/partitions.json @@ -3,6 +3,7 @@ { "filesystem_type": "FAT", "label": "boot", + "mkfs_options": "-F 32", "partition_size_nominal": BOOT_NOM, "uncompressed_tarball_size": BOOT_SIZE, "want_maximised": false From daa9e35ada83e922b01afd8d029d660835fc4ea9 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Fri, 3 Mar 2017 13:22:06 +0000 Subject: [PATCH 08/26] Copy ssh and ssh.txt to boot partition --- export-noobs/00-release/files/partition_setup.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/export-noobs/00-release/files/partition_setup.sh b/export-noobs/00-release/files/partition_setup.sh index edc66b8..02a7520 100644 --- a/export-noobs/00-release/files/partition_setup.sh +++ b/export-noobs/00-release/files/partition_setup.sh @@ -16,6 +16,14 @@ sed /tmp/1/cmdline.txt -i -e "s|root=/dev/[^ ]*|root=${part2}|" sed /tmp/2/etc/fstab -i -e "s|^.* / |${part2} / |" sed /tmp/2/etc/fstab -i -e "s|^.* /boot |${part1} /boot |" +if [ -e /mnt/ssh ]; then + cp /mnt/ssh /tmp/1/ +fi + +if [ -e /mnt/ssh.txt ]; then + cp /mnt/ssh.txt /tmp/1/ +fi + if ! grep -q resize /proc/cmdline; then sed -i 's| quiet init=/usr/lib/raspi-config/init_resize.sh||' /tmp/1/cmdline.txt fi From b0be14afdfda24e93a8cad757018ef6ca1c50047 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Mon, 6 Mar 2017 09:26:45 +0000 Subject: [PATCH 09/26] Update release notes --- export-noobs/00-release/files/release_notes.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/export-noobs/00-release/files/release_notes.txt b/export-noobs/00-release/files/release_notes.txt index 7e8e550..2b0ae31 100644 --- a/export-noobs/00-release/files/release_notes.txt +++ b/export-noobs/00-release/files/release_notes.txt @@ -1,5 +1,9 @@ UNRELEASED: + * +2017-03-02: * Updated kernel and firmware (final Pi Zero W support) + * Wolfram Mathematica updated to version 11 + * NOOBS installs now checks for presence of 'ssh' file on the NOOBS partition. 2017-02-16: * Chromium browser updated to version 56 * Adobe Flash Player updated to version 24.0.0.221 From 7748ed0df1b311ac12dbffb1c52f50317c1851bf Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Mon, 6 Mar 2017 11:49:13 +0000 Subject: [PATCH 10/26] Copy wpa_supplicant.conf from NOOBS --- export-noobs/00-release/files/partition_setup.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/export-noobs/00-release/files/partition_setup.sh b/export-noobs/00-release/files/partition_setup.sh index 02a7520..cff6d29 100644 --- a/export-noobs/00-release/files/partition_setup.sh +++ b/export-noobs/00-release/files/partition_setup.sh @@ -24,6 +24,10 @@ if [ -e /mnt/ssh.txt ]; then cp /mnt/ssh.txt /tmp/1/ fi +if [ -e /settings/wpa_supplicant.conf ]; then + cp /settings/wpa_supplicant.conf /tmp/1/ +fi + if ! grep -q resize /proc/cmdline; then sed -i 's| quiet init=/usr/lib/raspi-config/init_resize.sh||' /tmp/1/cmdline.txt fi From 40b5af925b8b00d2bd383358a4aa013c3367abc9 Mon Sep 17 00:00:00 2001 From: David C Wang Date: Wed, 1 Mar 2017 21:56:51 +0000 Subject: [PATCH 11/26] Enable pi-gen build when "pi-gen/work" dir is a symlink * Occasionally, it is necessary to symbolically link the pi-gen/work directory to a different place on the filesystem. This is true if the current partition is low on space, or when building within vagrant virtual machine shared mounts which do not support all regular fs operations. * Without this change, the pi-gen build will fail to unmount because the OS 'mount' command returns canonical paths which fails to match the symbolically linked path to 'work' dir. --- build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sh b/build.sh index 2656be8..72c566d 100755 --- a/build.sh +++ b/build.sh @@ -132,7 +132,7 @@ export IMG_DATE=${IMG_DATE:-"$(date -u +%Y-%m-%d)"} export BASE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" export SCRIPT_DIR="${BASE_DIR}/scripts" -export WORK_DIR="${BASE_DIR}/work/${IMG_DATE}-${IMG_NAME}" +export WORK_DIR=`readlink -f "${BASE_DIR}/work/${IMG_DATE}-${IMG_NAME}"` export DEPLOY_DIR="${BASE_DIR}/deploy" export LOG_FILE="${WORK_DIR}/build.log" From 8f7c537d7120c9461359591d5c84ff10a0887489 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Mon, 6 Mar 2017 11:58:32 +0000 Subject: [PATCH 12/26] partition_setup.sh: Only copy files --- export-noobs/00-release/files/partition_setup.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/export-noobs/00-release/files/partition_setup.sh b/export-noobs/00-release/files/partition_setup.sh index cff6d29..3a99342 100644 --- a/export-noobs/00-release/files/partition_setup.sh +++ b/export-noobs/00-release/files/partition_setup.sh @@ -16,15 +16,15 @@ sed /tmp/1/cmdline.txt -i -e "s|root=/dev/[^ ]*|root=${part2}|" sed /tmp/2/etc/fstab -i -e "s|^.* / |${part2} / |" sed /tmp/2/etc/fstab -i -e "s|^.* /boot |${part1} /boot |" -if [ -e /mnt/ssh ]; then +if [ -f /mnt/ssh ]; then cp /mnt/ssh /tmp/1/ fi -if [ -e /mnt/ssh.txt ]; then +if [ -f /mnt/ssh.txt ]; then cp /mnt/ssh.txt /tmp/1/ fi -if [ -e /settings/wpa_supplicant.conf ]; then +if [ -f /settings/wpa_supplicant.conf ]; then cp /settings/wpa_supplicant.conf /tmp/1/ fi From 8e74b4f15cee8e4b794d0c916cd34f22d5ccfcd9 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Mon, 6 Mar 2017 14:37:13 +0000 Subject: [PATCH 13/26] Revert "Enable pi-gen build when "pi-gen/work" dir is a symlink" This reverts commit 40b5af925b8b00d2bd383358a4aa013c3367abc9. --- build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sh b/build.sh index 72c566d..2656be8 100755 --- a/build.sh +++ b/build.sh @@ -132,7 +132,7 @@ export IMG_DATE=${IMG_DATE:-"$(date -u +%Y-%m-%d)"} export BASE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" export SCRIPT_DIR="${BASE_DIR}/scripts" -export WORK_DIR=`readlink -f "${BASE_DIR}/work/${IMG_DATE}-${IMG_NAME}"` +export WORK_DIR="${BASE_DIR}/work/${IMG_DATE}-${IMG_NAME}" export DEPLOY_DIR="${BASE_DIR}/deploy" export LOG_FILE="${WORK_DIR}/build.log" From 718a4e8c21289f99ad542faf11bc2e4d769291cc Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Tue, 7 Mar 2017 15:13:22 +0000 Subject: [PATCH 14/26] Switch to PARTUUID --- export-image/03-set-partuuid/00-run.sh | 12 ++++++++++++ export-image/{03-finalise => 04-finalise}/01-run.sh | 0 .../files/LICENSE.oracle | 0 export-noobs/00-release/files/partition_setup.sh | 2 +- export-noobs/00-release/files/release_notes.txt | 2 +- stage1/00-boot-files/files/cmdline.txt | 2 +- stage1/01-sys-tweaks/files/fstab | 4 ++-- stage2/01-sys-tweaks/00-patches/07-resize-init.diff | 4 ++-- stage2/01-sys-tweaks/files/resize2fs_once | 2 +- 9 files changed, 20 insertions(+), 8 deletions(-) create mode 100755 export-image/03-set-partuuid/00-run.sh rename export-image/{03-finalise => 04-finalise}/01-run.sh (100%) rename export-image/{03-finalise => 04-finalise}/files/LICENSE.oracle (100%) diff --git a/export-image/03-set-partuuid/00-run.sh b/export-image/03-set-partuuid/00-run.sh new file mode 100755 index 0000000..f19884e --- /dev/null +++ b/export-image/03-set-partuuid/00-run.sh @@ -0,0 +1,12 @@ +#!/bin/bash -e +IMG_FILE="${STAGE_WORK_DIR}/${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}.img" + +IMGID="$(fdisk -l ${IMG_FILE} | sed -n 's/Disk identifier: 0x\([^ ]*\)/\1/p')" + +BOOT_PARTUUID="${IMGID}-01" +ROOT_PARTUUID="${IMGID}-02" + +sed -i "s/BOOTDEV/PARTUUID=${BOOT_PARTUUID}/" ${ROOTFS_DIR}/etc/fstab +sed -i "s/ROOTDEV/PARTUUID=${ROOT_PARTUUID}/" ${ROOTFS_DIR}/etc/fstab + +sed -i "s/ROOTDEV/PARTUUID=${ROOT_PARTUUID}/" ${ROOTFS_DIR}/boot/cmdline.txt diff --git a/export-image/03-finalise/01-run.sh b/export-image/04-finalise/01-run.sh similarity index 100% rename from export-image/03-finalise/01-run.sh rename to export-image/04-finalise/01-run.sh diff --git a/export-image/03-finalise/files/LICENSE.oracle b/export-image/04-finalise/files/LICENSE.oracle similarity index 100% rename from export-image/03-finalise/files/LICENSE.oracle rename to export-image/04-finalise/files/LICENSE.oracle diff --git a/export-noobs/00-release/files/partition_setup.sh b/export-noobs/00-release/files/partition_setup.sh index 3a99342..81cef4d 100644 --- a/export-noobs/00-release/files/partition_setup.sh +++ b/export-noobs/00-release/files/partition_setup.sh @@ -12,7 +12,7 @@ mkdir -p /tmp/1 /tmp/2 mount "$part1" /tmp/1 mount "$part2" /tmp/2 -sed /tmp/1/cmdline.txt -i -e "s|root=/dev/[^ ]*|root=${part2}|" +sed /tmp/1/cmdline.txt -i -e "s|root=[^ ]*|root=${part2}|" sed /tmp/2/etc/fstab -i -e "s|^.* / |${part2} / |" sed /tmp/2/etc/fstab -i -e "s|^.* /boot |${part1} /boot |" diff --git a/export-noobs/00-release/files/release_notes.txt b/export-noobs/00-release/files/release_notes.txt index 2b0ae31..223bcca 100644 --- a/export-noobs/00-release/files/release_notes.txt +++ b/export-noobs/00-release/files/release_notes.txt @@ -1,5 +1,5 @@ UNRELEASED: - * + * Use PARTUUID to support USB boot 2017-03-02: * Updated kernel and firmware (final Pi Zero W support) * Wolfram Mathematica updated to version 11 diff --git a/stage1/00-boot-files/files/cmdline.txt b/stage1/00-boot-files/files/cmdline.txt index 45c7f58..2b0634b 100644 --- a/stage1/00-boot-files/files/cmdline.txt +++ b/stage1/00-boot-files/files/cmdline.txt @@ -1 +1 @@ -dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait +dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=ROOTDEV rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait diff --git a/stage1/01-sys-tweaks/files/fstab b/stage1/01-sys-tweaks/files/fstab index 68e5816..f16e3fb 100644 --- a/stage1/01-sys-tweaks/files/fstab +++ b/stage1/01-sys-tweaks/files/fstab @@ -1,3 +1,3 @@ proc /proc proc defaults 0 0 -/dev/mmcblk0p1 /boot vfat defaults 0 2 -/dev/mmcblk0p2 / ext4 defaults,noatime 0 1 +BOOTDEV /boot vfat defaults 0 2 +ROOTDEV / ext4 defaults,noatime 0 1 diff --git a/stage2/01-sys-tweaks/00-patches/07-resize-init.diff b/stage2/01-sys-tweaks/00-patches/07-resize-init.diff index 97f7c19..0701641 100644 --- a/stage2/01-sys-tweaks/00-patches/07-resize-init.diff +++ b/stage2/01-sys-tweaks/00-patches/07-resize-init.diff @@ -1,5 +1,5 @@ --- a/rootfs/boot/cmdline.txt +++ b/rootfs/boot/cmdline.txt @@ -1 +1 @@ --dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait -+dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh +-dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=ROOTDEV rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait ++dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=ROOTDEV rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh diff --git a/stage2/01-sys-tweaks/files/resize2fs_once b/stage2/01-sys-tweaks/files/resize2fs_once index 7236921..38a4d47 100644 --- a/stage2/01-sys-tweaks/files/resize2fs_once +++ b/stage2/01-sys-tweaks/files/resize2fs_once @@ -12,7 +12,7 @@ case "$1" in start) log_daemon_msg "Starting resize2fs_once" - ROOT_DEV=`grep -Eo 'root=[[:graph:]]+' /proc/cmdline | cut -d '=' -f 2-` && + ROOT_DEV=$(findmnt / -o source -n) && resize2fs $ROOT_DEV && update-rc.d resize2fs_once remove && rm /etc/init.d/resize2fs_once && From 8f22f2f27efdcfd23827df7bbf86ccf696ec5252 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Mon, 13 Mar 2017 17:31:49 +0000 Subject: [PATCH 15/26] stage2: install libpam-chksshpwd --- stage2/01-sys-tweaks/00-packages | 1 + 1 file changed, 1 insertion(+) diff --git a/stage2/01-sys-tweaks/00-packages b/stage2/01-sys-tweaks/00-packages index e2535c4..45ff003 100644 --- a/stage2/01-sys-tweaks/00-packages +++ b/stage2/01-sys-tweaks/00-packages @@ -15,3 +15,4 @@ pi-bluetooth apt-listchanges usb-modeswitch apt-transport-https +libpam-chksshpwd From 1f1ddb5f13ee460db2318b72e50a429c0f43d726 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Mon, 13 Mar 2017 17:39:58 +0000 Subject: [PATCH 16/26] Specify additional variables in EXPORT_* files --- build.sh | 5 ++++- export-noobs/00-release/00-run.sh | 5 ++++- export-noobs/00-release/files/os.json | 4 ++-- stage2/EXPORT_IMAGE | 2 +- stage2/EXPORT_NOOBS | 2 ++ stage4/EXPORT_IMAGE | 1 + stage4/EXPORT_NOOBS | 2 ++ 7 files changed, 16 insertions(+), 5 deletions(-) diff --git a/build.sh b/build.sh index 2656be8..0b7f3c0 100755 --- a/build.sh +++ b/build.sh @@ -148,6 +148,8 @@ export PREV_STAGE_DIR export ROOTFS_DIR export PREV_ROOTFS_DIR export IMG_SUFFIX +export NOOBS_NAME +export NOOBS_DESCRIPTION export EXPORT_DIR export EXPORT_ROOTFS_DIR @@ -172,10 +174,11 @@ done CLEAN=1 for EXPORT_DIR in ${EXPORT_DIRS}; do STAGE_DIR=${BASE_DIR}/export-image - IMG_SUFFIX=$(cat ${EXPORT_DIR}/EXPORT_IMAGE) + source "${EXPORT_DIR}/EXPORT_IMAGE" EXPORT_ROOTFS_DIR=${WORK_DIR}/$(basename ${EXPORT_DIR})/rootfs run_stage if [ -e ${EXPORT_DIR}/EXPORT_NOOBS ]; then + source ${EXPORT_DIR}/EXPORT_NOOBS STAGE_DIR=${BASE_DIR}/export-noobs run_stage fi diff --git a/export-noobs/00-release/00-run.sh b/export-noobs/00-release/00-run.sh index dab3d8c..446733d 100755 --- a/export-noobs/00-release/00-run.sh +++ b/export-noobs/00-release/00-run.sh @@ -25,7 +25,10 @@ sed ${NOOBS_DIR}/partitions.json -i -e "s|ROOT_SIZE|${ROOT_SIZE}|" sed ${NOOBS_DIR}/partitions.json -i -e "s|BOOT_NOM|${BOOT_NOM}|" sed ${NOOBS_DIR}/partitions.json -i -e "s|ROOT_NOM|${ROOT_NOM}|" -sed ${NOOBS_DIR}/release_notes.txt -i -e "s|UNRELEASED|${IMG_DATE}|" sed ${NOOBS_DIR}/os.json -i -e "s|UNRELEASED|${IMG_DATE}|" +sed ${NOOBS_DIR}/os.json -i -e "s|NOOBS_NAME|${NOOBS_NAME}|" +sed ${NOOBS_DIR}/os.json -i -e "s|NOOBS_DESCRIPTION|${NOOBS_DESCRIPTION}|" + +sed ${NOOBS_DIR}/release_notes.txt -i -e "s|UNRELEASED|${IMG_DATE}|" cp -a ${NOOBS_DIR} ${DEPLOY_DIR}/ diff --git a/export-noobs/00-release/files/os.json b/export-noobs/00-release/files/os.json index 9f88da1..a667a09 100644 --- a/export-noobs/00-release/files/os.json +++ b/export-noobs/00-release/files/os.json @@ -1,8 +1,8 @@ { - "description": "A community-created port of Debian jessie for the Raspberry Pi", + "description": "NOOBS_DESCRIPTION", "feature_level": 35120124, "kernel": "4.4", - "name": "Raspbian", + "name": "NOOBS_NAME", "password": "raspberry", "release_date": "UNRELEASED", "supported_hex_revisions": "2,3,4,5,6,7,8,9,d,e,f,10,11,12,14,19,1040,1041,0092,0093,2082", diff --git a/stage2/EXPORT_IMAGE b/stage2/EXPORT_IMAGE index dc65cd0..8ef6ebe 100644 --- a/stage2/EXPORT_IMAGE +++ b/stage2/EXPORT_IMAGE @@ -1 +1 @@ --lite +IMG_SUFFIX="-lite" diff --git a/stage2/EXPORT_NOOBS b/stage2/EXPORT_NOOBS index e69de29..cc925cd 100644 --- a/stage2/EXPORT_NOOBS +++ b/stage2/EXPORT_NOOBS @@ -0,0 +1,2 @@ +NOOBS_NAME="Raspbian Lite" +NOOBS_DESCRIPTION="A port of Debian jessie for the Raspberry Pi (minimal version)" diff --git a/stage4/EXPORT_IMAGE b/stage4/EXPORT_IMAGE index e69de29..2b0f09d 100644 --- a/stage4/EXPORT_IMAGE +++ b/stage4/EXPORT_IMAGE @@ -0,0 +1 @@ +IMG_SUFFIX="" diff --git a/stage4/EXPORT_NOOBS b/stage4/EXPORT_NOOBS index e69de29..a7e95af 100644 --- a/stage4/EXPORT_NOOBS +++ b/stage4/EXPORT_NOOBS @@ -0,0 +1,2 @@ +NOOBS_NAME="Raspbian with PIXEL" +NOOBS_DESCRIPTION="A port of Debian jessie for the Raspberry Pi (full desktop version)" From 8373e58195c517e6eba9394538388aeb9d355903 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Mon, 13 Mar 2017 17:44:00 +0000 Subject: [PATCH 17/26] build.sh: execute postrun.sh, if executable --- .gitignore | 1 + build.sh | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/.gitignore b/.gitignore index ec91fd6..d9926f3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ deploy/* work/* config +postrun.sh SKIP .pc *-pc diff --git a/build.sh b/build.sh index 0b7f3c0..f171023 100755 --- a/build.sh +++ b/build.sh @@ -184,4 +184,11 @@ for EXPORT_DIR in ${EXPORT_DIRS}; do fi done +if [ -x postrun.sh ]; then + log "Begin postrun.sh" + cd "${BASE_DIR}" + ./postrun.sh + log "End postrun.sh" +fi + log "End ${BASE_DIR}" From 9cffa42a3514cd2a4d0aa648a6e52860ae86e1b5 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Mon, 13 Mar 2017 17:46:14 +0000 Subject: [PATCH 18/26] config.txt: update documentation URL --- stage1/00-boot-files/files/config.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stage1/00-boot-files/files/config.txt b/stage1/00-boot-files/files/config.txt index 69dfef2..9c6860c 100644 --- a/stage1/00-boot-files/files/config.txt +++ b/stage1/00-boot-files/files/config.txt @@ -1,5 +1,5 @@ # For more options and information see -# http://www.raspberrypi.org/documentation/configuration/config-txt.md +# http://rpf.io/configtxtreadme # Some settings may impact device functionality. See link above for details # uncomment if you get no picture on HDMI for a default "safe" mode From 16b3133f4641e58ceb1e67250c5c685dfd50ad6e Mon Sep 17 00:00:00 2001 From: David C Wang Date: Fri, 10 Mar 2017 22:17:44 +0000 Subject: [PATCH 19/26] Make WORK_DIR and DEPLOY_DIR configurable through config file --- build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.sh b/build.sh index f171023..85601b5 100755 --- a/build.sh +++ b/build.sh @@ -132,8 +132,8 @@ export IMG_DATE=${IMG_DATE:-"$(date -u +%Y-%m-%d)"} export BASE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" export SCRIPT_DIR="${BASE_DIR}/scripts" -export WORK_DIR="${BASE_DIR}/work/${IMG_DATE}-${IMG_NAME}" -export DEPLOY_DIR="${BASE_DIR}/deploy" +export WORK_DIR=${WORK_DIR:-"${BASE_DIR}/work/${IMG_DATE}-${IMG_NAME}"} +export DEPLOY_DIR=${DEPLOY_DIR:-"${BASE_DIR}/deploy"} export LOG_FILE="${WORK_DIR}/build.log" export CLEAN From 000e61f84d1ba67e24d0b32fdfc3f0afee2b11f7 Mon Sep 17 00:00:00 2001 From: Mike Roberts Date: Fri, 17 Mar 2017 11:45:47 +0000 Subject: [PATCH 20/26] Updated {i}-run-chroot script filename to match {i}-run.sh format --- build.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build.sh b/build.sh index 85601b5..25a8539 100755 --- a/build.sh +++ b/build.sh @@ -67,10 +67,10 @@ EOF ./${i}-run.sh log "End ${SUB_STAGE_DIR}/${i}-run.sh" fi - if [ -f ${i}-run-chroot ]; then - log "Begin ${SUB_STAGE_DIR}/${i}-run-chroot" - on_chroot < ${i}-run-chroot - log "End ${SUB_STAGE_DIR}/${i}-run-chroot" + if [ -f ${i}-run-chroot.sh ]; then + log "Begin ${SUB_STAGE_DIR}/${i}-run-chroot.sh" + on_chroot < ${i}-run-chroot.sh + log "End ${SUB_STAGE_DIR}/${i}-run-chroot.sh" fi done popd > /dev/null From 762e20cc0ab7418081fc1283e0fda32c79ef8a03 Mon Sep 17 00:00:00 2001 From: Benjamin Parzella Date: Wed, 29 Mar 2017 23:09:17 +0200 Subject: [PATCH 21/26] Minor error in stage2 sys-tweaks debconf file Seems like there is a misplaced line break --- stage2/01-sys-tweaks/00-debconf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/stage2/01-sys-tweaks/00-debconf b/stage2/01-sys-tweaks/00-debconf index dead1e7..4ad0378 100644 --- a/stage2/01-sys-tweaks/00-debconf +++ b/stage2/01-sys-tweaks/00-debconf @@ -5,8 +5,7 @@ console-setup console-setup/charmap47 select UTF-8 # Choices: . Arabic, # Armenian, # Cyrillic - KOI8-R and KOI8-U, # Cyrillic - non-Slavic languages, # Cyrillic - Slavic languages (also Bosnian and Serbian Latin), . Ethiopic, # Georgian, # Greek, # Hebrew, # Lao, # Latin1 and Latin5 - western Europe and Turkic languages, # Latin2 - central Europe and Romanian, # Latin3 and Latin8 - Chichewa; Esperanto; Irish; Maltese and Welsh, # Latin7 - Lithuanian; Latvian; Maori and Marshallese, . Latin - Vietnamese, # Thai, . Combined - Latin; Slavic Cyrillic; Hebrew; basic Arabic, . Combined - Latin; Slavic Cyrillic; Greek, . Combined - Latin; Slavic and non-Slavic Cyrillic, Guess optimal character set console-setup console-setup/codeset47 select Guess optimal character set # Font for the console: -# Choices: Fixed, Goha, GohaClassic, Terminus, TerminusBold, TerminusBoldVGA, VGA, Do not change the boot/kernel font, Let the -system select a suitable font +# Choices: Fixed, Goha, GohaClassic, Terminus, TerminusBold, TerminusBoldVGA, VGA, Do not change the boot/kernel font, Let the system select a suitable font console-setup console-setup/fontface47 select Do not change the boot/kernel font # Geographic area: # Choices: Africa, America, Antarctica, Australia, Arctic Ocean, Asia, Atlantic Ocean, Europe, Indian Ocean, Pacific Ocean, System V timezones, US, None of the above From c0a5b85f8fcea38d2203fda140ce12ad134e08f3 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Tue, 28 Mar 2017 13:55:02 +0100 Subject: [PATCH 22/26] Update release notes --- export-noobs/00-release/files/release_notes.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/export-noobs/00-release/files/release_notes.txt b/export-noobs/00-release/files/release_notes.txt index 223bcca..e3c8feb 100644 --- a/export-noobs/00-release/files/release_notes.txt +++ b/export-noobs/00-release/files/release_notes.txt @@ -1,4 +1,6 @@ UNRELEASED: + * Wolfram Mathematica updated to version 11.0.1 + * Adobe Flash Player updated to version 25.0.0.127 * Use PARTUUID to support USB boot 2017-03-02: * Updated kernel and firmware (final Pi Zero W support) From 6c146a7bb791a8a4b43ac71061994fb6fe54cee5 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Thu, 30 Mar 2017 17:51:23 +0100 Subject: [PATCH 23/26] Clean up clean up --- export-image/04-finalise/01-run.sh | 23 +++++++++++++++++++++++ export-image/prerun.sh | 12 ++++++------ scripts/common | 2 +- stage2/03-cleanup/00-run.sh | 5 ----- stage4/00-install-packages/01-run.sh | 3 --- stage4/03-cleanup/00-run.sh | 5 ----- 6 files changed, 30 insertions(+), 20 deletions(-) delete mode 100755 stage2/03-cleanup/00-run.sh delete mode 100755 stage4/00-install-packages/01-run.sh delete mode 100755 stage4/03-cleanup/00-run.sh diff --git a/export-image/04-finalise/01-run.sh b/export-image/04-finalise/01-run.sh index c64c92b..2de42ca 100755 --- a/export-image/04-finalise/01-run.sh +++ b/export-image/04-finalise/01-run.sh @@ -18,6 +18,29 @@ if [ -e ${ROOTFS_DIR}/etc/ld.so.preload.disabled ]; then mv ${ROOTFS_DIR}/etc/ld.so.preload.disabled ${ROOTFS_DIR}/etc/ld.so.preload fi +rm -f ${ROOTFS_DIR}/etc/apt/sources.list~ +rm -f ${ROOTFS_DIR}/etc/apt/trusted.gpg~ + +rm -f ${ROOTFS_DIR}/etc/passwd- +rm -f ${ROOTFS_DIR}/etc/group- +rm -f ${ROOTFS_DIR}/etc/shadow- +rm -f ${ROOTFS_DIR}/etc/gshadow- + +rm -f ${ROOTFS_DIR}/var/cache/debconf/*-old +rm -f ${ROOTFS_DIR}/var/lib/dpkg/*-old + +rm -f ${ROOTFS_DIR}/usr/share/icons/*/icon-theme.cache + +rm -f ${ROOTFS_DIR}/var/lib/dbus/machine-id + +true > ${ROOTFS_DIR}/etc/machine-id + +for _FILE in $(find ${ROOTFS_DIR}/var/log/ -type f); do + true > ${_FILE} +done + +rm -f "${ROOTFS_DIR}/root/.vnc/private.key" + update_issue $(basename ${EXPORT_DIR}) install -m 644 ${ROOTFS_DIR}/etc/rpi-issue ${ROOTFS_DIR}/boot/issue.txt install files/LICENSE.oracle ${ROOTFS_DIR}/boot/ diff --git a/export-image/prerun.sh b/export-image/prerun.sh index ec440c9..661fc4e 100755 --- a/export-image/prerun.sh +++ b/export-image/prerun.sh @@ -8,19 +8,19 @@ rm -f ${IMG_FILE} rm -rf ${ROOTFS_DIR} mkdir -p ${ROOTFS_DIR} -BOOT_SIZE=$(du -sh ${EXPORT_ROOTFS_DIR}/boot -B M | cut -f 1 | tr -d M) -TOTAL_SIZE=$(du -sh ${EXPORT_ROOTFS_DIR} -B M | cut -f 1 | tr -d M) +BOOT_SIZE=$(du -s ${EXPORT_ROOTFS_DIR}/boot --block-size=1 | cut -f 1) +TOTAL_SIZE=$(du -s ${EXPORT_ROOTFS_DIR} --exclude var/cache/apt/archives --block-size=1 | cut -f 1) -IMG_SIZE=$(expr $BOOT_SIZE \* 2 \+ $TOTAL_SIZE \+ 512)M +IMG_SIZE=$((BOOT_SIZE + TOTAL_SIZE + (400 * 1024 * 1024))) fallocate -l ${IMG_SIZE} ${IMG_FILE} -fdisk ${IMG_FILE} > /dev/null 2>&1 < Date: Thu, 30 Mar 2017 17:52:32 +0100 Subject: [PATCH 24/26] Add a 4GB image --- stage4/00-install-packages/00-debconf | 2 -- stage4/00-install-packages/00-packages | 1 - stage4/EXPORT_IMAGE | 2 +- stage5/00-install-mathematica/00-debconf | 2 ++ stage5/00-install-mathematica/00-packages | 1 + stage5/EXPORT_IMAGE | 1 + {stage4 => stage5}/EXPORT_NOOBS | 0 stage5/prerun.sh | 4 ++++ 8 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 stage5/00-install-mathematica/00-debconf create mode 100644 stage5/00-install-mathematica/00-packages create mode 100644 stage5/EXPORT_IMAGE rename {stage4 => stage5}/EXPORT_NOOBS (100%) create mode 100755 stage5/prerun.sh diff --git a/stage4/00-install-packages/00-debconf b/stage4/00-install-packages/00-debconf index 9b65dda..87932e2 100644 --- a/stage4/00-install-packages/00-debconf +++ b/stage4/00-install-packages/00-debconf @@ -1,4 +1,2 @@ # Enable realtime process priority? jackd2 jackd/tweak_rt_limits boolean true -# Do you accept the Wolfram - Raspberry Pi® Bundle License Agreement? -wolfram-engine shared/accepted-wolfram-eula boolean true diff --git a/stage4/00-install-packages/00-packages b/stage4/00-install-packages/00-packages index c3783b4..80625b6 100644 --- a/stage4/00-install-packages/00-packages +++ b/stage4/00-install-packages/00-packages @@ -7,7 +7,6 @@ python3-pgzero python-serial python3-serial python-picamera python3-picamera debian-reference-en dillo x2x -wolfram-engine raspberrypi-net-mods raspberrypi-ui-mods smartsim penguinspuzzle python-pip python3-pip diff --git a/stage4/EXPORT_IMAGE b/stage4/EXPORT_IMAGE index 2b0f09d..ee20363 100644 --- a/stage4/EXPORT_IMAGE +++ b/stage4/EXPORT_IMAGE @@ -1 +1 @@ -IMG_SUFFIX="" +IMG_SUFFIX="-4GB" diff --git a/stage5/00-install-mathematica/00-debconf b/stage5/00-install-mathematica/00-debconf new file mode 100644 index 0000000..d9743fe --- /dev/null +++ b/stage5/00-install-mathematica/00-debconf @@ -0,0 +1,2 @@ +# Do you accept the Wolfram - Raspberry Pi® Bundle License Agreement? +wolfram-engine shared/accepted-wolfram-eula boolean true diff --git a/stage5/00-install-mathematica/00-packages b/stage5/00-install-mathematica/00-packages new file mode 100644 index 0000000..fa9ba94 --- /dev/null +++ b/stage5/00-install-mathematica/00-packages @@ -0,0 +1 @@ +wolfram-engine diff --git a/stage5/EXPORT_IMAGE b/stage5/EXPORT_IMAGE new file mode 100644 index 0000000..2b0f09d --- /dev/null +++ b/stage5/EXPORT_IMAGE @@ -0,0 +1 @@ +IMG_SUFFIX="" diff --git a/stage4/EXPORT_NOOBS b/stage5/EXPORT_NOOBS similarity index 100% rename from stage4/EXPORT_NOOBS rename to stage5/EXPORT_NOOBS diff --git a/stage5/prerun.sh b/stage5/prerun.sh new file mode 100755 index 0000000..a5ea5f4 --- /dev/null +++ b/stage5/prerun.sh @@ -0,0 +1,4 @@ +#!/bin/bash -e +if [ ! -d ${ROOTFS_DIR} ]; then + copy_previous +fi From fa1e67f92eb4e8a8a0c9d31a43803119853d8bef Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Mon, 3 Apr 2017 15:55:27 +0100 Subject: [PATCH 25/26] export-noobs: rename Raspbian.png to match NOOBS_NAME --- export-noobs/00-release/00-run.sh | 4 +++- .../00-release/files/{Raspbian.png => OS.png} | Bin 2 files changed, 3 insertions(+), 1 deletion(-) rename export-noobs/00-release/files/{Raspbian.png => OS.png} (100%) diff --git a/export-noobs/00-release/00-run.sh b/export-noobs/00-release/00-run.sh index 446733d..e8717b4 100755 --- a/export-noobs/00-release/00-run.sh +++ b/export-noobs/00-release/00-run.sh @@ -5,7 +5,7 @@ NOOBS_DIR="${STAGE_WORK_DIR}/${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}" install -v -m 744 files/partition_setup.sh ${NOOBS_DIR}/ install -v files/partitions.json ${NOOBS_DIR}/ install -v files/os.json ${NOOBS_DIR}/ -install -v files/Raspbian.png ${NOOBS_DIR}/ +install -v files/OS.png ${NOOBS_DIR}/ install -v files/release_notes.txt ${NOOBS_DIR}/ tar -v -c -C files/marketing -f ${NOOBS_DIR}/marketing.tar . @@ -19,6 +19,8 @@ ROOT_SIZE=$(expr ${ROOT_SIZE} / 1000000 \+ 1) BOOT_NOM=$(expr ${BOOT_SIZE} \* 3) ROOT_NOM=$(expr ${ROOT_SIZE} \+ 400) +mv "${NOOBS_DIR}/OS.png" "${NOOBS_DIR}/$(echo ${NOOBS_NAME} | sed 's/ /_/').png" + sed ${NOOBS_DIR}/partitions.json -i -e "s|BOOT_SIZE|${BOOT_SIZE}|" sed ${NOOBS_DIR}/partitions.json -i -e "s|ROOT_SIZE|${ROOT_SIZE}|" diff --git a/export-noobs/00-release/files/Raspbian.png b/export-noobs/00-release/files/OS.png similarity index 100% rename from export-noobs/00-release/files/Raspbian.png rename to export-noobs/00-release/files/OS.png From 0ee2578bc6feac8d44ceeb2e5bf0bad70630311f Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Mon, 3 Apr 2017 16:39:20 +0100 Subject: [PATCH 26/26] export-noobs: replace all spaces with underscores in OS icon file --- export-noobs/00-release/00-run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/export-noobs/00-release/00-run.sh b/export-noobs/00-release/00-run.sh index e8717b4..25f62fd 100755 --- a/export-noobs/00-release/00-run.sh +++ b/export-noobs/00-release/00-run.sh @@ -19,7 +19,7 @@ ROOT_SIZE=$(expr ${ROOT_SIZE} / 1000000 \+ 1) BOOT_NOM=$(expr ${BOOT_SIZE} \* 3) ROOT_NOM=$(expr ${ROOT_SIZE} \+ 400) -mv "${NOOBS_DIR}/OS.png" "${NOOBS_DIR}/$(echo ${NOOBS_NAME} | sed 's/ /_/').png" +mv "${NOOBS_DIR}/OS.png" "${NOOBS_DIR}/$(echo ${NOOBS_NAME} | sed 's/ /_/g').png" sed ${NOOBS_DIR}/partitions.json -i -e "s|BOOT_SIZE|${BOOT_SIZE}|" sed ${NOOBS_DIR}/partitions.json -i -e "s|ROOT_SIZE|${ROOT_SIZE}|"