]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
doc: qemu-riscv: describe running as flash image
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Tue, 29 Jul 2025 07:47:26 +0000 (09:47 +0200)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Fri, 8 Aug 2025 06:45:05 +0000 (08:45 +0200)
Describe how to build U-Boot to be run by QEMU as an emulated flash image.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
doc/board/emulation/qemu-riscv.rst

index cf2f893b723eedbd06de75bf4f428f1402a58f63..b5948d9affc1d08b6e53e230f9c45136f8db598a 100644 (file)
@@ -179,6 +179,32 @@ Provide the U-Boot S-mode ELF image as *-kernel* parameter and do not add a
 
     qemu-system-riscv64 -accel kvm -nographic -machine virt -kernel u-boot
 
+Running as flash binary
+-----------------------
+
+U-Boot can be provided to QEMU as an emulated flash drive.
+This can for instance be used to test capsule updates.
+
+Build qemu-riscv64_smode_defconfig with::
+
+    CONFIG_XIP=y
+    CONFIG_TEXT_BASE=0x20000000
+    CONFIG_CMD_MTD=y
+    CONFIG_FLASH_CFI_MTD=y
+
+Pad u-boot.bin to 32 MiB size:
+
+.. code-block:: bash
+
+    truncate -s 32M u-boot.bin
+
+Invoke QEMU with:
+
+.. code-block:: bash
+
+    qemu-system-riscv64 -M virt -nographic \
+    -drive if=pflash,format=raw,unit=0,file=u-boot.bin,readonly=off
+
 Debug UART
 ----------