configs/qemu_riscv64_nommu_virt_defconfig: new defconfig

Add RISC-V 64-bit nommu defconfig for QEMU virt machine with MMU
disabled.

Unlike qemu_riscv64_virt, qemu_riscv64_nommu_virt does not use OpenSBI,
since the kernel is running in machine mode (M-mode).

After the build is complete, you can start QEMU using the launcher
script:
$ output/images/start-qemu.sh

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Niklas Cassel 2022-05-30 12:38:29 +09:00 committed by Thomas Petazzoni
parent cecb262571
commit 1b298db82f
3 changed files with 42 additions and 0 deletions

View File

@ -2153,6 +2153,9 @@ N: Nicolas Serafini <nicolas.serafini@ik.me>
F: package/exiv2/
F: package/ofono/
N: Niklas Cassel <niklas.cassel@wdc.com>
F: configs/qemu_riscv64_nommu_virt_defconfig
N: Nikolay Dimitrov <nikolay.dimitrov@retrohub.org>
F: board/embest/riotboard/
F: configs/riotboard_defconfig

View File

@ -2,4 +2,6 @@ Run Linux in emulation with:
qemu-system-riscv64 -M virt -bios output/images/fw_jump.elf -kernel output/images/Image -append "rootwait root=/dev/vda ro" -drive file=output/images/rootfs.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -netdev user,id=net0 -device virtio-net-device,netdev=net0 -nographic # qemu_riscv64_virt_defconfig
qemu-system-riscv64 -M virt -bios none -kernel output/images/Image -append "rootwait root=/dev/vda ro" -drive file=output/images/rootfs.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -nographic -cpu rv64,mmu=off # qemu_riscv64_nommu_virt_defconfig
The login prompt will appear in the terminal that started Qemu.

View File

@ -0,0 +1,37 @@
# Architecture
BR2_riscv=y
BR2_RISCV_64=y
# Patches
BR2_GLOBAL_PATCH_DIR="board/riscv/nommu/patches"
# Toolchain
BR2_PACKAGE_HOST_ELF2FLT=y
# BR2_USE_MMU is not set
# Busybox with hush
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
# System
BR2_TARGET_GENERIC_GETTY=y
# Filesystem
BR2_TARGET_ROOTFS_EXT2=y
# Image
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)"
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.18"
BR2_LINUX_KERNEL_DEFCONFIG="nommu_virt"
BR2_LINUX_KERNEL_IMAGE=y
# Disable network scripts
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
# host-qemu for gitlab testing
BR2_PACKAGE_HOST_QEMU=y
BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y