Compare commits
73
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d3553f5ec4 | ||
|
|
d6207a620a | ||
|
|
0cab554f7d | ||
|
|
78c9e2cf02 | ||
|
|
930d86115d | ||
|
|
75123fd64e | ||
|
|
0f41e41c8c | ||
|
|
a58e722bee | ||
|
|
c640efa6e1 | ||
|
|
d4049eeffb | ||
|
|
906c587fcd | ||
|
|
99399d30fc | ||
|
|
9a3a10bf10 | ||
|
|
f663d4c6d1 | ||
|
|
825107f040 | ||
|
|
b9bb59c237 | ||
|
|
08fc0b9a82 | ||
|
|
8ef3f47d7f | ||
|
|
65f91b8349 | ||
|
|
38d22e976a | ||
|
|
5f884374b6 | ||
|
|
6d71ac0bf9 | ||
|
|
6b72a64f02 | ||
|
|
e577677b62 | ||
|
|
87f7a59cab | ||
|
|
306c7eba3b | ||
|
|
b4ea63c045 | ||
|
|
bdbd85892e | ||
|
|
ca31aef1f7 | ||
|
|
0a6624b26d | ||
|
|
24bb01dec2 | ||
|
|
f8f3d6fe93 | ||
|
|
f9375cdcec | ||
|
|
9d334bee66 | ||
|
|
024840034e | ||
|
|
271177a0f7 | ||
|
|
9d15c0f7d1 | ||
|
|
32353a162b | ||
|
|
18c3cebe94 | ||
|
|
8bdbbfb099 | ||
|
|
d7c1ae21ca | ||
|
|
5456c3801f | ||
|
|
5e19033387 | ||
|
|
7f143a185e | ||
|
|
a449c75fac | ||
|
|
95ba042c83 | ||
|
|
d30343f626 | ||
|
|
19c0188798 | ||
|
|
336ff2107e | ||
|
|
8026d9dc8f | ||
|
|
80d486687e | ||
|
|
5780006ecd | ||
|
|
99f702f0ff | ||
|
|
946f164006 | ||
|
|
6538d5babf | ||
|
|
652780757b | ||
|
|
d1ed4a2982 | ||
|
|
00c22ab57e | ||
|
|
e8460beb3b | ||
|
|
77833ba929 | ||
|
|
c49261d756 | ||
|
|
a016561600 | ||
|
|
c1ff2b1cac | ||
|
|
28f344144c | ||
|
|
d1f7a38905 | ||
|
|
8110eb4891 | ||
|
|
18b945ffb2 | ||
|
|
920e22bdc5 | ||
|
|
5436273ec7 | ||
|
|
c0714e33d6 | ||
|
|
9c0a25d852 | ||
|
|
210b51c293 | ||
|
|
4c575d7e8f |
+3
-2
@@ -3,10 +3,11 @@ FROM debian:buster
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
RUN apt-get -y update && \
|
||||
apt-get -y install \
|
||||
apt-get -y install --no-install-recommends \
|
||||
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\
|
||||
binfmt-support ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY . /pi-gen/
|
||||
|
||||
@@ -6,7 +6,7 @@ _Tool used to create the raspberrypi.org Raspbian images_
|
||||
## Dependencies
|
||||
|
||||
pi-gen runs on Debian based operating systems. Currently it is only supported on
|
||||
either Debian Stretch or Ubuntu Xenial and is known to have issues building on
|
||||
either Debian Buster or Ubuntu Xenial and is known to have issues building on
|
||||
earlier releases of these systems. On other Linux distributions it may be possible
|
||||
to use the Docker build described below.
|
||||
|
||||
@@ -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
|
||||
@@ -36,6 +36,11 @@ The following environment variables are supported:
|
||||
but you should use something else for a customized version. Export files
|
||||
in stages may add suffixes to `IMG_NAME`.
|
||||
|
||||
* `RELEASE` (Default: buster)
|
||||
|
||||
The release version to build images against. Valid values are jessie, stretch
|
||||
buster, bullseye, and testing.
|
||||
|
||||
* `APT_PROXY` (Default: unset)
|
||||
|
||||
If you require the use of an apt proxy, set it here. This proxy setting
|
||||
@@ -62,7 +67,7 @@ The following environment variables are supported:
|
||||
be built and cached. Note, `WORK_DIR` stores a complete copy of the target
|
||||
system for each build stage, amounting to tens of gigabytes in the case of
|
||||
Raspbian.
|
||||
|
||||
|
||||
**CAUTION**: If your working directory is on an NTFS partition you probably won't be able to build. Make sure this is a proper Linux filesystem.
|
||||
|
||||
* `DEPLOY_DIR` (Default: `"$BASE_DIR/deploy"`)
|
||||
@@ -78,6 +83,37 @@ 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
|
||||
environment. These images include "-qemu" in the image file name.
|
||||
|
||||
* `LOCALE_DEFAULT` (Default: "en_GB.UTF-8" )
|
||||
|
||||
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
|
||||
@@ -88,11 +124,11 @@ 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`)
|
||||
|
||||
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 RaspberryPi.
|
||||
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*`)
|
||||
|
||||
@@ -246,14 +282,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
|
||||
|
||||
@@ -261,7 +296,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
|
||||
|
||||
+13
-3
@@ -30,13 +30,18 @@ do
|
||||
esac
|
||||
done
|
||||
|
||||
# Ensure that the configuration file is an absolute path
|
||||
if test -x /usr/bin/realpath; then
|
||||
CONFIG_FILE=$(realpath -s "$CONFIG_FILE" || realpath "$CONFIG_FILE")
|
||||
fi
|
||||
|
||||
# Ensure that the confguration file is present
|
||||
if test -z "${CONFIG_FILE}"; then
|
||||
echo "Configuration file need to be present in '${DIR}/config' or path passed as parameter"
|
||||
exit 1
|
||||
else
|
||||
# shellcheck disable=SC1090
|
||||
source "${CONFIG_FILE}"
|
||||
source ${CONFIG_FILE}
|
||||
fi
|
||||
|
||||
CONTAINER_NAME=${CONTAINER_NAME:-pigen_work}
|
||||
@@ -49,6 +54,9 @@ if [ -z "${IMG_NAME}" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Ensure the Git Hash is recorded before entering the docker container
|
||||
GIT_HASH=${GIT_HASH:-"$(git rev-parse HEAD)"}
|
||||
|
||||
CONTAINER_EXISTS=$(${DOCKER} ps -a --filter name="${CONTAINER_NAME}" -q)
|
||||
CONTAINER_RUNNING=$(${DOCKER} ps --filter name="${CONTAINER_NAME}" -q)
|
||||
if [ "${CONTAINER_RUNNING}" != "" ]; then
|
||||
@@ -63,23 +71,25 @@ if [ "${CONTAINER_EXISTS}" != "" ] && [ "${CONTINUE}" != "1" ]; then
|
||||
fi
|
||||
|
||||
# Modify original build-options to allow config file to be mounted in the docker container
|
||||
BUILD_OPTS="$(echo ${BUILD_OPTS:-} | sed -r 's@\-c\s?([^ ]+)@-c /config@')"
|
||||
BUILD_OPTS="$(echo "${BUILD_OPTS:-}" | sed -E 's@\-c\s?([^ ]+)@-c /config@')"
|
||||
|
||||
${DOCKER} build -t pi-gen "${DIR}"
|
||||
if [ "${CONTAINER_EXISTS}" != "" ]; then
|
||||
trap 'echo "got CTRL+C... please wait 5s" && ${DOCKER} stop -t 5 ${CONTAINER_NAME}_cont' SIGINT SIGTERM
|
||||
time ${DOCKER} run --rm --privileged \
|
||||
--volume "${CONFIG_FILE}":/config:ro \
|
||||
-e "GIT_HASH=${GIT_HASH}" \
|
||||
--volumes-from="${CONTAINER_NAME}" --name "${CONTAINER_NAME}_cont" \
|
||||
pi-gen \
|
||||
bash -e -o pipefail -c "dpkg-reconfigure qemu-user-static &&
|
||||
cd /pi-gen; ./build.sh ${BUILD_OPTS} ;
|
||||
cd /pi-gen; ./build.sh ${BUILD_OPTS} &&
|
||||
rsync -av work/*/build.log deploy/" &
|
||||
wait "$!"
|
||||
else
|
||||
trap 'echo "got CTRL+C... please wait 5s" && ${DOCKER} stop -t 5 ${CONTAINER_NAME}' SIGINT SIGTERM
|
||||
time ${DOCKER} run --name "${CONTAINER_NAME}" --privileged \
|
||||
--volume "${CONFIG_FILE}":/config:ro \
|
||||
-e "GIT_HASH=${GIT_HASH}" \
|
||||
pi-gen \
|
||||
bash -e -o pipefail -c "dpkg-reconfigure qemu-user-static &&
|
||||
cd /pi-gen; ./build.sh ${BUILD_OPTS} &&
|
||||
|
||||
@@ -20,7 +20,7 @@ EOF
|
||||
PACKAGES="$(sed -f "${SCRIPT_DIR}/remove-comments.sed" < "${i}-packages-nr")"
|
||||
if [ -n "$PACKAGES" ]; then
|
||||
on_chroot << EOF
|
||||
apt-get install --no-install-recommends -y $PACKAGES
|
||||
apt-get -o APT::Acquire::Retries=3 install --no-install-recommends -y $PACKAGES
|
||||
EOF
|
||||
fi
|
||||
log "End ${SUB_STAGE_DIR}/${i}-packages-nr"
|
||||
@@ -30,7 +30,7 @@ EOF
|
||||
PACKAGES="$(sed -f "${SCRIPT_DIR}/remove-comments.sed" < "${i}-packages")"
|
||||
if [ -n "$PACKAGES" ]; then
|
||||
on_chroot << EOF
|
||||
apt-get install -y $PACKAGES
|
||||
apt-get -o APT::Acquire::Retries=3 install -y $PACKAGES
|
||||
EOF
|
||||
fi
|
||||
log "End ${SUB_STAGE_DIR}/${i}-packages"
|
||||
@@ -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,21 +156,30 @@ 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 RELEASE=${RELEASE:-buster}
|
||||
export WPA_ESSID
|
||||
export WPA_PASSWORD
|
||||
export WPA_COUNTRY
|
||||
export ENABLE_SSH="${ENABLE_SSH:-0}"
|
||||
|
||||
export BASE_DIR
|
||||
export LOCALE_DEFAULT="${LOCALE_DEFAULT:-en_GB.UTF-8}"
|
||||
|
||||
export KEYBOARD_KEYMAP="${KEYBOARD_KEYMAP:-gb}"
|
||||
export KEYBOARD_LAYOUT="${KEYBOARD_LAYOUT:-English (UK)}"
|
||||
|
||||
export TIMEZONE_DEFAULT="${TIMEZONE_DEFAULT:-Europe/London}"
|
||||
|
||||
export GIT_HASH=${GIT_HASH:-"$(git rev-parse HEAD)"}
|
||||
|
||||
export CLEAN
|
||||
export IMG_NAME
|
||||
@@ -210,6 +221,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}"
|
||||
|
||||
@@ -237,7 +253,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
|
||||
|
||||
@@ -4,8 +4,12 @@ IMG_FILE="${STAGE_WORK_DIR}/${IMG_FILENAME}${IMG_SUFFIX}.img"
|
||||
INFO_FILE="${STAGE_WORK_DIR}/${IMG_FILENAME}${IMG_SUFFIX}.info"
|
||||
|
||||
on_chroot << EOF
|
||||
/etc/init.d/fake-hwclock stop
|
||||
hardlink -t /usr/share/doc
|
||||
if [ -x /etc/init.d/fake-hwclock ]; then
|
||||
/etc/init.d/fake-hwclock stop
|
||||
fi
|
||||
if hash hardlink 2>/dev/null; then
|
||||
hardlink -t /usr/share/doc
|
||||
fi
|
||||
EOF
|
||||
|
||||
if [ -d "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config" ]; then
|
||||
|
||||
+17
-22
@@ -10,32 +10,27 @@ rm -rf "${ROOTFS_DIR}"
|
||||
mkdir -p "${ROOTFS_DIR}"
|
||||
|
||||
BOOT_SIZE="$((256 * 1024 * 1024))"
|
||||
TOTAL_SIZE=$(du --apparent-size -s "${EXPORT_ROOTFS_DIR}" --exclude var/cache/apt/archives --block-size=1 | cut -f 1)
|
||||
ROOT_SIZE=$(du --apparent-size -s "${EXPORT_ROOTFS_DIR}" --exclude var/cache/apt/archives --exclude boot --block-size=1 | cut -f 1)
|
||||
|
||||
ROUND_SIZE="$((4 * 1024 * 1024))"
|
||||
ROUNDED_ROOT_SECTOR=$(((BOOT_SIZE + ROUND_SIZE) / ROUND_SIZE * ROUND_SIZE / 512 + 8192))
|
||||
IMG_SIZE=$(((BOOT_SIZE + TOTAL_SIZE + (800 * 1024 * 1024) + ROUND_SIZE - 1) / ROUND_SIZE * ROUND_SIZE))
|
||||
# All partition sizes and starts will be aligned to this size
|
||||
ALIGN="$((4 * 1024 * 1024))"
|
||||
# Add this much space to the calculated file size. This allows for
|
||||
# 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="$(echo "($ROOT_SIZE * 0.2 + 200 * 1024 * 1024) / 1" | bc)"
|
||||
|
||||
BOOT_PART_START=$((ALIGN))
|
||||
BOOT_PART_SIZE=$(((BOOT_SIZE + ALIGN - 1) / ALIGN * ALIGN))
|
||||
ROOT_PART_START=$((BOOT_PART_START + BOOT_PART_SIZE))
|
||||
ROOT_PART_SIZE=$(((ROOT_SIZE + ROOT_MARGIN + ALIGN - 1) / ALIGN * ALIGN))
|
||||
IMG_SIZE=$((BOOT_PART_START + BOOT_PART_SIZE + ROOT_PART_SIZE))
|
||||
|
||||
truncate -s "${IMG_SIZE}" "${IMG_FILE}"
|
||||
fdisk -H 255 -S 63 "${IMG_FILE}" <<EOF
|
||||
o
|
||||
n
|
||||
|
||||
|
||||
8192
|
||||
+$((BOOT_SIZE / 512))
|
||||
p
|
||||
t
|
||||
c
|
||||
n
|
||||
|
||||
|
||||
${ROUNDED_ROOT_SECTOR}
|
||||
|
||||
|
||||
p
|
||||
w
|
||||
EOF
|
||||
parted --script "${IMG_FILE}" mklabel msdos
|
||||
parted --script "${IMG_FILE}" unit B mkpart primary fat32 "${BOOT_PART_START}" "$((BOOT_PART_START + BOOT_PART_SIZE - 1))"
|
||||
parted --script "${IMG_FILE}" unit B mkpart primary ext4 "${ROOT_PART_START}" "$((ROOT_PART_START + ROOT_PART_SIZE - 1))"
|
||||
|
||||
PARTED_OUT=$(parted -sm "${IMG_FILE}" unit b print)
|
||||
BOOT_OFFSET=$(echo "$PARTED_OUT" | grep -e '^1:' | cut -d':' -f 2 | tr -d B)
|
||||
|
||||
@@ -36,6 +36,7 @@ sed "${NOOBS_DIR}/partitions.json" -i -e "s|ROOT_NOM|${ROOT_NOM}|"
|
||||
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}/os.json" -i -e "s|RELEASE|${RELEASE}|"
|
||||
|
||||
sed "${NOOBS_DIR}/release_notes.txt" -i -e "s|UNRELEASED|${IMG_DATE}|"
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.7 KiB |
@@ -16,5 +16,5 @@
|
||||
],
|
||||
"url": "http://www.raspbian.org/",
|
||||
"username": "pi",
|
||||
"version": "buster"
|
||||
"version": "RELEASE"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,133 @@
|
||||
UNRELEASED:
|
||||
*
|
||||
2020-08-20:
|
||||
* raspi-config - added selection of boot device order
|
||||
* raspi-config - added selection of boot EEPROM version
|
||||
* SD Card Copier - copy is now immediately aborted if drives are connected or disconnected while copying
|
||||
* Version 32.0.0.414 of Flash player included
|
||||
* User feedback survey removed from first run of Chromium
|
||||
* Recommended Software - now allows multiple install and reinstall operations without having to close between each one
|
||||
* Bug fix - misleading file browser from panel menu icon selection dialog - icons must now be in icon theme rather than arbitrary files
|
||||
* Bug fix - items in main menu not being translated
|
||||
* Bug fix - raspi-config not detecting audio devices in non-English locales
|
||||
* Bug fix - Bookshelf claiming no disk space in non-English locales
|
||||
* Bug fix - failed installation of both 32 and 64 bit versions of packages by Recommended Software on 64-bit images
|
||||
* Italian translations added (thanks to Emanuele Goldoni and the Italian translation team)
|
||||
* Raspberry Pi firmware ef72c17bcaaeb89093d87bcf71f3228e1b5e1fff
|
||||
* Linux kernel 5.4.51
|
||||
2020-05-27:
|
||||
* Added Bookshelf application
|
||||
* Added Raspberry Pi Diagnostics application
|
||||
* Added magnifier plugin to taskbar - needs magnifier application installed from Recommended Software to enable
|
||||
* Added Magnifier application to Recommended Software
|
||||
* Added marketing questionnaire as initial Chromium tab
|
||||
* Version 0.25 of Scratch 2 included - uses external application to access IMU on SenseHAT
|
||||
* Version 1.0.5 of Scratch 3 included - uses external application to access IMU on SenseHAT
|
||||
* Version 32.0.0.371 of Flash player included
|
||||
* Version 1.0.6 of Node-RED included
|
||||
* Version 6.7.1 of VNC Server included
|
||||
* Version 6.20.113 of VNC Client included
|
||||
* Internal audio outputs enabled as separate ALSA devices
|
||||
* MagPi preinstall removed and replaced with Beginner’s Guide
|
||||
* MagPi weblink removed from main menu
|
||||
* Chromium made default application for PDF files
|
||||
* Common icon loading code for lxpanel plugins used
|
||||
* Italian translations added
|
||||
* Initial move of mouse pointer to menu button disabled
|
||||
* Padding at left of menu button removed
|
||||
* Focus behaviour changed so that focus moves to desktop if no windows are opened - improves reliability of Orca screen reader
|
||||
* Bug fix - focus bug in volume plugin
|
||||
* Bug fix - keyboard repeat interval bug in Mouse & Keyboard Settings
|
||||
* Bug fix - battery detection bug in battery plugin
|
||||
* Bug fix - spurious active areas on taskbar when plugins are hidden
|
||||
* Bug fix - occasional crash in file manager on file selection
|
||||
* Disk ID is now regenerated on first boot
|
||||
* Updated udev rules
|
||||
- Remove unused argon rule
|
||||
- Add vcsm-cma to video group
|
||||
- Add pwm to gpio group
|
||||
* i2cprobe: More flexible I2C/SPI alias mapping
|
||||
* Raspberry Pi firmware 21e1fe3477ffb708a5736ed61a924fd650031136
|
||||
* Linux kernel 4.19.118
|
||||
2020-02-13:
|
||||
* Raspberry Pi Configuration - screen blanking setting disabled if Xscreensaver is installed
|
||||
* Bug fix - switch to turn off VNC server in Raspberry Pi Configuration has no effect
|
||||
* Bug fix - fix %20 characters in file names
|
||||
* Linux kernel 4.19.97
|
||||
* Raspberry Pi firmware 9a34efbf2fc6a27231607ce91a7cb6bf3bdbc0c5
|
||||
- gencmd: Fix measure_clock name for CLOCK_OUTPUT_108
|
||||
- mmal isp: Remote alignment requirements for RGB24 formats
|
||||
- Add missing flags for VC_IMAGE_PROP_YUVUV_4K_CHROMA_ALIGN
|
||||
- platform: Compromise on gpu overclock settings
|
||||
2020-02-05:
|
||||
* 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.97
|
||||
* Raspberry Pi firmware 149cd7f0487e08e148efe604f8d4d359541cecf4
|
||||
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.
|
||||
* New icon theme for file manager icons
|
||||
* Appearance Settings - option for identical desktop on both monitors
|
||||
* Appearance Settings - option to show different desktop icons on both monitors
|
||||
* Taskbar automatically moved to monitor 0 if monitor 1 not found at boot
|
||||
* Switching of audio output between two HDMI devices added to volume plugin
|
||||
* Switching of audio input devices added to volume plugin
|
||||
* .asoundrc (ALSA config file) now uses 'plug' values to support more devices
|
||||
* Audio Settings tool modified to integrate more closely with volume plugin to reduce duplicated code
|
||||
* Screen Configuration tool now shows separate menus for resolution and refresh rate
|
||||
* Primary and active monitor settings removed from Screen Configuration tool
|
||||
* Overscan support added for FKMS driver
|
||||
* New keyboard shortcuts added - Ctrl-Alt-End brings up shutdown menu; Ctrl-Alt-M moves taskbar between monitors
|
||||
* Latest changes to Bluez ALSA interface integrated to improve connection to Bluetooth audio devices
|
||||
* Mousepad used as simple text editor instead of leafpad
|
||||
* Version 3.2 of Thonny added
|
||||
* Version 74 of Chromium added
|
||||
* Version 3.0.8 of VLC added
|
||||
* Version 32.0.0.255 of Flash player added
|
||||
* Version 6.5.0 of RealVNC Server added
|
||||
* Version 6.19.715 of RealVNC Viewer added (full image only)
|
||||
* Version 12.0.1 of Mathematica added (full image only)
|
||||
* Version 0.20.8 of NodeRED added (full image only)
|
||||
* Version 3.1.0 of Sonic Pi added (full image only)
|
||||
* Scratch 3 added (full image only)
|
||||
* Bug fix - URL handling in Terminal
|
||||
* Bug fix - octal values in SSIDs in network plugin
|
||||
* Bug fix - remaining value in progress bar when transferring files
|
||||
* Bug fix - integration of xarchiver tool with file manager
|
||||
* Bug fix - start menu opening on incorrect monitor
|
||||
* Bug fix - minimised applications wrongly displayed on taskbar on second monitor
|
||||
* Bug fix - Bluetooth icon disappearing on x86 platforms when Bluetooth turned off
|
||||
* Bug fix - Screen Configuration tool not shown on x86 platforms and settings not being saved
|
||||
* Various translation updates
|
||||
* Various minor bug fixes
|
||||
* Epiphany/Web removed
|
||||
* ntfs-3g included
|
||||
* pciutils added
|
||||
* Linux kernel 4.19.75
|
||||
* Raspberry Pi firmware 01508e81ec1e918448227ca864616d56c430b46d
|
||||
2019-07-10:
|
||||
* Clearer options for switching of Pi 4 video output in Raspberry Pi Configuration
|
||||
* Option added to Appearance Settings to move taskbar to second monitor
|
||||
* Option added to Recommended Software to restrict package installs by architecture
|
||||
@@ -13,8 +142,11 @@ UNRELEASED:
|
||||
* Fix for opening URLs not working in lxterminal
|
||||
* Fix for start menu opening on incorrect monitor when launched from keyboard
|
||||
* Fix for taskbar item not having [] removed when un-minimising on second monitor
|
||||
* Fix for Chromium video playback and WebGL performance on Pi 4
|
||||
* Remove 4kp60 option from Raspberry Pi Configuration
|
||||
* Rename hdmi_enable_4k to hdmi_enable_4kp60 in /boot/config.txt and raspi-config
|
||||
* Linux kernel 4.19.57
|
||||
* Raspberry Pi firmware cb3a32adf39f45a49be454e30c7464920ad7c605
|
||||
* Raspberry Pi firmware 356f5c2880a3c7e8774025aa6fc934a617553e7b
|
||||
2019-06-20:
|
||||
* Based on Debian Buster
|
||||
* Support for Raspberry Pi 4 hardware
|
||||
|
||||
+7
-8
@@ -7,18 +7,20 @@ bootstrap(){
|
||||
local BOOTSTRAP_CMD=debootstrap
|
||||
local BOOTSTRAP_ARGS=()
|
||||
|
||||
export http_proxy=${APT_PROXY}
|
||||
#export http_proxy=${APT_PROXY}
|
||||
|
||||
if [ "$(dpkg --print-architecture)" != "armhf" ] && [ "$(dpkg --print-architecture)" != "aarch64" ]; then
|
||||
if [ "$(dpkg --print-architecture)" != "armhf" ] && [ "$(dpkg --print-architecture)" != "arm64" ]; then
|
||||
BOOTSTRAP_CMD=qemu-debootstrap
|
||||
fi
|
||||
|
||||
BOOTSTRAP_ARGS+=(--arch armhf)
|
||||
BOOTSTRAP_ARGS+=(--arch arm64)
|
||||
BOOTSTRAP_ARGS+=(--include gnupg)
|
||||
BOOTSTRAP_ARGS+=(--components "main,contrib,non-free")
|
||||
BOOTSTRAP_ARGS+=(--keyring "${STAGE_DIR}/files/raspberrypi.gpg")
|
||||
#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
|
||||
capsh --drop=cap_setfcap -- -c "'${BOOTSTRAP_CMD}' $BOOTSTRAP_STR" || true
|
||||
|
||||
if [ -d "$2/debootstrap" ]; then
|
||||
rmdir "$2/debootstrap"
|
||||
@@ -94,9 +96,6 @@ on_chroot() {
|
||||
export -f on_chroot
|
||||
|
||||
update_issue() {
|
||||
local GIT_HASH
|
||||
GIT_HASH=$(git rev-parse HEAD)
|
||||
echo -e "Raspberry Pi reference ${IMG_DATE}\nGenerated using ${PI_GEN}, ${PI_GEN_REPO}, ${GIT_HASH}, ${1}" > "${ROOTFS_DIR}/etc/rpi-issue"
|
||||
}
|
||||
export -f update_issue
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
install -m 644 files/sources.list "${ROOTFS_DIR}/etc/apt/"
|
||||
install -m 644 files/raspi.list "${ROOTFS_DIR}/etc/apt/sources.list.d/"
|
||||
sed -i "s/RELEASE/${RELEASE}/g" "${ROOTFS_DIR}/etc/apt/sources.list"
|
||||
sed -i "s/RELEASE/${RELEASE}/g" "${ROOTFS_DIR}/etc/apt/sources.list.d/raspi.list"
|
||||
|
||||
if [ -n "$APT_PROXY" ]; then
|
||||
install -m 644 files/51cache "${ROOTFS_DIR}/etc/apt/apt.conf.d/51cache"
|
||||
@@ -12,6 +14,7 @@ fi
|
||||
|
||||
on_chroot apt-key add - < files/raspberrypi.gpg.key
|
||||
on_chroot << EOF
|
||||
dpkg --add-architecture armhf
|
||||
apt-get update
|
||||
apt-get dist-upgrade -y
|
||||
EOF
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
deb http://archive.raspberrypi.org/debian/ buster main
|
||||
deb http://archive.raspberrypi.org/debian/ RELEASE main
|
||||
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
|
||||
#deb-src http://archive.raspberrypi.org/debian/ buster main
|
||||
#deb-src http://archive.raspberrypi.org/debian/ RELEASE main
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
|
||||
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
|
||||
#deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
|
||||
deb http://deb.debian.org/debian RELEASE main contrib non-free
|
||||
deb http://deb.debian.org/debian-security/ RELEASE/updates main contrib non-free
|
||||
deb http://deb.debian.org/debian RELEASE-updates main contrib non-free
|
||||
# Uncomment deb-src lines below then 'apt-get update' to enable 'apt-get source'
|
||||
#deb-src http://deb.debian.org/debian RELEASE main contrib non-free
|
||||
#deb-src http://deb.debian.org/debian-security/ RELEASE/updates main contrib non-free
|
||||
#deb-src http://deb.debian.org/debian RELEASE-updates main contrib non-free
|
||||
|
||||
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
if [ ! -d "${ROOTFS_DIR}" ]; then
|
||||
bootstrap buster "${ROOTFS_DIR}" http://raspbian.raspberrypi.org/raspbian/
|
||||
bootstrap ${RELEASE} "${ROOTFS_DIR}" http://deb.debian.org/debian/
|
||||
fi
|
||||
|
||||
@@ -1 +1 @@
|
||||
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=ROOTDEV rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
|
||||
console=serial0,115200 console=tty1 root=ROOTDEV rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
|
||||
|
||||
@@ -47,18 +47,16 @@
|
||||
#dtparam=i2s=on
|
||||
#dtparam=spi=on
|
||||
|
||||
# Uncomment this to enable the lirc-rpi module
|
||||
#dtoverlay=lirc-rpi
|
||||
# Uncomment this to enable infrared communication.
|
||||
#dtoverlay=gpio-ir,gpio_pin=17
|
||||
#dtoverlay=gpio-ir-tx,gpio_pin=18
|
||||
|
||||
# Additional overlays and parameters are documented /boot/overlays/README
|
||||
|
||||
# Enable audio (loads snd_bcm2835)
|
||||
dtparam=audio=on
|
||||
|
||||
[pi4]
|
||||
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
|
||||
dtoverlay=vc4-fkms-v3d
|
||||
max_framebuffers=2
|
||||
|
||||
[all]
|
||||
#dtoverlay=vc4-fkms-v3d
|
||||
arm_64bit=1
|
||||
|
||||
@@ -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 +0,0 @@
|
||||
01-hosts.diff
|
||||
@@ -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 +0,0 @@
|
||||
raspberrypi
|
||||
@@ -1,4 +0,0 @@
|
||||
auto lo
|
||||
|
||||
iface lo inet loopback
|
||||
iface eth0 inet dhcp
|
||||
@@ -1 +0,0 @@
|
||||
raspi-copies-and-fills
|
||||
@@ -1,6 +0,0 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
if [ -f "${ROOTFS_DIR}/etc/ld.so.preload" ]; then
|
||||
mv "${ROOTFS_DIR}/etc/ld.so.preload" "${ROOTFS_DIR}/etc/ld.so.preload.disabled"
|
||||
fi
|
||||
|
||||
@@ -15,7 +15,7 @@ keyboard-configuration keyboard-configuration/altgr select The default for the k
|
||||
keyboard-configuration keyboard-configuration/model select Generic 105-key (Intl) PC
|
||||
# Keymap to use:
|
||||
# Choices: American English, Albanian, Arabic, Asturian, Bangladesh, Belarusian, Bengali, Belgian, Bosnian, Brazilian, British English, Bulgarian, Bulgarian (phonetic layout), Burmese, Canadian French, Canadian Multilingual, Catalan, Chinese, Croatian, Czech, Danish, Dutch, Dvorak, Dzongkha, Esperanto, Estonian, Ethiopian, Finnish, French, Georgian, German, Greek, Gujarati, Gurmukhi, Hebrew, Hindi, Hungarian, Icelandic, Irish, Italian, Japanese, Kannada, Kazakh, Khmer, Kirghiz, Korean, Kurdish (F layout), Kurdish (Q layout), Lao, Latin American, Latvian, Lithuanian, Macedonian, Malayalam, Nepali, Northern Sami, Norwegian, Persian, Philippines, Polish, Portuguese, Punjabi, Romanian, Russian, Serbian (Cyrillic), Sindhi, Sinhala, Slovak, Slovenian, Spanish, Swedish, Swiss French, Swiss German, Tajik, Tamil, Telugu, Thai, Tibetan, Turkish (F layout), Turkish (Q layout), Ukrainian, Uyghur, Vietnamese
|
||||
keyboard-configuration keyboard-configuration/xkb-keymap select gb
|
||||
keyboard-configuration keyboard-configuration/xkb-keymap select ${KEYBOARD_KEYMAP}
|
||||
# Compose key:
|
||||
# Choices: No compose key, Right Alt (AltGr), Right Control, Right Logo key, Menu key, Left Logo key, Caps Lock
|
||||
keyboard-configuration keyboard-configuration/compose select No compose key
|
||||
@@ -23,4 +23,4 @@ keyboard-configuration keyboard-configuration/compose select No compose key
|
||||
keyboard-configuration keyboard-configuration/ctrl_alt_bksp boolean true
|
||||
# Keyboard layout:
|
||||
# Choices: English (UK), English (UK) - English (UK\, Colemak), English (UK) - English (UK\, Dvorak with UK punctuation), English (UK) - English (UK\, Dvorak), English (UK) - English (UK\, Macintosh international), English (UK) - English (UK\, Macintosh), English (UK) - English (UK\, extended WinKeys), English (UK) - English (UK\, international with dead keys), Other
|
||||
keyboard-configuration keyboard-configuration/variant select English (UK)
|
||||
keyboard-configuration keyboard-configuration/variant select ${KEYBOARD_LAYOUT}
|
||||
|
||||
@@ -25,3 +25,7 @@ ssh-import-id
|
||||
rng-tools
|
||||
ethtool
|
||||
vl805fw
|
||||
ntfs-3g
|
||||
pciutils
|
||||
rpi-eeprom
|
||||
raspinfo
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
--- a/rootfs/boot/cmdline.txt
|
||||
+++ b/rootfs/boot/cmdline.txt
|
||||
--- stage2.orig/rootfs/boot/cmdline.txt
|
||||
+++ stage2/rootfs/boot/cmdline.txt
|
||||
@@ -1 +1 @@
|
||||
-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
|
||||
-console=serial0,115200 console=tty1 root=ROOTDEV rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
|
||||
+console=serial0,115200 console=tty1 root=ROOTDEV rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh
|
||||
|
||||
@@ -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,6 +1,6 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
echo "Europe/London" > "${ROOTFS_DIR}/etc/timezone"
|
||||
echo "${TIMEZONE_DEFAULT}" > "${ROOTFS_DIR}/etc/timezone"
|
||||
rm "${ROOTFS_DIR}/etc/localtime"
|
||||
|
||||
on_chroot << EOF
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
NOOBS_NAME="Raspbian Lite"
|
||||
NOOBS_DESCRIPTION="A port of Debian with no desktop environment"
|
||||
@@ -1,13 +1,13 @@
|
||||
gstreamer1.0-x gstreamer1.0-omx gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-libav
|
||||
gstreamer1.0-x gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-libav
|
||||
qpdfview gtk2-engines alsa-utils
|
||||
desktop-base
|
||||
git
|
||||
omxplayer
|
||||
#omxplayer
|
||||
raspberrypi-artwork
|
||||
policykit-1
|
||||
gvfs
|
||||
rfkill
|
||||
chromium-browser rpi-chromium-mods
|
||||
chromium rpi-chromium-mods
|
||||
gldriver-test
|
||||
fonts-droid-fallback
|
||||
fonts-liberation2
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
xserver-xorg-video-fbdev xserver-xorg xinit xserver-xorg-video-fbturbo
|
||||
epiphany-browser
|
||||
xserver-xorg xinit
|
||||
mousepad
|
||||
lxde lxtask menu-xdg
|
||||
zenity xdg-utils
|
||||
gvfs-backends gvfs-fuse
|
||||
lightdm gnome-themes-standard-data gnome-icon-theme
|
||||
lightdm gnome-themes-standard gnome-icon-theme
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
on_chroot << EOF
|
||||
update-alternatives --install /usr/bin/x-www-browser \
|
||||
x-www-browser /usr/bin/chromium-browser 86
|
||||
update-alternatives --install /usr/bin/gnome-www-browser \
|
||||
gnome-www-browser /usr/bin/chromium-browser 86
|
||||
EOF
|
||||
@@ -1,8 +1,8 @@
|
||||
python python3-pygame python-pygame python-tk
|
||||
python3 python3-tk python3-thonny
|
||||
python3 python3-tk thonny
|
||||
python3-pgzero
|
||||
python-serial python3-serial
|
||||
python-picamera python3-picamera
|
||||
#python-picamera python3-picamera
|
||||
debian-reference-en dillo
|
||||
raspberrypi-net-mods raspberrypi-ui-mods
|
||||
python-pip python3-pip
|
||||
@@ -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
|
||||
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
BOOKSHELF_URL="https://magpi.raspberrypi.org/bookshelf.xml"
|
||||
GUIDE_URL="$(curl -s "$BOOKSHELF_URL" | awk -F '[<>]' "/<TITLE>Raspberry Pi Beginner's Guide v3<\/TITLE>/ {f=1; next} f==1 && /PDF/ {print \$3; exit}")"
|
||||
OUTPUT="$(basename "$GUIDE_URL" | cut -f1 -d'?')"
|
||||
|
||||
if [ ! -f "files/$OUTPUT" ]; then
|
||||
rm files/*.pdf -f
|
||||
curl -s "$GUIDE_URL" -o "files/$OUTPUT"
|
||||
fi
|
||||
|
||||
file "files/$OUTPUT" | grep -q "PDF document"
|
||||
|
||||
install -v -o 1000 -g 1000 -d "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Bookshelf"
|
||||
install -v -o 1000 -g 1000 -m 644 "files/$OUTPUT" "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Bookshelf/"
|
||||
@@ -1,15 +0,0 @@
|
||||
#!/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)"
|
||||
|
||||
if [ ! -f "files/$magpi_latest" ]; then
|
||||
find files/ -regextype grep -regex "files/$magpi_regex" -delete
|
||||
wget "$magpi_loc/$magpi_latest" -O "files/$magpi_latest"
|
||||
fi
|
||||
|
||||
file "files/$magpi_latest" | grep -q "PDF document"
|
||||
|
||||
install -v -o 1000 -g 1000 -d "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/MagPi"
|
||||
install -v -o 1000 -g 1000 -m 644 "files/$magpi_latest" "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/MagPi/"
|
||||
@@ -1,2 +0,0 @@
|
||||
NOOBS_NAME="Raspbian"
|
||||
NOOBS_DESCRIPTION="A port of Debian with the Raspberry Pi Desktop"
|
||||
@@ -1,15 +1,16 @@
|
||||
mu-editor
|
||||
sonic-pi
|
||||
scratch nuscratch scratch2
|
||||
#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
|
||||
#wolfram-engine
|
||||
claws-mail
|
||||
greenfoot-unbundled bluej
|
||||
nodered
|
||||
#nodered
|
||||
realvnc-vnc-viewer
|
||||
|
||||
python-games
|
||||
code-the-classics
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
IMG_SUFFIX="-full"
|
||||
if [ "${USE_QEMU}" = "1" ]; then
|
||||
export IMG_SUFFIX="${IMG_SUFFIX}-qemu"
|
||||
fi
|
||||
@@ -1,2 +0,0 @@
|
||||
NOOBS_NAME="Raspbian Full"
|
||||
NOOBS_DESCRIPTION="A port of Debian with desktop and recommended applications"
|
||||
Reference in New Issue
Block a user