Merge branch 'master' into arm64

This commit is contained in:
Serge Schneider 2025-05-06 14:20:09 +01:00
commit 49e1078c1b
10 changed files with 59 additions and 10 deletions

View File

@ -22,7 +22,7 @@ To install the required dependencies for `pi-gen` you should run:
```bash ```bash
apt-get install coreutils quilt parted qemu-user-static debootstrap zerofree zip \ apt-get install coreutils quilt parted qemu-user-static debootstrap zerofree zip \
dosfstools libarchive-tools libcap2-bin grep rsync xz-utils file git curl bc \ dosfstools libarchive-tools libcap2-bin grep rsync xz-utils file git curl bc \
gpg pigz xxd arch-test gpg pigz xxd arch-test bmap-tools
``` ```
The file `depends` contains a list of tools needed. The format of this The file `depends` contains a list of tools needed. The format of this
@ -80,6 +80,13 @@ The following environment variables are supported:
will not be included in the image, making it safe to use an `apt-cacher` or will not be included in the image, making it safe to use an `apt-cacher` or
similar package for development. similar package for development.
* `TEMP_REPO` (Default: unset)
An additional temporary apt repo to be used during the build process. This
could be useful if you require pre-release software to be included in the
image. The variable should contain sources in [one-line-style format](https://manpages.debian.org/stable/apt/sources.list.5.en.html#ONE-LINE-STYLE_FORMAT).
"RELEASE" will be replaced with the RELEASE variable.
* `BASE_DIR` (Default: location of `build.sh`) * `BASE_DIR` (Default: location of `build.sh`)
**CAUTION**: Currently, changing this value will probably break build.sh **CAUTION**: Currently, changing this value will probably break build.sh

View File

@ -222,6 +222,7 @@ export PUBKEY_SSH_FIRST_USER
export CLEAN export CLEAN
export APT_PROXY export APT_PROXY
export TEMP_REPO
export STAGE export STAGE
export STAGE_DIR export STAGE_DIR

View File

@ -1,9 +1,5 @@
#!/bin/bash -e #!/bin/bash -e
if [ ! -x "${ROOTFS_DIR}/usr/bin/qemu-arm-static" ]; then
cp /usr/bin/qemu-arm-static "${ROOTFS_DIR}/usr/bin/"
fi
if [ -e "${ROOTFS_DIR}/etc/ld.so.preload" ]; then if [ -e "${ROOTFS_DIR}/etc/ld.so.preload" ]; then
mv "${ROOTFS_DIR}/etc/ld.so.preload" "${ROOTFS_DIR}/etc/ld.so.preload.disabled" mv "${ROOTFS_DIR}/etc/ld.so.preload" "${ROOTFS_DIR}/etc/ld.so.preload.disabled"
fi fi

View File

@ -1,6 +1,7 @@
#!/bin/bash -e #!/bin/bash -e
rm -f "${ROOTFS_DIR}/etc/apt/apt.conf.d/51cache" rm -f "${ROOTFS_DIR}/etc/apt/apt.conf.d/51cache"
rm -f "${ROOTFS_DIR}/etc/apt/sources.list.d/00-temp.list"
find "${ROOTFS_DIR}/var/lib/apt/lists/" -type f -delete find "${ROOTFS_DIR}/var/lib/apt/lists/" -type f -delete
on_chroot << EOF on_chroot << EOF
apt-get update apt-get update

View File

@ -3,6 +3,7 @@
IMG_FILE="${STAGE_WORK_DIR}/${IMG_FILENAME}${IMG_SUFFIX}.img" IMG_FILE="${STAGE_WORK_DIR}/${IMG_FILENAME}${IMG_SUFFIX}.img"
INFO_FILE="${STAGE_WORK_DIR}/${IMG_FILENAME}${IMG_SUFFIX}.info" 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"
on_chroot << EOF on_chroot << EOF
update-initramfs -k all -c update-initramfs -k all -c
@ -100,6 +101,12 @@ zerofree "${ROOT_DEV}"
unmount_image "${IMG_FILE}" unmount_image "${IMG_FILE}"
if hash bmaptool 2>/dev/null; then
bmaptool create \
-o "${BMAP_FILE}" \
"${IMG_FILE}"
fi
mkdir -p "${DEPLOY_DIR}" mkdir -p "${DEPLOY_DIR}"
rm -f "${DEPLOY_DIR}/${ARCHIVE_FILENAME}${IMG_SUFFIX}.*" rm -f "${DEPLOY_DIR}/${ARCHIVE_FILENAME}${IMG_SUFFIX}.*"
@ -126,6 +133,7 @@ none | *)
esac esac
if [ -f "${SBOM_FILE}" ]; then if [ -f "${SBOM_FILE}" ]; then
xz -c "${SBOM_FILE}" > "$DEPLOY_DIR/image_$(basename "${SBOM_FILE}").xz" xz -c "${SBOM_FILE}" > "$DEPLOY_DIR/$(basename "${SBOM_FILE}").xz"
fi fi
cp "$BMAP_FILE" "$DEPLOY_DIR/"
cp "$INFO_FILE" "$DEPLOY_DIR/" cp "$INFO_FILE" "$DEPLOY_DIR/"

View File

@ -13,7 +13,7 @@ BOOT_SIZE="$((512 * 1024 * 1024))"
ROOT_SIZE=$(du -x --apparent-size -s "${EXPORT_ROOTFS_DIR}" --exclude var/cache/apt/archives --exclude boot/firmware --block-size=1 | cut -f 1) ROOT_SIZE=$(du -x --apparent-size -s "${EXPORT_ROOTFS_DIR}" --exclude var/cache/apt/archives --exclude boot/firmware --block-size=1 | cut -f 1)
# All partition sizes and starts will be aligned to this size # All partition sizes and starts will be aligned to this size
ALIGN="$((4 * 1024 * 1024))" ALIGN="$((8 * 1024 * 1024))"
# Add this much space to the calculated file size. This allows for # Add this much space to the calculated file size. This allows for
# some overhead (since actual space usage is usually rounded up to the # some overhead (since actual space usage is usually rounded up to the
# filesystem block size) and gives some free space on the resulting # filesystem block size) and gives some free space on the resulting

View File

@ -1,5 +1,35 @@
UNRELEASED: UNRELEASED:
* * New mouse and keyboard settings application, rasputin, to replace lxinput
* New printer application, rpinters, to replace system-config-printer
* Added swaylock screen lock application for labwc - use ctrl-alt-L to lock, or access via new option in Shutdown Options
* Added separate settings for console and desktop autologin to raspi-config and Raspberry Pi Configuration
* New command-line password prompt application, sudopwd, to replace zenity password prompts
* New command-line dialog tool, zenoty, to replace zenity error, information, warning and question dialogs
* labwc updated to version 0.8.1
* wf-panel-pi startup optimised - now starts much faster
* Network manager plugin updated from latest upstream code
* Busy indication (watch cursor) added to first boot wizard
* uBlock Origin Lite now installed by default in Chromium, as it is no longer possible to preinstall uBlock Origin
* Added compatibility with recent kernel to GPU plugin and task manager
* Added more default touchscreen associations
* Added ability to select mouse emulation or multitouch mode for touchscreens in Screen Configuration
* Added ability to set monitor on which squeekboard on-screen keyboard is shown in Raspberry Pi Configuration
* Plugins for lxpanel and wf-panel-pi restructured to build from shared projects for each, to reduce any divergence between them
* Apperance Settings and Raspberry Pi Configuration reviewed - various minor inconsistencies between X and Wayland addressed
* HackSpace removed from Bookshelf application
* Bug fix - correctly position panel menus on secondary monitor under X
* Bug fix - prevent desktop pictures overflowing bounds of monitors
* Bug fix - squeekboard not starting unless a specific monitor had been set for it
* Bug fix - some application icons, including Chromium web apps, were incorrect on the taskbar
* Bug fix - greeter keyboard layout was being reset on updates
* Bug fix - main menu submenus were not scrollable if they didn't fit the screen
* Bug fix - Connect plugin now more accurately detects when Connect is installed and uninstalled
* Bug fix - modified wfpanelctl to work correctly when called via PackageKit
* Various other minor tweaks and updates
* Chromium updated to 135.0.7049.84
* Firefox updated to 138.0
* Raspberry Pi firmware bc7f439c234e19371115e07b57c366df59cc1bc7
* Linux kernel 6.12.25 - 3dd2c2c507c271d411fab2e82a2b3b7e0b6d3f16
2024-10-22: 2024-10-22:
* labwc compositor now used as the default on all models of Raspberry Pi * labwc compositor now used as the default on all models of Raspberry Pi
* wf-panel-pi now loads plugins dynamically at runtime * wf-panel-pi now loads plugins dynamically at runtime

View File

@ -12,6 +12,13 @@ else
rm -f "${ROOTFS_DIR}/etc/apt/apt.conf.d/51cache" rm -f "${ROOTFS_DIR}/etc/apt/apt.conf.d/51cache"
fi fi
if [ -n "$TEMP_REPO" ]; then
install -m 644 /dev/null "${ROOTFS_DIR}/etc/apt/sources.list.d/00-temp.list"
echo "$TEMP_REPO" | sed "s/RELEASE/$RELEASE/g" > "${ROOTFS_DIR}/etc/apt/sources.list.d/00-temp.list"
else
rm -f "${ROOTFS_DIR}/etc/apt/sources.list.d/00-temp.list"
fi
cat files/raspberrypi.gpg.key | gpg --dearmor > "${STAGE_WORK_DIR}/raspberrypi-archive-stable.gpg" cat files/raspberrypi.gpg.key | gpg --dearmor > "${STAGE_WORK_DIR}/raspberrypi-archive-stable.gpg"
install -m 644 "${STAGE_WORK_DIR}/raspberrypi-archive-stable.gpg" "${ROOTFS_DIR}/etc/apt/trusted.gpg.d/" install -m 644 "${STAGE_WORK_DIR}/raspberrypi-archive-stable.gpg" "${ROOTFS_DIR}/etc/apt/trusted.gpg.d/"
on_chroot <<- \EOF on_chroot <<- \EOF

View File

@ -1,4 +1,4 @@
wpasupplicant wireless-tools firmware-atheros firmware-brcm80211 firmware-libertas firmware-misc-nonfree firmware-realtek wpasupplicant wireless-tools firmware-atheros firmware-brcm80211 firmware-libertas firmware-realtek firmware-mediatek firmware-marvell-prestera-
raspberrypi-net-mods raspberrypi-net-mods
network-manager network-manager
net-tools net-tools

View File

@ -1,2 +1 @@
cups cups
system-config-printer