Browse Source

Improve PAGESIZE check and recommendation

Setting kernel=kernel8.img while auto_initramfs=1 currently still loads initamfs_2712.
This can cause issues on systems which require drivers compiled as modules to boot.
Until this is fixed in the bootloader, users should specify initramfs options as well.

Also, move the PAGESIZE check before the arch-test checks to make the output clearer.
pull/803/head
Serge Schneider 2 months ago
parent
commit
1baee51b8c
  1. 20
      build.sh

20
build.sh

@ -255,18 +255,24 @@ trap term EXIT INT TERM
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..."
if ! arch-test -n "$ARCH"; then
echo "WARNING: Only a native build environment is supported. Checking emulated support..."
if ! arch-test "$ARCH"; then
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
fi
fi

Loading…
Cancel
Save