summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Bennée2021-02-02 14:39:59 +0100
committerAlex Bennée2021-02-08 11:55:20 +0100
commita5dbb175077c93c8d2e1021757f8b9a593fc2b5e (patch)
tree4c89e36e68e202e3cf158b2d70acf7677851d62a
parenttests/Makefile.include: don't use TARGET_DIRS for check-tcg (diff)
downloadqemu-a5dbb175077c93c8d2e1021757f8b9a593fc2b5e.tar.gz
qemu-a5dbb175077c93c8d2e1021757f8b9a593fc2b5e.tar.xz
qemu-a5dbb175077c93c8d2e1021757f8b9a593fc2b5e.zip
docs/system: document an example vexpress-a15 invocation
The wiki and the web are curiously absent of the right runes to boot a vexpress model so I had to work from first principles to work it out. Use the more modern -drive notation so alternative backends can be used (unlike the hardwired -sd mode). Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Cc: Anders Roxell <anders.roxell@linaro.org> Message-Id: <20210202134001.25738-15-alex.bennee@linaro.org>
-rw-r--r--docs/system/arm/vexpress.rst28
1 files changed, 28 insertions, 0 deletions
diff --git a/docs/system/arm/vexpress.rst b/docs/system/arm/vexpress.rst
index 7f1bcbef07..3e3839e923 100644
--- a/docs/system/arm/vexpress.rst
+++ b/docs/system/arm/vexpress.rst
@@ -58,3 +58,31 @@ Other differences between the hardware and the QEMU model:
``vexpress-a15``, and have IRQs from 40 upwards. If a dtb is
provided on the command line then QEMU will edit it to include
suitable entries describing these transports for the guest.
+
+Booting a Linux kernel
+----------------------
+
+Building a current Linux kernel with ``multi_v7_defconfig`` should be
+enough to get something running. Nowadays an out-of-tree build is
+recommended (and also useful if you build a lot of different targets).
+In the following example $BLD points to the build directory and $SRC
+points to the root of the Linux source tree. You can drop $SRC if you
+are running from there.
+
+.. code-block:: bash
+
+ $ make O=$BLD -C $SRC ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- multi_v7_defconfig
+ $ make O=$BLD -C $SRC ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
+
+By default you will want to boot your rootfs off the sdcard interface.
+Your rootfs will need to be padded to the right size. With a suitable
+DTB you could also add devices to the virtio-mmio bus.
+
+.. code-block:: bash
+
+ $ qemu-system-arm -cpu cortex-a15 -smp 4 -m 4096 \
+ -machine type=vexpress-a15 -serial mon:stdio \
+ -drive if=sd,driver=file,filename=armel-rootfs.ext4 \
+ -kernel zImage \
+ -dtb vexpress-v2p-ca15-tc1.dtb \
+ -append "console=ttyAMA0 root=/dev/mmcblk0 ro"