Compare commits

..

9 Commits

Author SHA1 Message Date
Serge Schneider d3553f5ec4 Merge branch 'master' into arm64 2020-08-24 17:06:36 +01:00
Serge Schneider 0cab554f7d Merge branch 'master' into arm64 2020-08-24 15:49:08 +01:00
Serge Schneider 75123fd64e export lite image 2020-08-06 10:29:04 +01:00
Serge Schneider 0f41e41c8c Switch to FKMS 2020-07-30 15:32:03 +01:00
Serge Schneider a58e722bee Install RealVNC server 2020-07-30 15:31:16 +01:00
Serge Schneider c640efa6e1 Revert "fix vlc installation"
This reverts commit f644fa2848.
2020-07-30 15:29:40 +01:00
Serge Schneider d4049eeffb fix vlc installation 2020-07-30 15:29:40 +01:00
Serge Schneider 906c587fcd Package changes
Install vlc

Remove realvnc server

Switch to Full KMS
2020-07-30 15:29:40 +01:00
Serge Schneider 99399d30fc aarch64 2020-07-30 15:29:40 +01:00
41 changed files with 113 additions and 237 deletions

View File

@ -1,16 +1,7 @@
# Burrow Pi Image
# pi-gen
This is a fork of the [pi-gen](https://github.com/RPi-Distro/pi-gen) project, the "tool used to create the raspberrypi.org Raspbian images". `pi-gen` serves as a decent base becuase it:
_Tool used to create the raspberrypi.org Raspbian images_
* Builds compact images that self-inflate on the device during the first boot
* Provides a comfortable development workflow
I modified `pi-gen` with the following features:
* Rudefox Burrow installed
* Auto-login
* Read-only filesystem (as a security measure to prevent you from accidentally storing sensitive information on this low-security hardware)
* Most user-space networking packages removed (kernel still included networking capabilities)
## Dependencies
@ -38,21 +29,13 @@ environment variables.
The following environment variables are supported:
* `IMG_NAME` (Default: `RudefoxBurrow`)
* `IMG_NAME` **required** (Default: unset)
The name of the image to build with the current stage directories. Setting
`IMG_NAME=Raspbian` is logical for an unmodified RPi-Distro/pi-gen build,
but you should use something else for a customized version. Export files
in stages may add suffixes to `IMG_NAME`.
* `RUDEFOX_REPO_USERNAME` (Default: `anonymous`)
If the value is set to `anonymous`, then Burrow is pulled from the publicly available Rudefox repository. Otherwise, the build attempts to login to the Rudefox private repository for access to SNAPSHOT builds using the provided `RUDEFOX_REPO_USERNAME` / `RUDEFOX_REPO_PASSWORD` credentials.
* `RUDEFOX_BURROW_VERSION` (Default: `latest`)
If the value is set to `latest`, then the latest version is pulled from the Rudefox repository and installed. Otherwise, the specified version is downloadedand installed.
* `RELEASE` (Default: buster)
The release version to build images against. Valid values are jessie, stretch
@ -100,23 +83,15 @@ 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_CA.UTF-8" )
* `LOCALE_DEFAULT` (Default: "en_GB.UTF-8" )
Default system locale.
* `TARGET_HOSTNAME` (Default: "burrow" )
* `TARGET_HOSTNAME` (Default: "raspberrypi" )
Setting the hostname to the specified value.
* `KEYBOARD_MODEL` (Default: "Generic 101-key PC" )
Default keyboard model.
To get the current value from a running system, run `debconf-show
keyboard-configuration` and look at the
`keyboard-configuration/model` value.
* `KEYBOARD_KEYMAP` (Default: "us" )
* `KEYBOARD_KEYMAP` (Default: "gb" )
Default keyboard keymap.
@ -139,11 +114,11 @@ The following environment variables are supported:
To get the current value from a running system, look in
`/etc/timezone`.
* `FIRST_USER_NAME` (Default: "rudefox" )
* `FIRST_USER_NAME` (Default: "pi" )
Username for the first user
* `FIRST_USER_PASS` (Default: "burrow")
* `FIRST_USER_PASS` (Default: "raspberry")
Password for the first user
@ -155,17 +130,14 @@ The following environment variables are supported:
Setting to `1` will enable ssh server for remote log in. Note that if you are using a common password such as the defaults there is a high risk of attackers taking over you Raspberry Pi.
* `STAGE_LIST` (Default: `stage[0-2]`)
The default setting builds only the "lite" image for Rudefox Burrow, which is all you need.
* `STAGE_LIST` (Default: `stage*`)
If set, then instead of working through the numeric stages in order, this list will be followed. For example setting to `"stage0 stage1 mystage stage2"` will run the contents of `mystage` before stage2. Note that quotes are needed around the list. An absolute or relative path can be given for stages outside the pi-gen directory.
A simple example for building RaspbianBurrow:
A simple example for building Raspbian:
```bash
APT_PROXY=http://172.17.10.10:3142
TIMEZONE_DEFAULT="America/Toronto"
IMG_NAME='Raspbian'
```
The config file can also be specified on the command line as an argument the `build.sh` or `build-docker.sh` scripts.

View File

@ -48,6 +48,12 @@ CONTAINER_NAME=${CONTAINER_NAME:-pigen_work}
CONTINUE=${CONTINUE:-0}
PRESERVE_CONTAINER=${PRESERVE_CONTAINER:-0}
if [ -z "${IMG_NAME}" ]; then
echo "IMG_NAME not set in 'config'" 1>&2
echo 1>&2
exit 1
fi
# Ensure the Git Hash is recorded before entering the docker container
GIT_HASH=${GIT_HASH:-"$(git rev-parse HEAD)"}

View File

@ -146,10 +146,10 @@ done
export PI_GEN=${PI_GEN:-pi-gen}
export PI_GEN_REPO=${PI_GEN_REPO:-https://github.com/RPi-Distro/pi-gen}
export IMG_NAME="${IMG_NAME:-RasbianBurrow}"
export RUDEFOX_REPO_USERNAME="${RUDEFOX_REPO_USERNAME:-anonymous}"
export RUDEFOX_REPO_PASSWORD="${RUDEFOX_REPO_PASSWORD:-default}"
export RUDEFOX_BURROW_VERSION="${RUDEFOX_BURROW_VERSION:-latest}"
if [ -z "${IMG_NAME}" ]; then
echo "IMG_NAME not set" 1>&2
exit 1
fi
export USE_QEMU="${USE_QEMU:-0}"
export IMG_DATE="${IMG_DATE:-"$(date +%Y-%m-%d)"}"
@ -162,20 +162,19 @@ 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:-burrow}
export TARGET_HOSTNAME=${TARGET_HOSTNAME:-raspberrypi}
export FIRST_USER_NAME=${FIRST_USER_NAME:-rudefox}
export FIRST_USER_PASS=${FIRST_USER_PASS:-burrow}
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 LOCALE_DEFAULT="${LOCALE_DEFAULT:-en_CA.UTF-8}"
export LOCALE_DEFAULT="${LOCALE_DEFAULT:-en_GB.UTF-8}"
export KEYBOARD_MODEL="${KEYBOARD_MODEL:-Generic 101-key PC}"
export KEYBOARD_KEYMAP="${KEYBOARD_KEYMAP:-us}"
export KEYBOARD_KEYMAP="${KEYBOARD_KEYMAP:-gb}"
export KEYBOARD_LAYOUT="${KEYBOARD_LAYOUT:-English (UK)}"
export TIMEZONE_DEFAULT="${TIMEZONE_DEFAULT:-Europe/London}"
@ -230,7 +229,7 @@ fi
mkdir -p "${WORK_DIR}"
log "Begin ${BASE_DIR}"
STAGE_LIST=${STAGE_LIST:-${BASE_DIR}/stage[0-2]}
STAGE_LIST=${STAGE_LIST:-${BASE_DIR}/stage*}
for STAGE_DIR in $STAGE_LIST; do
STAGE_DIR=$(realpath "${STAGE_DIR}")

View File

@ -7,19 +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 -- -c "'${BOOTSTRAP_CMD}' $BOOTSTRAP_STR" || true
capsh --drop=cap_setfcap -- -c "'${BOOTSTRAP_CMD}' $BOOTSTRAP_STR" || true
if [ -d "$2/debootstrap" ]; then
rmdir "$2/debootstrap"

View File

@ -14,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

View File

@ -1,3 +1,7 @@
deb http://raspbian.raspberrypi.org/raspbian/ RELEASE main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ RELEASE 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

View File

@ -1,5 +1,5 @@
#!/bin/bash -e
if [ ! -d "${ROOTFS_DIR}" ]; then
bootstrap ${RELEASE} "${ROOTFS_DIR}" http://raspbian.raspberrypi.org/raspbian/
bootstrap ${RELEASE} "${ROOTFS_DIR}" http://deb.debian.org/debian/
fi

View File

@ -56,10 +56,7 @@
# 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

View File

@ -1 +0,0 @@
raspi-copies-and-fills

View File

@ -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

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
less fbset sudo psmisc strace ed ncdu crda vim
ssh less fbset sudo psmisc strace ed ncdu crda
console-setup keyboard-configuration debconf-utils parted unzip
build-essential manpages-dev python bash-completion gdb pkg-config
python-rpi.gpio v4l-utils
@ -6,20 +6,26 @@ avahi-daemon
lua5.1
luajit
hardlink ca-certificates curl
fake-hwclock usbutils
fake-hwclock nfs-common usbutils
libraspberrypi-dev libraspberrypi-doc libfreetype6-dev
dosfstools
dphys-swapfile
raspberrypi-sys-mods
pi-bluetooth
apt-listchanges
usb-modeswitch
libpam-chksshpwd
rpi-update
libmtp-runtime
rsync
htop
man-db
policykit-1
ssh-import-id
rng-tools
ethtool
vl805fw
ntfs-3g
pciutils
rpi-eeprom
raspinfo

View File

@ -0,0 +1 @@
cifs-utils

View File

@ -13,7 +13,14 @@ install -m 755 files/rc.local "${ROOTFS_DIR}/etc/"
on_chroot << EOF
systemctl disable hwclock.sh
systemctl disable nfs-common
systemctl disable rpcbind
if [ "${ENABLE_SSH}" == "1" ]; then
systemctl enable ssh
else
systemctl disable ssh
fi
systemctl enable regenerate_ssh_host_keys
EOF
if [ "${USE_QEMU}" = "1" ]; then
@ -46,3 +53,4 @@ on_chroot << EOF
usermod --pass='*' root
EOF
rm -f "${ROOTFS_DIR}/etc/ssh/"ssh_host_*_key*

View File

@ -0,0 +1,4 @@
wpasupplicant wireless-tools firmware-atheros firmware-brcm80211 firmware-libertas firmware-misc-nonfree firmware-realtek
raspberrypi-net-mods
dhcpcd5
net-tools

31
stage2/02-net-tweaks/01-run.sh Executable file
View File

@ -0,0 +1,31 @@
#!/bin/bash -e
install -v -d "${ROOTFS_DIR}/etc/systemd/system/dhcpcd.service.d"
install -v -m 644 files/wait.conf "${ROOTFS_DIR}/etc/systemd/system/dhcpcd.service.d/"
install -v -d "${ROOTFS_DIR}/etc/wpa_supplicant"
install -v -m 600 files/wpa_supplicant.conf "${ROOTFS_DIR}/etc/wpa_supplicant/"
if [ -v WPA_COUNTRY ]; then
echo "country=${WPA_COUNTRY}" >> "${ROOTFS_DIR}/etc/wpa_supplicant/wpa_supplicant.conf"
fi
if [ -v WPA_ESSID ] && [ -v WPA_PASSWORD ]; then
on_chroot <<EOF
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.mmcnr:wlan"
echo 1 > "${ROOTFS_DIR}/var/lib/systemd/rfkill/platform-fe300000.mmcnr:wlan"

View File

@ -0,0 +1,3 @@
[Service]
ExecStart=
ExecStart=/usr/lib/dhcpcd5/dhcpcd -q -w

View File

@ -0,0 +1,2 @@
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

View File

@ -1 +0,0 @@
openjdk-8-jre-headless

View File

@ -1,36 +0,0 @@
#!/bin/bash
export RUDEFOX_REPO_BASE_URL="https://repo.rudefox.io"
export RUDEFOX_REPO_RELEASES="maven-releases"
export RUDEFOX_GROUP="io.rudefox"
export RUDEFOX_BURROW_ID="burrow"
export OUTFILE="burrow.tar"
export WGET_OPTS="--https-only -O ${OUTFILE} -v"
export WGET_URL="${RUDEFOX_REPO_BASE_URL}/service/rest/v1/search/assets/download?group=${RUDEFOX_GROUP}&name=${RUDEFOX_BURROW_ID}&maven.extension=tar"
if [ $RUDEFOX_BURROW_VERSION != "latest" ]
then
export WGET_URL="${WGET_URL}&maven.baseVersion=${RUDEFOX_BURROW_VERSION}"
else
export WGET_URL="${WGET_URL}&sort=version"
fi
if [ $RUDEFOX_REPO_USERNAME != "anonymous" ]
then
export ENCODED_USERNAME=$(echo -n $RUDEFOX_REPO_USERNAME | base64 | sed 's/+/-/g; s/\//_/g; s/=/%3D/g';)
export ENCODED_PASSWORD=$(echo -n $RUDEFOX_REPO_PASSWORD | base64 | sed 's/+/-/g; s/\//_/g; s/=/%3D/g';)
export POST_DATA="username=${ENCODED_USERNAME}&password=${ENCODED_PASSWORD}"
wget --save-cookies cookies.txt --keep-session-cookies --post-data $POST_DATA "${RUDEFOX_REPO_BASE_URL}/service/rapture/session"
wget --load-cookies cookies.txt $WGET_OPTS $WGET_URL
rm cookies.txt
else
wget $WGET_OPTS "${WGET_URL}&repository=${RUDEFOX_REPO_RELEASES}"
fi

View File

@ -1,10 +0,0 @@
#!/bin/bash -e
mkdir -p "${ROOTFS_DIR}/opt/"
rm -rf "${ROOTFS_DIR}/opt/rudefox-burrow"
tar -C "${ROOTFS_DIR}/opt/" -xvf burrow.tar
mv "${ROOTFS_DIR}/opt/burrow-"* "${ROOTFS_DIR}/opt/rudefox-burrow"
on_chroot <<EOF
ln -fs /opt/rudefox-burrow/bin/burrow /usr/bin/burrow
EOF

View File

@ -1,6 +0,0 @@
#!/bin/bash -e
echo "" >> "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.bashrc"
echo ". <(burrow generate-completion)" >> "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.bashrc"
echo "alias seedgen='burrow mnemonic -i8b 256'" >> "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.bashrc"

View File

@ -1,5 +0,0 @@
#!/bin/bash -e
echo "" >> "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.bashrc"
echo "unset HISTFILE" >> "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.bashrc"

View File

@ -1,15 +0,0 @@
#!/bin/bash -e
on_chroot << ENDCHROOT
systemctl set-default multi-user.target
ln -fs /lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@tty1.service
cat > /etc/systemd/system/getty@tty1.service.d/autologin.conf << EOF
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin ${FIRST_USER_NAME} --noclear %I \\\$TERM
EOF
ENDCHROOT

View File

@ -1 +0,0 @@
toilet figlet

View File

@ -1,8 +0,0 @@
#!/bin/bash -e
rm -rf "${ROOTFS_DIR}/etc/motd"
rm -rf "${ROOTFS_DIR}/etc/update-motd.d/"*
install -m 755 files/* "${ROOTFS_DIR}/etc/update-motd.d/"
echo "" >> "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.bashrc"
echo "PS1=\"\\\\[\e[31m\\\\]Burrow>\\\\[\e[m\\\\] \"" >> "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.bashrc"

View File

@ -1,9 +0,0 @@
#!/bin/bash
THIS_SCRIPT="header"
MOTD_DISABLE=""
toilet -f standard -F metal Burrow
printf '\nWelcome to RudeFox Burrow!\n'
printf '\n'

View File

@ -1,11 +0,0 @@
#!/bin/bash
echo ""
echo "======================================================="
echo "=== TYPE: "
echo "=== seedgen "
echo "=== "
echo "=== to generate a new 24-word seed "
echo "======================================================="
echo ""
echo ""

View File

@ -1,12 +0,0 @@
#!/bin/bash -e
install -d "${ROOTFS_DIR}/etc/systemd/system/enable-overlayfs.target.wants"
install -m 644 files/enable-overlayfs.service "${ROOTFS_DIR}/etc/systemd/system/"
install -m 644 files/enable-overlayfs.target "${ROOTFS_DIR}/etc/systemd/system/"
install -m 755 files/enable_overlayfs.sh "${ROOTFS_DIR}/usr/bin/"
on_chroot << EOF
ln -sf /etc/systemd/system/enable-overlayfs.service /etc/systemd/system/enable-overlayfs.target.wants/enable-overlayfs.service
systemctl daemon-reload
systemctl set-default enable-overlayfs.target
EOF

View File

@ -1,10 +0,0 @@
[Unit]
Description=Enable Overlay Filesystem
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/enable_overlayfs.sh
[Install]
WantedBy=enable-overlayfs.target

View File

@ -1,5 +0,0 @@
[Unit]
Description=Enable Overlay Filesystem Target
Requires=multi-user.target
After=multi-user.target
AllowIsolate=yes

View File

@ -1,5 +0,0 @@
#!/bin/bash
/usr/bin/raspi-config nonint do_overlayfs 0
systemctl set-default multi-user.target
reboot

View File

@ -1,2 +0,0 @@
NOOBS_NAME="Raspberry Pi OS Lite (32-bit)"
NOOBS_DESCRIPTION="A port of Debian with no desktop environment"

View File

@ -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

View File

@ -1,6 +1,6 @@
xserver-xorg-video-fbdev xserver-xorg xinit xserver-xorg-video-fbturbo
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

View File

@ -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

View File

@ -2,7 +2,7 @@ python python3-pygame python-pygame python-tk
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

View File

@ -1,2 +0,0 @@
NOOBS_NAME="Raspberry Pi OS (32-bit)"
NOOBS_DESCRIPTION="A port of Debian with the Raspberry Pi Desktop"

View File

@ -1,15 +1,15 @@
mu-editor
sonic-pi
scratch nuscratch scratch2 scratch3
#sonic-pi
#scratch nuscratch scratch2 scratch3
smartsim
minecraft-pi python-minecraftpi python-picraft python3-picraft
#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

View File

@ -1,4 +0,0 @@
IMG_SUFFIX="-full"
if [ "${USE_QEMU}" = "1" ]; then
export IMG_SUFFIX="${IMG_SUFFIX}-qemu"
fi

View File

@ -1,2 +0,0 @@
NOOBS_NAME="Raspberry Pi OS Full (32-bit)"
NOOBS_DESCRIPTION="A port of Debian with desktop and recommended applications"