diff --git a/export-noobs/00-release/00-run.sh b/export-noobs/00-release/00-run.sh new file mode 100755 index 0000000..dab3d8c --- /dev/null +++ b/export-noobs/00-release/00-run.sh @@ -0,0 +1,31 @@ +#!/bin/bash -e + +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/release_notes.txt ${NOOBS_DIR}/ + +tar -v -c -C files/marketing -f ${NOOBS_DIR}/marketing.tar . + +BOOT_SIZE=$(xz --robot -l ${NOOBS_DIR}/boot.tar.xz | grep totals | cut -f 5) +ROOT_SIZE=$(xz --robot -l ${NOOBS_DIR}/root.tar.xz | grep totals | cut -f 5) + +BOOT_SIZE=$(expr ${BOOT_SIZE} / 1000000 \+ 1) +ROOT_SIZE=$(expr ${ROOT_SIZE} / 1000000 \+ 1) + +BOOT_NOM=$(expr ${BOOT_SIZE} \* 3) +ROOT_NOM=$(expr ${ROOT_SIZE} \+ 400) + +sed ${NOOBS_DIR}/partitions.json -i -e "s|BOOT_SIZE|${BOOT_SIZE}|" +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}|" + +cp -a ${NOOBS_DIR} ${DEPLOY_DIR}/ diff --git a/export-noobs/00-release/files/Raspbian.png b/export-noobs/00-release/files/Raspbian.png new file mode 100644 index 0000000..10ecc62 Binary files /dev/null and b/export-noobs/00-release/files/Raspbian.png differ diff --git a/export-noobs/00-release/files/marketing/slides_vga/A.png b/export-noobs/00-release/files/marketing/slides_vga/A.png new file mode 100644 index 0000000..1f2dc55 Binary files /dev/null and b/export-noobs/00-release/files/marketing/slides_vga/A.png differ diff --git a/export-noobs/00-release/files/marketing/slides_vga/B.png b/export-noobs/00-release/files/marketing/slides_vga/B.png new file mode 100644 index 0000000..870730b Binary files /dev/null and b/export-noobs/00-release/files/marketing/slides_vga/B.png differ diff --git a/export-noobs/00-release/files/marketing/slides_vga/C.png b/export-noobs/00-release/files/marketing/slides_vga/C.png new file mode 100644 index 0000000..96b46db Binary files /dev/null and b/export-noobs/00-release/files/marketing/slides_vga/C.png differ diff --git a/export-noobs/00-release/files/marketing/slides_vga/D.png b/export-noobs/00-release/files/marketing/slides_vga/D.png new file mode 100644 index 0000000..4500a95 Binary files /dev/null and b/export-noobs/00-release/files/marketing/slides_vga/D.png differ diff --git a/export-noobs/00-release/files/marketing/slides_vga/E.png b/export-noobs/00-release/files/marketing/slides_vga/E.png new file mode 100644 index 0000000..e046aef Binary files /dev/null and b/export-noobs/00-release/files/marketing/slides_vga/E.png differ diff --git a/export-noobs/00-release/files/marketing/slides_vga/F.png b/export-noobs/00-release/files/marketing/slides_vga/F.png new file mode 100644 index 0000000..78b5537 Binary files /dev/null and b/export-noobs/00-release/files/marketing/slides_vga/F.png differ diff --git a/export-noobs/00-release/files/marketing/slides_vga/G.png b/export-noobs/00-release/files/marketing/slides_vga/G.png new file mode 100644 index 0000000..a827932 Binary files /dev/null and b/export-noobs/00-release/files/marketing/slides_vga/G.png differ diff --git a/export-noobs/00-release/files/os.json b/export-noobs/00-release/files/os.json new file mode 100644 index 0000000..9f88da1 --- /dev/null +++ b/export-noobs/00-release/files/os.json @@ -0,0 +1,18 @@ +{ + "description": "A community-created port of Debian jessie for the Raspberry Pi", + "feature_level": 35120124, + "kernel": "4.4", + "name": "Raspbian", + "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", + "supported_models": [ + "Pi Model", + "Pi 2", + "Pi Zero", + "Pi 3" + ], + "url": "http://www.raspbian.org/", + "username": "pi", + "version": "jessie" +} diff --git a/export-noobs/00-release/files/partition_setup.sh b/export-noobs/00-release/files/partition_setup.sh new file mode 100644 index 0000000..3a7dcf9 --- /dev/null +++ b/export-noobs/00-release/files/partition_setup.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +set -ex + +if [ -z "$part1" ] || [ -z "$part2" ]; then + printf "Error: missing environment variable part1 or part2\n" 1>&2 + exit 1 +fi + +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/2/etc/fstab -i -e "s|^.* / |${part2} / |" +sed /tmp/2/etc/fstab -i -e "s|^.* /boot |${part1} /boot |" + +if ! grep -q resize /proc/cmdline; then + sed -i 's/ quiet init=.*$//' /tmp/1/cmdline.txt +fi + +umount /tmp/1 +umount /tmp/2 diff --git a/export-noobs/00-release/files/partitions.json b/export-noobs/00-release/files/partitions.json new file mode 100644 index 0000000..908f82d --- /dev/null +++ b/export-noobs/00-release/files/partitions.json @@ -0,0 +1,19 @@ +{ + "partitions": [ + { + "filesystem_type": "FAT", + "label": "boot", + "partition_size_nominal": BOOT_NOM, + "uncompressed_tarball_size": BOOT_SIZE, + "want_maximised": false + }, + { + "filesystem_type": "ext4", + "label": "root", + "mkfs_options": "-O ^huge_file", + "partition_size_nominal": ROOT_NOM, + "uncompressed_tarball_size": ROOT_SIZE, + "want_maximised": true + } + ] +} diff --git a/export-noobs/00-release/files/release_notes.txt b/export-noobs/00-release/files/release_notes.txt new file mode 100644 index 0000000..e89f9c6 --- /dev/null +++ b/export-noobs/00-release/files/release_notes.txt @@ -0,0 +1,145 @@ +UNRELEASED: + * Fixed crash of lxpanel when D-bus not accessible + * Fixed permissions for D-bus Bluetooth access + * Removed sudo from shutdown options + * Appearance of tooltips updated in theme + * Fixed ejecter plugin grabbing focus + * raspi-config command line and GUI apps tidied; unnecessary reboots removed + * More error detection in piclone; copying of volume names and IDs added + * Updated translation files +2016-05-10: + * New version of Scratch, which no longer requires sudo + * New version of BlueJ + * New version of NodeRED + * New version of pypy + * pigpio included + * geany editor included + * SD Card Copier added (can be used to duplicate or back up the Pi) + * Bluetooth plugin added to taskbar + * Volume control on taskbar now compatible with Bluetooth devices + * New shutdown helper application + * Mouse double-click speed setting added to mouse and keyboard preference application + * Option to enable / disable 1-wire interface and remote access to pigpio added to Raspberry Pi config application + * File system automatically expanded on first boot + * Empty Wastebasket option added to right-click menu + * Ctrl-Alt-T can be used to open a terminal window + * Various small bug fixes and appearance tweaks + * Updated firmware and kernel (https://github.com/raspberrypi/firmware/commit/cc6d7bf8b4c03a2a660ff9fdf4083fc165620866) +2016-03-18: + * updated firmware and kernel (https://github.com/raspberrypi/firmware/commit/951799bbcd795ddf27769d14acf4813fdcbe53dc) + * use serial0 in cmdline.txt + * wpa_supplicant.conf country default to GB (allows use of channels 12 and 13) +2016-02-26: + * Support added for Pi 3, including Wifi and Bluetooth + * Option to set wifi country code added to raspi-config +2016-02-09: + * dtb that uses mmc sdcard driver (fixes problems experienced with certain SD cards) +2016-02-03: + * new version of Sonic Pi (2.9) + * new version of Scratch (15/1/16) + * new version of Node-Red (2.5) + * new version of Wolfram (10.3) + * optional experimental GL desktop driver (can be enabled using advanced options in command-line raspi-config) + * new version of Java (1.8.0_65) + * new version of WiringPi + * raspi-gpio included + * ping no longer requires sudo (except NOOBS installs) + * support for more USB audio devices in lxpanel + * bug fix for creation of new menus in Alacarte + * various changes to raspi-config and GUI to tidy up board support and fix bugs, and updated translations + * small tweaks to theme to support GL driver +2015-11-21: + * Included IBM Node-RED IoT application + * Included graphical package manager + * Included accelerated pixman library + * Updated Epiphany browser to improve video compatibility + * Updated Scratch with performance improvements and bug fixes + * Updated Raspberry Pi configuration to allow boot to pause while + network is established + * Various minor bug fixes +2015-09-25: + * Based on Debian Jessie + * Upgraded applications - Epiphany browser, Scratch and Sonic Pi + * Included applications - LibreOffice, Claws Mail, Greenfoot, BlueJ + * Included utilities - Alacarte menu editor, Lxkeymap, scrot, tree, pip + * New GUI-based Raspberry Pi Configuration application + * GPIO control now possible without need for sudo + * Web link to Magpi magazine included + * New taskbar plugin to eject mounted USB drives + * Default boot is now to GUI not desktop + * Look and feel now based on GTK+3 default theme + * Print screen key launches scrot to produce screenshot + * Common keyboards autodetected by GUI and drivers loaded accordingly + * Numerous small tweaks and bugfixes +2015-05-05: + * Updated UI changes + * Updated firmware + * Install raspberrypi-net-mods + * Install avahi-daemon + * Add user pi to new i2c and spi groups + * Modified udev rules for i2c and spi devices +2015-02-16: + * Newer firmware with various fixes + * New Sonic Pi release + * Pi2 compatible RPi.GPIO + * Updated Wolfram Mathematica +2015-01-31: + * Support for Pi2 + * Newer firmware + * New Sonic Pi release + * Updated Scratch + * New Wolfram Mathematica release + * Updated Epiphany +2014-12-24: + * Fix regression with omission of python-pygame +2014-12-22: + * New firmware with variosu fixes and improvements + * New UI configuration for lxde + * Various package updates + * python3-pygame preinstalled + * 'nuscratch', scratch running on the Cog StackVM + * Misc other changes +2014-09-09: + * New firmware with various fixes and improvements + * Minecraft Pi pre-installed + * Sonic Pi upgraded to 2.0 + * Include Epiphany browser work from Collabora + * Switch to Java 8 from Java 7 + * Updated Mathematica + * Misc minor configuration changes +2014-06-20: + * New firmware with various fixes, and kernel bugfix +2014-06-02: + * Many, many firmware updates with major USB improvements + * pyserial installed by default + * picamera installed by default +2014-01-07: + * Firmware updated + * Some space saved on the root filesystem +2013-12-20: + * Firmware updated, includes V4L2 fixes + * Update omxplayer +2013-12-18: + * Firmware updated and now using kernel 3.10. Many, many improvements + * fbturbo XOrg driver is now included and enabled by default. Thanks to + ssvb https://github.com/ssvb/xf86-video-fbturbo + * Update Scratch image with further bug fixes + * Include Wolfram Mathematica + * Update to PyPy 2.2 + * Update omxplayer + * Include v4l-utils for use with experimental V4L2 Raspberry Pi camera driver + * Update squeak-vm to fix issues with loading JPEGs +2013-09-25: + * Update Scratch image for further performance improvements + * Include Oracle JDK + * At least a 4GiB SD card is now required (see above) + * Include PyPy 2.1 + * Include base piface packages + * Update raspi-config to include bugfix for inheriting language settings + from NOOBS +2013-09-10: + * Updated to current top of tree firmware + * Update squeak-vm, including fastblit optimised for the Raspbery Pi + * Include Sonic Pi and a fixed jackd2 package + * Support boot to Scratch + * Inherit keyboard and language settings from NOOBS diff --git a/export-noobs/prerun.sh b/export-noobs/prerun.sh new file mode 100755 index 0000000..9f9a39f --- /dev/null +++ b/export-noobs/prerun.sh @@ -0,0 +1,25 @@ +#!/bin/bash -e + +IMG_FILE="${STAGE_WORK_DIR}/${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}.img" +NOOBS_DIR="${STAGE_WORK_DIR}/${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}" +unmount_image ${IMG_FILE} + +cp ${WORK_DIR}/export-image/${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}.img ${STAGE_WORK_DIR}/ + +rm -rf ${STAGE_WORK_DIR}/${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX} + +LOOP_DEV=`kpartx -asv ${IMG_FILE} | grep -E -o -m1 'loop[[:digit:]]+' | head -n 1` +BOOT_DEV=/dev/mapper/${LOOP_DEV}p1 +ROOT_DEV=/dev/mapper/${LOOP_DEV}p2 + +mkdir -p ${STAGE_WORK_DIR}/rootfs +mkdir -p ${STAGE_WORK_DIR}/bootfs +mkdir -p ${NOOBS_DIR} + +mount $ROOT_DEV ${STAGE_WORK_DIR}/rootfs +mount $BOOT_DEV ${STAGE_WORK_DIR}/bootfs + +tar -I pxz -C ${STAGE_WORK_DIR}/bootfs -cpf ${NOOBS_DIR}/boot.tar.xz . +tar -I pxz -C ${STAGE_WORK_DIR}/rootfs -cpf ${NOOBS_DIR}/root.tar.xz . + +unmount_image ${IMG_FILE}