1 Commits

Author SHA1 Message Date
oxmc 07b8db1a74 Trixie base 2025-12-26 02:48:07 -08:00
47 changed files with 316 additions and 237 deletions
+1 -1
View File
@@ -6,7 +6,7 @@ ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get -y update && \ RUN apt-get -y update && \
apt-get -y install --no-install-recommends \ apt-get -y install --no-install-recommends \
git vim parted \ git vim parted \
quilt coreutils qemu-user-static debootstrap zerofree zip dosfstools \ quilt coreutils qemu-user-static debootstrap zerofree zip dosfstools e2fsprogs \
libarchive-tools libcap2-bin rsync grep udev xz-utils curl xxd file kmod bc \ libarchive-tools libcap2-bin rsync grep udev xz-utils curl xxd file kmod bc \
binfmt-support ca-certificates fdisk gpg pigz arch-test \ binfmt-support ca-certificates fdisk gpg pigz arch-test \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
+3 -3
View File
@@ -15,9 +15,9 @@ For other Linux distributions, you can use the Docker-based build method provide
To install the required dependencies for building ChillcraftOS, run the following command: To install the required dependencies for building ChillcraftOS, run the following command:
```bash ```bash
apt-get install coreutils quilt parted qemu-user-static debootstrap zerofree zip \ apt install coreutils quilt parted qemu-user-static debootstrap zerofree zip \
dosfstools libarchive-tools libcap2-bin grep rsync xz-utils file git curl bc \ dosfstools e2fsprogs libarchive-tools libcap2-bin grep rsync xz-utils file git curl bc \
gpg pigz xxd arch-test gpg pigz xxd arch-test bmap-tools kmod
``` ```
The `depends` file in the repository lists all the necessary tools, formatted as `<tool>[:<debian-package>]`. The `depends` file in the repository lists all the necessary tools, formatted as `<tool>[:<debian-package>]`.
+3 -3
View File
@@ -85,10 +85,10 @@ BUILD_OPTS="$(echo "${BUILD_OPTS:-}" | sed -E 's@\-c\s?([^ ]+)@-c /config@')"
# Check the arch of the machine we're running on. If it's 64-bit, use a 32-bit base image instead # Check the arch of the machine we're running on. If it's 64-bit, use a 32-bit base image instead
case "$(uname -m)" in case "$(uname -m)" in
x86_64|aarch64) x86_64|aarch64)
BASE_IMAGE=i386/debian:bookworm BASE_IMAGE=i386/debian:trixie
;; ;;
*) *)
BASE_IMAGE=debian:bookworm BASE_IMAGE=debian:trixie
;; ;;
esac esac
${DOCKER} build --build-arg BASE_IMAGE=${BASE_IMAGE} -t pi-gen "${DIR}" ${DOCKER} build --build-arg BASE_IMAGE=${BASE_IMAGE} -t pi-gen "${DIR}"
@@ -151,7 +151,7 @@ time ${DOCKER} run \
pi-gen \ pi-gen \
bash -e -o pipefail -c " bash -e -o pipefail -c "
dpkg-reconfigure qemu-user-static && dpkg-reconfigure qemu-user-static &&
# binfmt_misc is sometimes not mounted with debian bookworm image # binfmt_misc is sometimes not mounted with debian trixie image
(mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc || true) && (mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc || true) &&
cd /pi-gen; ./build.sh ${BUILD_OPTS} && cd /pi-gen; ./build.sh ${BUILD_OPTS} &&
rsync -av work/*/build.log deploy/ rsync -av work/*/build.log deploy/
+5 -1
View File
@@ -111,6 +111,8 @@ EOF
log "Begin ${SUB_STAGE_DIR}/${RUN_SCRIPT}" log "Begin ${SUB_STAGE_DIR}/${RUN_SCRIPT}"
"./${RUN_SCRIPT}" "./${RUN_SCRIPT}"
log "End ${SUB_STAGE_DIR}/${RUN_SCRIPT}" log "End ${SUB_STAGE_DIR}/${RUN_SCRIPT}"
elif [ -f ${i}-run.sh ]; then
log "Skip ${SUB_STAGE_DIR}/${i}-run.sh (not executable)"
fi fi
done done
for CHROOT_SCRIPT in "${i}-run-chroot-${ARCH}.sh" "${i}-run-chroot-arm-only.sh" "${i}-run-chroot.sh"; do for CHROOT_SCRIPT in "${i}-run-chroot-${ARCH}.sh" "${i}-run-chroot-arm-only.sh" "${i}-run-chroot.sh"; do
@@ -226,7 +228,7 @@ export PI_GEN_REPO=${PI_GEN_REPO:-https://github.com/RPi-Distro/pi-gen}
export PI_GEN_RELEASE=${PI_GEN_RELEASE:-Raspberry Pi reference} export PI_GEN_RELEASE=${PI_GEN_RELEASE:-Raspberry Pi reference}
export ARCH="${ARCH:-arm64}" export ARCH="${ARCH:-arm64}"
export RELEASE=${RELEASE:-bookworm} export RELEASE=${RELEASE:-trixie}
export IMG_NAME="${IMG_NAME:-chillcraftos-$RELEASE-$ARCH}" export IMG_NAME="${IMG_NAME:-chillcraftos-$RELEASE-$ARCH}"
export USE_QEMU="${USE_QEMU:-0}" export USE_QEMU="${USE_QEMU:-0}"
@@ -282,6 +284,8 @@ export QUILT_NO_DIFF_INDEX=1
export QUILT_NO_DIFF_TIMESTAMPS=1 export QUILT_NO_DIFF_TIMESTAMPS=1
export QUILT_REFRESH_ARGS="-p ab" export QUILT_REFRESH_ARGS="-p ab"
export ENABLE_CLOUD_INIT=${ENABLE_CLOUD_INIT:-1}
# shellcheck source=scripts/common # shellcheck source=scripts/common
source "${SCRIPT_DIR}/common" source "${SCRIPT_DIR}/common"
# shellcheck source=scripts/dependencies_check # shellcheck source=scripts/dependencies_check
+1
View File
@@ -6,6 +6,7 @@ debootstrap
zerofree zerofree
zip zip
mkdosfs:dosfstools mkdosfs:dosfstools
mke2fs:e2fsprogs
capsh:libcap2-bin capsh:libcap2-bin
bsdtar:libarchive-tools bsdtar:libarchive-tools
grep grep
+6 -10
View File
@@ -6,7 +6,7 @@ environment variables.
The following environment variables are supported: The following environment variables are supported:
* `IMG_NAME` (Default: `raspios-$RELEASE-$ARCH`, for example: `raspios-bookworm-armhf`) * `IMG_NAME` (Default: `raspios-$RELEASE-$ARCH`, for example: `raspios-trixie-armhf`)
The name of the image to build with the current stage directories. Use this The name of the image to build with the current stage directories. Use this
variable to set the root name of your OS, eg `IMG_NAME=Frobulator`. variable to set the root name of your OS, eg `IMG_NAME=Frobulator`.
@@ -17,7 +17,7 @@ The following environment variables are supported:
The release name to use in `/etc/issue.txt`. The default should only be used The release name to use in `/etc/issue.txt`. The default should only be used
for official Raspberry Pi builds. for official Raspberry Pi builds.
* `RELEASE` (Default: `bookworm`) * `RELEASE` (Default: `trixie`)
The release version to build images against. Valid values are any supported The release version to build images against. Valid values are any supported
Debian release. However, since different releases will have different sets of Debian release. However, since different releases will have different sets of
@@ -67,14 +67,6 @@ The following environment variables are supported:
* `gz` to deploy a gzipped image (`.img.gz`). * `gz` to deploy a gzipped image (`.img.gz`).
* `xz` to deploy a xzipped image (`.img.xz`). * `xz` to deploy a xzipped image (`.img.xz`).
* `DEPLOY_ZIP` (Deprecated)
This option has been deprecated in favor of `DEPLOY_COMPRESSION`.
If `DEPLOY_ZIP=0` is still present in your config file, the behavior is the
same as with `DEPLOY_COMPRESSION=none`.
* `COMPRESSION_LEVEL` (Default: `6`) * `COMPRESSION_LEVEL` (Default: `6`)
Compression level to be used when using `zip`, `gz` or `xz` for Compression level to be used when using `zip`, `gz` or `xz` for
@@ -157,6 +149,10 @@ The following environment variables are supported:
If set, use this directory path as the location of scripts to run when generating images. An absolute or relative path can be given for a location outside the pi-gen directory. If set, use this directory path as the location of scripts to run when generating images. An absolute or relative path can be given for a location outside the pi-gen directory.
* `ENABLE_CLOUD_INIT` (Default: `1`)
If set to `1`, cloud-init and netplan will be installed and configured. This will allow you to configure your Raspberry Pi using cloud-init configuration files. The cloud-init configuration files should be placed in the bootfs or by editing the files in `stage2/04-cloud-init/files`. Cloud-init will be configured to read them on first boot.
A simple example for building Raspberry Pi OS: A simple example for building Raspberry Pi OS:
```bash ```bash
+12 -9
View File
@@ -5,14 +5,17 @@ INFO_FILE="${STAGE_WORK_DIR}/${IMG_FILENAME}${IMG_SUFFIX}.info"
SBOM_FILE="${STAGE_WORK_DIR}/${IMG_FILENAME}${IMG_SUFFIX}.sbom" SBOM_FILE="${STAGE_WORK_DIR}/${IMG_FILENAME}${IMG_SUFFIX}.sbom"
BMAP_FILE="${STAGE_WORK_DIR}/${IMG_FILENAME}${IMG_SUFFIX}.bmap" BMAP_FILE="${STAGE_WORK_DIR}/${IMG_FILENAME}${IMG_SUFFIX}.bmap"
on_chroot << EOF on_chroot <<- EOF
update-initramfs -k all -c update-initramfs -k all -c
if [ -x /etc/init.d/fake-hwclock ]; then if hash hardlink 2>/dev/null; then
/etc/init.d/fake-hwclock stop hardlink -t /usr/share/doc
fi fi
if hash hardlink 2>/dev/null; then if [ -f /usr/lib/systemd/system/apt-listchanges.service ]; then
hardlink -t /usr/share/doc python3 -m apt_listchanges.populate_database --profile apt
fi systemctl disable apt-listchanges.timer
fi
install -m 755 -o systemd-timesync -g systemd-timesync -d /var/lib/systemd/timesync
install -m 644 -o systemd-timesync -g systemd-timesync /dev/null /var/lib/systemd/timesync/clock
EOF EOF
if [ -f "${ROOTFS_DIR}/etc/initramfs-tools/update-initramfs.conf" ]; then if [ -f "${ROOTFS_DIR}/etc/initramfs-tools/update-initramfs.conf" ]; then
@@ -51,7 +54,7 @@ rm -f "${ROOTFS_DIR}"/usr/share/icons/*/icon-theme.cache
rm -f "${ROOTFS_DIR}/var/lib/dbus/machine-id" rm -f "${ROOTFS_DIR}/var/lib/dbus/machine-id"
true > "${ROOTFS_DIR}/etc/machine-id" echo "uninitialized" > "${ROOTFS_DIR}/etc/machine-id"
ln -nsf /proc/mounts "${ROOTFS_DIR}/etc/mtab" ln -nsf /proc/mounts "${ROOTFS_DIR}/etc/mtab"
+4 -1
View File
@@ -17,7 +17,10 @@ bootstrap(){
BOOTSTRAP_ARGS+=("$@") BOOTSTRAP_ARGS+=("$@")
printf -v BOOTSTRAP_STR '%q ' "${BOOTSTRAP_ARGS[@]}" printf -v BOOTSTRAP_STR '%q ' "${BOOTSTRAP_ARGS[@]}"
capsh $CAPSH_ARG -- -c "'${BOOTSTRAP_CMD}' $BOOTSTRAP_STR" || true setarch linux32 capsh $CAPSH_ARG -- -c "'${BOOTSTRAP_CMD}' $BOOTSTRAP_STR" || true
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050719
rm -f wget-log*
if [ -d "$2/debootstrap" ] && ! rmdir "$2/debootstrap"; then if [ -d "$2/debootstrap" ] && ! rmdir "$2/debootstrap"; then
cp "$2/debootstrap/debootstrap.log" "${STAGE_WORK_DIR}" cp "$2/debootstrap/debootstrap.log" "${STAGE_WORK_DIR}"
+10 -10
View File
@@ -1,16 +1,18 @@
#!/bin/bash -e #!/bin/bash -e
# Configure apt sources # Configure apt sources
install -m 644 files/sources.list "${ROOTFS_DIR}/etc/apt/" true > "${ROOTFS_DIR}/etc/apt/sources.list"
sed -i "s/RELEASE/${RELEASE}/g" "${ROOTFS_DIR}/etc/apt/sources.list"
if [[ "${ARCH}" == "arm64" || "${ARCH}" == "armhf" ]]; then if [[ "${ARCH}" == "arm64" || "${ARCH}" == "armhf" ]]; then
install -m 644 files/raspi.list "${ROOTFS_DIR}/etc/apt/sources.list.d/" install -m 644 files/raspbian.sources "${ROOTFS_DIR}/etc/apt/sources.list.d/"
sed -i "s/RELEASE/${RELEASE}/g" "${ROOTFS_DIR}/etc/apt/sources.list.d/raspi.list" install -m 644 files/raspi.sources "${ROOTFS_DIR}/etc/apt/sources.list.d/"
sed -i "s/RELEASE/${RELEASE}/g" "${ROOTFS_DIR}/etc/apt/sources.list.d/raspbian.sources"
sed -i "s/RELEASE/${RELEASE}/g" "${ROOTFS_DIR}/etc/apt/sources.list.d/raspi.sources"
fi fi
install -m 644 files/oxmc.list "${ROOTFS_DIR}/etc/apt/sources.list.d/" # Configure oxmc apt sources
sed -i "s/RELEASE/${RELEASE}/g" "${ROOTFS_DIR}/etc/apt/sources.list.d/oxmc.list" install -m 644 files/oxmc.sources "${ROOTFS_DIR}/etc/apt/sources.list.d/"
sed -i "s/RELEASE/${RELEASE}/g" "${ROOTFS_DIR}/etc/apt/sources.list.d/oxmc.sources"
# Configure apt proxy # Configure apt proxy
if [ -n "$APT_PROXY" ]; then if [ -n "$APT_PROXY" ]; then
@@ -32,13 +34,11 @@ install -m 644 files/apt-chillcraftos-prefs "${ROOTFS_DIR}/etc/apt/preferences.d
if [[ "${ARCH}" == "arm64" || "${ARCH}" == "armhf" ]]; then if [[ "${ARCH}" == "arm64" || "${ARCH}" == "armhf" ]]; then
# Add raspberrypi-archive-keyring to apt # Add raspberrypi-archive-keyring to apt
cat files/raspberrypi.gpg.key | gpg --dearmor > "${STAGE_WORK_DIR}/raspberrypi-archive-stable.gpg" install -m 644 files/raspberrypi-archive-keyring.pgp "${ROOTFS_DIR}/usr/share/keyrings/"
install -m 644 "${STAGE_WORK_DIR}/raspberrypi-archive-stable.gpg" "${ROOTFS_DIR}/etc/apt/trusted.gpg.d/"
fi fi
# Add oxmc-archive-keyring to apt # Add oxmc-archive-keyring to apt
cat files/oxmc.gpg.key | gpg --dearmor > "${STAGE_WORK_DIR}/oxmc.gpg" install -m 644 files/oxmc.pgp "${ROOTFS_DIR}/usr/share/keyrings/"
install -m 644 "${STAGE_WORK_DIR}/oxmc.gpg" "${ROOTFS_DIR}/etc/apt/trusted.gpg.d/"
# Add armhf and arm64 architectures, update and upgrade and cache policy # Add armhf and arm64 architectures, update and upgrade and cache policy
on_chroot <<- \EOF on_chroot <<- \EOF
-3
View File
@@ -1,3 +0,0 @@
deb https://cdn.oxmc.me/apt RELEASE main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src https://cdn.oxmc.me/apt RELEASE main
@@ -0,0 +1,5 @@
Types: deb
URIs: https://cdn.oxmc.me/apt
Suites: RELEASE
Components: main
Signed-By: /usr/share/keyrings/oxmc.gpg
@@ -1,30 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.12 (GNU/Linux)
mQENBE/d7o8BCACrwqQacGJfn3tnMzGui6mv2lLxYbsOuy/+U4rqMmGEuo3h9m92
30E2EtypsoWczkBretzLUCFv+VUOxaA6sV9+puTqYGhhQZFuKUWcG7orf7QbZRuu
TxsEUepW5lg7MExmAu1JJzqM0kMQX8fVyWVDkjchZ/is4q3BPOUCJbUJOsE+kK/6
8kW6nWdhwSAjfDh06bA5wvoXNjYoDdnSZyVdcYCPEJXEg5jfF/+nmiFKMZBraHwn
eQsepr7rBXxNcEvDlSOPal11fg90KXpy7Umre1UcAZYJdQeWcHu7X5uoJx/MG5J8
ic6CwYmDaShIFa92f8qmFcna05+lppk76fsnABEBAAG0IFJhc3BiZXJyeSBQaSBB
cmNoaXZlIFNpZ25pbmcgS2V5iQE4BBMBAgAiBQJP3e6PAhsDBgsJCAcDAgYVCAIJ
CgsEFgIDAQIeAQIXgAAKCRCCsSmSf6MwPk6vB/9pePB3IukU9WC9Bammh3mpQTvL
OifbkzHkmAYxzjfK6D2I8pT0xMxy949+ThzJ7uL60p6T/32ED9DR3LHIMXZvKtuc
mQnSiNDX03E2p7lIP/htoxW2hDP2n8cdlNdt0M9IjaWBppsbO7IrDppG2B1aRLni
uD7v8bHRL2mKTtIDLX42Enl8aLAkJYgNWpZyPkDyOqamjijarIWjGEPCkaURF7g4
d44HvYhpbLMOrz1m6N5Bzoa5+nq3lmifeiWKxioFXU+Hy5bhtAM6ljVb59hbD2ra
X4+3LXC9oox2flmQnyqwoyfZqVgSQa0B41qEQo8t1bz6Q1Ti7fbMLThmbRHiuQEN
BE/d7o8BCADNlVtBZU63fm79SjHh5AEKFs0C3kwa0mOhp9oas/haDggmhiXdzeD3
49JWz9ZTx+vlTq0s+I+nIR1a+q+GL+hxYt4HhxoA6vlDMegVfvZKzqTX9Nr2VqQa
S4Kz3W5ULv81tw3WowK6i0L7pqDmvDqgm73mMbbxfHD0SyTt8+fk7qX6Ag2pZ4a9
ZdJGxvASkh0McGpbYJhk1WYD+eh4fqH3IaeJi6xtNoRdc5YXuzILnp+KaJyPE5CR
qUY5JibOD3qR7zDjP0ueP93jLqmoKltCdN5+yYEExtSwz5lXniiYOJp8LWFCgv5h
m8aYXkcJS1xVV9Ltno23YvX5edw9QY4hABEBAAGJAR8EGAECAAkFAk/d7o8CGwwA
CgkQgrEpkn+jMD5Figf/dIC1qtDMTbu5IsI5uZPX63xydaExQNYf98cq5H2fWF6O
yVR7ERzA2w33hI0yZQrqO6pU9SRnHRxCFvGv6y+mXXXMRcmjZG7GiD6tQWeN/3wb
EbAn5cg6CJ/Lk/BI4iRRfBX07LbYULCohlGkwBOkRo10T+Ld4vCCnBftCh5x2OtZ
TOWRULxP36y2PLGVNF+q9pho98qx+RIxvpofQM/842ZycjPJvzgVQsW4LT91KYAE
4TVf6JjwUM6HZDoiNcX6d7zOhNfQihXTsniZZ6rky287htsWVDNkqOi5T3oTxWUo
m++/7s3K3L0zWopdhMVcgg6Nt9gcjzqN1c0gy55L/g==
=mNSj
-----END PGP PUBLIC KEY BLOCK-----
@@ -0,0 +1,6 @@
Types: deb
URIs: http://raspbian.raspberrypi.com/raspbian/
Architectures: armhf
Suites: RELEASE
Components: main contrib non-free rpi
Signed-By: /usr/share/keyrings/raspbian-archive-keyring.gpg
-3
View File
@@ -1,3 +0,0 @@
deb http://archive.raspberrypi.com/debian/ RELEASE main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.com/debian/ RELEASE main
@@ -0,0 +1,5 @@
Types: deb
URIs: http://archive.raspberrypi.com/debian/
Suites: RELEASE
Components: main
Signed-By: /usr/share/keyrings/raspberrypi-archive-keyring.pgp
@@ -1,7 +0,0 @@
deb http://deb.debian.org/debian RELEASE main contrib non-free non-free-firmware
deb http://deb.debian.org/debian-security/ RELEASE-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian RELEASE-updates main contrib non-free non-free-firmware
# 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 non-free-firmware
#deb-src http://deb.debian.org/debian-security/ RELEASE-security main contrib non-free non-free-firmware
#deb-src http://deb.debian.org/debian RELEASE-updates main contrib non-free non-free-firmware
+1 -1
View File
@@ -1 +1 @@
console=serial0,115200 console=tty1 root=ROOTDEV rootfstype=ext4 fsck.repair=yes rootwait console=serial0,115200 console=tty1 root=ROOTDEV rootfstype=ext4 fsck.repair=yes rootwait resize
@@ -1,6 +1,6 @@
--- a/rootfs/etc/skel/.bashrc --- stage1.orig/rootfs/etc/skel/.bashrc
+++ b/rootfs/etc/skel/.bashrc +++ stage1/rootfs/etc/skel/.bashrc
@@ -43,7 +43,7 @@ @@ -43,7 +43,7 @@ esac
# uncomment for a colored prompt, if the terminal has the capability; turned # uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window # off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt # should be on the output of commands, not on the prompt
@@ -9,7 +9,7 @@
if [ -n "$force_color_prompt" ]; then if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
@@ -57,7 +57,7 @@ @@ -57,7 +57,7 @@ if [ -n "$force_color_prompt" ]; then
fi fi
if [ "$color_prompt" = yes ]; then if [ "$color_prompt" = yes ]; then
@@ -18,7 +18,7 @@
else else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi fi
@@ -79,9 +79,9 @@ @@ -79,9 +79,9 @@ if [ -x /usr/bin/dircolors ]; then
#alias dir='dir --color=auto' #alias dir='dir --color=auto'
#alias vdir='vdir --color=auto' #alias vdir='vdir --color=auto'
@@ -30,4 +30,4 @@
+ alias egrep='egrep --color=auto' + alias egrep='egrep --color=auto'
fi fi
# colored GCC warnings and errors # colored GCC warnings and errors
+1 -1
View File
@@ -15,4 +15,4 @@ if ! id -u ${FIRST_USER_NAME} >/dev/null 2>&1; then
fi fi
echo "root:root" | chpasswd echo "root:root" | chpasswd
EOF EOF
+1 -7
View File
@@ -1,12 +1,6 @@
# Encoding to use on the console:
# Choices: ARMSCII-8, CP1251, CP1255, CP1256, GEORGIAN-ACADEMY, GEORGIAN-PS, IBM1133, ISIRI-3342, ISO-8859-1, ISO-8859-10, ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, KOI8-R, KOI8-U, TIS-620, UTF-8, VISCII
console-setup console-setup/charmap47 select UTF-8
# Character set to support: # Character set to support:
# 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 # 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 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
console-setup console-setup/fontface47 select Do not change the boot/kernel font
# Key to function as AltGr: # Key to function as AltGr:
# Choices: The default for the keyboard layout, No AltGr key, Right Alt (AltGr), Right Control, Right Logo key, Menu key, Left Alt, Left Logo key, Keypad Enter key, Both Logo keys, Both Alt keys # Choices: The default for the keyboard layout, No AltGr key, Right Alt (AltGr), Right Control, Right Logo key, Menu key, Left Alt, Left Logo key, Keypad Enter key, Both Logo keys, Both Alt keys
keyboard-configuration keyboard-configuration/altgr select The default for the keyboard layout keyboard-configuration keyboard-configuration/altgr select The default for the keyboard layout
@@ -25,4 +19,4 @@ keyboard-configuration keyboard-configuration/ctrl_alt_bksp boolean true
# 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 # 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 ${KEYBOARD_LAYOUT} keyboard-configuration keyboard-configuration/variant select ${KEYBOARD_LAYOUT}
# for internal use # for internal use
keyboard-configuration keyboard-configuration/optionscode string PLACEHOLDER keyboard-configuration keyboard-configuration/optionscode string PLACEHOLDER
+3 -3
View File
@@ -6,12 +6,12 @@ v4l-utils
python3-spidev python3-spidev
python3-smbus2 python3-smbus2
avahi-daemon avahi-daemon
bluez bluez-firmware
lua5.1 lua5.1
luajit luajit
ca-certificates curl ca-certificates curl
fake-hwclock nfs-common usbutils usbutils
dosfstools dosfstools
dphys-swapfile
apt-listchanges apt-listchanges
apt-file apt-file
usb-modeswitch usb-modeswitch
@@ -20,7 +20,6 @@ libmtp-runtime
rsync rsync
htop htop
man-db man-db
policykit-1
ssh-import-id ssh-import-id
ethtool ethtool
ntfs-3g ntfs-3g
@@ -30,3 +29,4 @@ unzip zip p7zip-full
file file
kms++-utils kms++-utils
python3-venv python3-venv
cups
@@ -1,9 +1,7 @@
Index: jessie-stage2/rootfs/etc/default/useradd --- stage2.orig/rootfs/etc/default/useradd
=================================================================== +++ stage2/rootfs/etc/default/useradd
--- jessie-stage2.orig/rootfs/etc/default/useradd
+++ jessie-stage2/rootfs/etc/default/useradd
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
# Similar to DHSELL in adduser. However, we use "sh" here because # Similar to DSHELL in adduser. However, we use "sh" here because
# useradd is a low level utility and should be as general # useradd is a low level utility and should be as general
# as possible # as possible
-SHELL=/bin/sh -SHELL=/bin/sh
@@ -19,4 +17,4 @@ Index: jessie-stage2/rootfs/etc/default/useradd
+SKEL=/etc/skel +SKEL=/etc/skel
# #
# Defines whether the mail spool should be created while # Defines whether the mail spool should be created while
# creating the account # creating the account
@@ -0,0 +1,10 @@
--- stage2.orig/rootfs/etc/inputrc
+++ stage2/rootfs/etc/inputrc
@@ -69,3 +69,7 @@ $endif
# "\e[F": end-of-line
$endif
+
+# mappings for up and down arrows search history
+# "\e[B": history-search-forward
+# "\e[A": history-search-backward
@@ -1,13 +0,0 @@
Index: jessie-stage2/rootfs/etc/dphys-swapfile
===================================================================
--- jessie-stage2.orig/rootfs/etc/dphys-swapfile
+++ jessie-stage2/rootfs/etc/dphys-swapfile
@@ -13,7 +13,7 @@
# set size to absolute value, leaving empty (default) then uses computed value
# you most likely don't want this, unless you have an special disk situation
-#CONF_SWAPSIZE=
+CONF_SWAPSIZE=512
# set size to computed value, this times RAM size, dynamically adapts,
# guarantees that there is enough swap without wasting disk space on excess
@@ -1,12 +0,0 @@
Index: jessie-stage2/rootfs/etc/inputrc
===================================================================
--- jessie-stage2.orig/rootfs/etc/inputrc
+++ jessie-stage2/rootfs/etc/inputrc
@@ -65,3 +65,7 @@ $endif
# "\e[F": end-of-line
$endif
+
+# mappings for up and down arrows search history
+# "\e[B": history-search-forward
+# "\e[A": history-search-backward
@@ -1,8 +1,6 @@
Index: jessie-stage2/rootfs/etc/login.defs --- stage2.orig/rootfs/etc/login.defs
=================================================================== +++ stage2/rootfs/etc/login.defs
--- jessie-stage2.orig/rootfs/etc/login.defs @@ -60,7 +60,7 @@ HUSHLOGIN_FILE .hushlogin
+++ jessie-stage2/rootfs/etc/login.defs
@@ -100,7 +100,7 @@ HUSHLOGIN_FILE .hushlogin
# #
# (they are minimal, add the rest in the shell startup files) # (they are minimal, add the rest in the shell startup files)
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
@@ -10,17 +8,15 @@ Index: jessie-stage2/rootfs/etc/login.defs
+ENV_PATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games +ENV_PATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
# #
# Terminal permissions # Terminal permissions for terminals after login(1).
Index: jessie-stage2/rootfs/etc/profile --- stage2.orig/rootfs/etc/profile
=================================================================== +++ stage2/rootfs/etc/profile
--- jessie-stage2.orig/rootfs/etc/profile
+++ jessie-stage2/rootfs/etc/profile
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
if [ "`id -u`" -eq 0 ]; then if [ "$(id -u)" -eq 0 ]; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else else
- PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" - PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
+ PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games" + PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games"
fi fi
export PATH export PATH
+2 -3
View File
@@ -1,4 +1,3 @@
01-useradd.diff 01-useradd.diff
02-swap.diff 02-inputrc.diff
03-inputrc.diff 03-path.diff
04-path.diff
+7 -1
View File
@@ -1,5 +1,11 @@
raspberrypi-sys-mods raspberrypi-sys-mods
pi-bluetooth
rpi-update rpi-update
rpi-eeprom rpi-eeprom
raspi-utils raspi-utils
rpi-swap rpi-loop-utils
gpiod python3-libgpiod
python3-gpiozero
python3-rpi-lgpio
rpi-keyboard-config
rpi-keyboard-fw-update
rpi-usb-gadget
+11 -31
View File
@@ -1,13 +1,5 @@
#!/bin/bash -e #!/bin/bash -e
install -m 755 files/resize2fs_once "${ROOTFS_DIR}/etc/init.d/"
if [[ "${ARCH}" == "arm64" || "${ARCH}" == "armhf" ]]; then
install -m 644 files/50raspi "${ROOTFS_DIR}/etc/apt/apt.conf.d/"
fi
install -m 644 files/console-setup "${ROOTFS_DIR}/etc/default/"
if [ -n "${PUBKEY_SSH_FIRST_USER}" ]; then if [ -n "${PUBKEY_SSH_FIRST_USER}" ]; then
install -v -m 0700 -o 1000 -g 1000 -d "${ROOTFS_DIR}"/home/"${FIRST_USER_NAME}"/.ssh install -v -m 0700 -o 1000 -g 1000 -d "${ROOTFS_DIR}"/home/"${FIRST_USER_NAME}"/.ssh
echo "${PUBKEY_SSH_FIRST_USER}" >"${ROOTFS_DIR}"/home/"${FIRST_USER_NAME}"/.ssh/authorized_keys echo "${PUBKEY_SSH_FIRST_USER}" >"${ROOTFS_DIR}"/home/"${FIRST_USER_NAME}"/.ssh/authorized_keys
@@ -21,39 +13,28 @@ s/^#?[[:blank:]]*PasswordAuthentication[[:blank:]]*yes[[:blank:]]*$/PasswordAuth
fi fi
on_chroot << EOF on_chroot << EOF
systemctl disable hwclock.sh
systemctl disable nfs-common
systemctl disable rpcbind
if [ "${ENABLE_SSH}" == "1" ]; then if [ "${ENABLE_SSH}" == "1" ]; then
systemctl enable ssh systemctl enable ssh
else else
systemctl disable ssh systemctl disable ssh
fi fi
if [[ "${ARCH}" == "arm64" || "${ARCH}" == "armhf" ]]; then
systemctl enable regenerate_ssh_host_keys
fi
EOF EOF
if [ "${USE_QEMU}" = "1" ]; then if [ "${USE_QEMU}" = "1" ]; then
echo "enter QEMU mode" echo "enter QEMU mode"
install -m 644 files/90-qemu.rules "${ROOTFS_DIR}/etc/udev/rules.d/" install -m 644 files/90-qemu.rules "${ROOTFS_DIR}/etc/udev/rules.d/"
on_chroot << EOF
systemctl disable resize2fs_once
EOF
echo "leaving QEMU mode" echo "leaving QEMU mode"
else
on_chroot << EOF
systemctl enable resize2fs_once
EOF
fi fi
on_chroot <<EOF on_chroot <<- EOF
for GRP in input spi i2c gpio; do systemctl enable rpi-resize
groupadd -f -r "\$GRP"
done for GRP in input spi i2c gpio; do
for GRP in adm dialout cdrom audio users sudo video games plugdev input gpio spi i2c netdev render; do groupadd -f -r "\$GRP"
adduser $FIRST_USER_NAME \$GRP done
done for GRP in adm dialout cdrom audio users sudo video games plugdev input gpio spi i2c netdev render; do
adduser $FIRST_USER_NAME \$GRP
done
EOF EOF
if [ -f "${ROOTFS_DIR}/etc/sudoers.d/010_pi-nopasswd" ]; then if [ -f "${ROOTFS_DIR}/etc/sudoers.d/010_pi-nopasswd" ]; then
@@ -70,13 +51,12 @@ EOF
rm -f "${ROOTFS_DIR}/etc/ssh/"ssh_host_*_key* rm -f "${ROOTFS_DIR}/etc/ssh/"ssh_host_*_key*
sed -i 's/^FONTFACE=.*/FONTFACE=""/;s/^FONTSIZE=.*/FONTSIZE=""/' "${ROOTFS_DIR}/etc/default/console-setup"
sed -i "s/PLACEHOLDER//" "${ROOTFS_DIR}/etc/default/keyboard" sed -i "s/PLACEHOLDER//" "${ROOTFS_DIR}/etc/default/keyboard"
on_chroot << EOF on_chroot << EOF
DEBIAN_FRONTEND=noninteractive dpkg-reconfigure keyboard-configuration DEBIAN_FRONTEND=noninteractive dpkg-reconfigure keyboard-configuration console-setup
EOF EOF
sed -i 's/^#\?Storage=.*/Storage=volatile/' "${ROOTFS_DIR}/etc/systemd/journald.conf"
if [ -e "${ROOTFS_DIR}/etc/avahi/avahi-daemon.conf" ]; then if [ -e "${ROOTFS_DIR}/etc/avahi/avahi-daemon.conf" ]; then
sed -i 's/^#\?publish-workstation=.*/publish-workstation=yes/' "${ROOTFS_DIR}/etc/avahi/avahi-daemon.conf" sed -i 's/^#\?publish-workstation=.*/publish-workstation=yes/' "${ROOTFS_DIR}/etc/avahi/avahi-daemon.conf"
fi fi
-5
View File
@@ -1,5 +0,0 @@
# never use pdiffs. Current implementation is very slow on low-powered devices
Acquire::PDiffs "0";
# download up to 5 pdiffs:
#Acquire::PDiffs::FileLimit "5";
-16
View File
@@ -1,16 +0,0 @@
# 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'
-25
View File
@@ -1,25 +0,0 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: resize2fs_once
# Required-Start:
# Required-Stop:
# Default-Start: 3
# Default-Stop:
# Short-Description: Resize the root filesystem to fill partition
# Description:
### END INIT INFO
. /lib/lsb/init-functions
case "$1" in
start)
log_daemon_msg "Starting resize2fs_once"
ROOT_DEV=$(findmnt / -o source -n) &&
resize2fs $ROOT_DEV &&
update-rc.d resize2fs_once remove &&
rm /etc/init.d/resize2fs_once &&
log_end_msg $?
;;
*)
echo "Usage: $0 start" >&2
exit 3
;;
esac
+1
View File
@@ -0,0 +1 @@
cloud-init
@@ -0,0 +1 @@
rpi-cloud-init-mods
+12
View File
@@ -0,0 +1,12 @@
#!/bin/bash -e
if [ "${ENABLE_CLOUD_INIT}" != "1" ]; then
log "Skipping cloud-init stage"
exit 0
fi
# some preseeding without any runtime effect if not modified
# install meta-data file for NoCloud data-source to work
install -v -m 755 files/meta-data "${ROOTFS_DIR}/boot/firmware/meta-data"
install -v -m 755 files/user-data "${ROOTFS_DIR}/boot/firmware/user-data"
install -v -m 755 files/network-config "${ROOTFS_DIR}/boot/firmware/network-config"
+9
View File
@@ -0,0 +1,9 @@
Cloud-Init support for Raspberry Pi OS
Reference for Raspberry Pi custom cloud-init config module: https://cloudinit.readthedocs.io/en/latest/reference/modules.html#raspberry-pi-configuration
- files/network-config is required because otherwise imager would fail to create the correct filesystem entry
- files/user-data same reason and to include some example configurations
- files/meta-data Cloud-init instance configuration
+18
View File
@@ -0,0 +1,18 @@
# This is the meta-data configuration file for cloud-init. Please refer to the
# cloud-init documentation for more information:
#
# https://cloudinit.readthedocs.io/
# Set the datasource mode to "local". This ensures that user-data is acted upon
# prior to bringing up the network (because everything about the datasource is
# assumed to be local). If you wish to use an HTTP datasource instead, you can
# change this to "net" or override it on the kernel cmdline (see README).
dsmode: local
# Specifies the "unique" identifier of the instance. Typically in cloud-init
# this is generated by the owning cloud and is actually unique (to some
# degree). Here our data-source is local, so this is just a fixed string.
# Warning: changing this will cause cloud-init to assume it is running on a
# "new" instance, and to go through first time setup again (the value is
# compared to a cached copy).
instance_id: rpios-image
+50
View File
@@ -0,0 +1,50 @@
# This file contains a netplan-compatible configuration which cloud-init will
# apply on first-boot (note: it will *not* update the config after the first
# boot). Please refer to the cloud-init documentation and the netplan reference
# for full details:
#
# https://netplan.io/reference
# https://cloudinit.readthedocs.io/en/latest/topics/network-config.html
# https://cloudinit.readthedocs.io/en/latest/topics/network-config-format-v2.html
#
# Please note that the YAML format employed by this file is sensitive to
# differences in whitespace; if you are editing this file in an editor (like
# Notepad) which uses literal tabs, take care to only use spaces for
# indentation. See the following link for more details:
#
# https://en.wikipedia.org/wiki/YAML
#
# Additionally, please be aware that if your boot sequence depends on active
# networking (e.g. if your cloud-init configuration pulls packages or SSH
# keys from the network), you *must* mark at least one interface as required
# ("optional: false") below. Otherwise, particularly on faster boards,
# cloud-init will start attempting to use the network before it is ready
# Some additional examples are commented out below
#network:
# version: 2
#
# ethernets:
# eth0:
# dhcp4: true
# optional: true
# wifis:
# wlan0:
# dhcp4: true
# optional: true
# access-points:
# myhomewifi:
# password: "S3kr1t"
# myworkwifi:
# password: "correct battery horse staple"
# workssid:
# auth:
# key-management: eap
# method: peap
# identity: "me@example.com"
# password: "passw0rd"
# ca-certificate: /etc/my_ca.pem
# regulatory-domain: GB
+102
View File
@@ -0,0 +1,102 @@
#cloud-config
# This is the user-data configuration file for cloud-init. By default this sets
# up an initial user called "ubuntu" with password "ubuntu", which must be
# changed at first login. However, many additional actions can be initiated on
# first boot from this file. The cloud-init documentation has more details:
#
# https://cloudinit.readthedocs.io/
#
# Please note that the YAML format employed by this file is sensitive to
# differences in whitespace; if you are editing this file in an editor (like
# Notepad) which uses literal tabs, take care to only use spaces for
# indentation. See the following link for more details:
#
# https://en.wikipedia.org/wiki/YAML
#
# Some additional examples are provided in comments below the default
# configuration.
## Set the system's hostname. Please note that, unless you have a local DNS
## setup where the hostname is derived from DHCP requests (as with dnsmasq),
## setting the hostname here will not make the machine reachable by this name.
## You may also wish to install avahi-daemon (see the "packages:" key below)
## to make your machine reachable by the .local domain
#hostname: raspberrypi
## Set up the keyboard layout. See localectl(1), in particular the various
## list-x11-* sub-commands, to determine the available models, layouts,
## variants, and options
#keyboard:
# model: pc105
# layout: gb
# variant:
# options: ctrl:nocaps
# Controls password authentication with the SSH daemon; the default here can
# prevent logging into SSH with a password. Changing this is a security risk
# and you should at the very least ensure a different default password is
# specified above
#ssh_pwauth: false
## On first boot, use ssh-import-id to give the specific users SSH access to
## the default user
#ssh_import_id:
#- lp:my_launchpad_username
#- gh:my_github_username
## Add users and groups to the system, and import keys with the ssh-import-id
## utility
#groups:
#- robot: [robot]
#- robotics: [robot]
#- pi
#
#users:
#- default
#- name: robot
# gecos: Mr. Robot
# primary_group: robot
# groups: users
# ssh_import_id: foobar
# lock_passwd: false
# passwd: $5$hkui88$nvZgIle31cNpryjRfO9uArF7DYiBcWEnjqq7L1AQNN3
## Update apt database and upgrade packages on first boot
#package_update: true
#package_upgrade: true
## Install additional packages on first boot
#packages:
#- avahi-daemon
#- rng-tools
#- python3-gpiozero
#- [python3-serial, 3.5-1]
## Write arbitrary files to the file-system (including binaries!)
#write_files:
#- path: /etc/default/console-setup
# content: |
# # Consult the console-setup(5) manual page.
# ACTIVE_CONSOLES="/dev/tty[1-6]"
# CHARMAP="UTF-8"
# VIDEOMODE=
# FONT="Lat15-Terminus18x10.psf.gz"
# FONTFACE=
# FONTSIZE=
# CODESET="Lat15"
# permissions: '0644'
# owner: root:root
#- encoding: gzip
# path: /root/Makefile
# content: !!binary |
# H4sICF2DTWIAA01ha2VmaWxlAFNWCM8syVBILMjPyU/PTC1WKMlXiPB2dlFQNjSx5MpNteLi
# dLDiSoRQxYl5KeWZyRkgXrSCkoqKRmaKgm6pppKCbmqhgoFCrIKamkK1QmpyRr6Ckn92YqWS
# NdC80uQMBZhOa4VahZoaqIrwjMQSewXfxOxUhcwShcr80qLi1Jw0RSUuAIYfEJmVAAAA
# owner: root:root
# permissions: '0644'
## Run arbitrary commands at rc.local like time
#runcmd:
#- [ ls, -l, / ]
#- [ sh, -xc, "echo $(date) ': hello world!'" ]
@@ -1,2 +1,5 @@
firefox rpi-firefox-mods libwidevinecdm0 firefox rpi-firefox-mods libwidevinecdm0
gldriver-test gldriver-test
rpd-wayland-core rpd-x-core
rpd-theme
rpd-utilities rpd-preferences
@@ -0,0 +1,2 @@
rpd-wayland-core
rpd-x-core
-2
View File
@@ -1,2 +0,0 @@
# Enable realtime process priority?
jackd2 jackd/tweak_rt_limits boolean true
+1 -5
View File
@@ -1,12 +1,8 @@
python3-tk
python3-pgzero
python3-serial
python3-pip python3-pip
python3-numpy python3-numpy
tree tree
libgl1-mesa-dri libgles1 libgles2-mesa xcompmgr libgl1-mesa-dri libgles1 xcompmgr
pprompt pprompt
ffmpeg ffmpeg
vlc vlc
rpi-imager
plymouth plymouth
-4
View File
@@ -1,4 +0,0 @@
hunspell-en-us
hyphen-en-us
wamerican
wbritish
+1 -2
View File
@@ -1,8 +1,7 @@
#!/bin/bash -e #!/bin/bash -e
# Enable xcompmgr
on_chroot << EOF on_chroot << EOF
raspi-config nonint do_xcompmgr 0 SUDO_USER="${FIRST_USER_NAME}" raspi-config nonint do_wayland W2
EOF EOF
# Pi-Apps (this is a bash script that installs pi-apps when the user runs it, then gets overwritten by the actual pi-apps) # Pi-Apps (this is a bash script that installs pi-apps when the user runs it, then gets overwritten by the actual pi-apps)