Merge branch 'master' into arm64

This commit is contained in:
Serge Schneider 2024-10-30 11:33:22 +00:00
commit ccc23c6738
2 changed files with 17 additions and 8 deletions

View File

@ -6,6 +6,9 @@ which was in turn derived from the Raspbian project.
**Note**: Raspberry Pi OS 32 bit images are based primarily on Raspbian, while **Note**: Raspberry Pi OS 32 bit images are based primarily on Raspbian, while
Raspberry Pi OS 64 bit images are based primarily on Debian. Raspberry Pi OS 64 bit images are based primarily on Debian.
**Note**: 32 bit images should be built from the `master` branch.
64 bit images should be built from the `arm64` branch.
## Dependencies ## Dependencies
pi-gen runs on Debian-based operating systems released after 2017, and we pi-gen runs on Debian-based operating systems released after 2017, and we
@ -152,7 +155,7 @@ The following environment variables are supported:
* `TIMEZONE_DEFAULT` (Default: 'Europe/London' ) * `TIMEZONE_DEFAULT` (Default: 'Europe/London' )
Default keyboard layout. Default time zone.
To get the current value from a running system, look in To get the current value from a running system, look in
`/etc/timezone`. `/etc/timezone`.

View File

@ -255,18 +255,24 @@ trap term EXIT INT TERM
dependencies_check "${BASE_DIR}/depends" dependencies_check "${BASE_DIR}/depends"
PAGESIZE=$(getconf PAGESIZE)
if [ "$ARCH" == "armhf" ] && [ "$PAGESIZE" != "4096" ]; then
echo
echo "ERROR: Building an $ARCH image requires a kernel with a 4k page size (current: $PAGESIZE)"
echo "On Raspberry Pi OS (64-bit), you can switch to a suitable kernel by adding the following to /boot/firmware/config.txt and rebooting:"
echo
echo "kernel=kernel8.img"
echo "initramfs initramfs8 followkernel"
echo
exit 1
fi
echo "Checking native $ARCH executable support..." echo "Checking native $ARCH executable support..."
if ! arch-test -n "$ARCH"; then if ! arch-test -n "$ARCH"; then
echo "WARNING: Only a native build environment is supported. Checking emulated support..." echo "WARNING: Only a native build environment is supported. Checking emulated support..."
if ! arch-test "$ARCH"; then if ! arch-test "$ARCH"; then
echo "No fallback mechanism found. Ensure your OS has binfmt_misc support enabled and configured." echo "No fallback mechanism found. Ensure your OS has binfmt_misc support enabled and configured."
PAGESIZE=$(getconf PAGESIZE)
if [ "$ARCH" == "armhf" ] && [ "$PAGESIZE" != "4096" ]; then
echo
echo "Building an $ARCH image requires a kernel with a 4k page size"
echo "Current pagesize: $PAGESIZE"
echo "On Raspberry Pi OS, you can switch to a suitable kernel by adding kernel=kernel8.img to /boot/firmware/config.txt and rebooting"
fi
exit 1 exit 1
fi fi
fi fi