Following defconfig works (real hardware and qemu): BR2_x86_64=y BR2_KERNEL_HEADERS_5_10=y BR2_TOOLCHAIN_BUILDROOT_WCHAR=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_TARGET_GENERIC_GETTY_PORT="tty1" BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pc/genimage-bios.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.20" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_GRUB2=y BR2_PACKAGE_HOST_GENIMAGE=y Started with: $ qemu-system-x86_64 -m 4096 --drive format=raw,file=images/disk.img Shows BIOS, Grub and Startup until buildroot login... Changing from BR2_OPTIMIZE_S to BR2_OPTIMIZE_3: BR2_x86_64=y BR2_OPTIMIZE_3=y BR2_KERNEL_HEADERS_5_10=y BR2_TOOLCHAIN_BUILDROOT_WCHAR=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_TARGET_GENERIC_GETTY_PORT="tty1" BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pc/genimage-bios.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.20" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_GRUB2=y BR2_PACKAGE_HOST_GENIMAGE=y Resulting image fails to start on real hardware, started with $ emu-system-x86_64 -m 4096 --drive format=raw,file=images/disk.img shows BIOS message 'Booting from Hard Disk...', 'GRUB loading...' and loops endless re-booting...
There is some follow up discussion on the mailing list, see [1], resulting in suggested patch to force '-Os' for grub compile, see [2]... [1] http://lists.busybox.net/pipermail/buildroot/2021-May/311524.html [2] http://lists.busybox.net/pipermail/buildroot/2021-May/311630.html
This has now been worked around in git: https://git.buildroot.org/buildroot/commit/?id=7cb51d4843caaa9144270d92f86e60d8b5a2a1ec