# Architecture
BR2_riscv=y
BR2_RISCV_32=y

# System
BR2_SYSTEM_DHCP="eth0"
BR2_TARGET_GENERIC_GETTY=y
BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
BR2_GLOBAL_PATCH_DIR="board/qemu/riscv32-virt/patches/"

# Filesystem
BR2_TARGET_ROOTFS_EXT2=y

# Linux headers same as kernel, a 5.1 series
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_1=y

# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.12"
BR2_LINUX_KERNEL_DEFCONFIG="rv32"
BR2_LINUX_KERNEL_IMAGE=y

# Bootloader
BR2_TARGET_OPENSBI=y
BR2_TARGET_OPENSBI_USE_PLAT=y
BR2_TARGET_OPENSBI_PLAT="qemu/virt"

# host-qemu for gitlab testing
BR2_PACKAGE_HOST_QEMU=y
BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y
