diff --git a/utils/genrandconfig b/utils/genrandconfig index 727c8193c4..8437d6342d 100755 --- a/utils/genrandconfig +++ b/utils/genrandconfig @@ -124,6 +124,13 @@ async def fixup_config(sysinfo, configfile): if 'BR2_PACKAGE_LIBOPENSSL=y\n' in configlines and \ 'BR2_TOOLCHAIN_HAS_ATOMIC=y\n' not in configlines: return False + # Qemu in user mode cannot load target binaries laid out for 4k + # pages on a host with larger pages (e.g. 16k on Apple Silicon), + # so packages running target code at build time (gobject- + # introspection, nodejs) fail there. + if 'BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE=y\n' in configlines and \ + os.sysconf('SC_PAGE_SIZE') > 4096: + return False if 'BR2_PACKAGE_SUNXI_BOARDS=y\n' in configlines: configlines.remove('BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE=""\n') configlines.append('BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a10/hackberry.fex"\n')