qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-arm <qemu-arm@nongnu.org>,
	Anders Roxell <anders.roxell@linaro.org>,
	QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [PATCH] docs/system: document an example vexpress-a15 invocation
Date: Mon, 01 Feb 2021 20:08:59 +0000	[thread overview]
Message-ID: <871rdzv9cf.fsf@linaro.org> (raw)
In-Reply-To: <CAFEAcA_R3phXwOtj-v-6-oCN891SjGSyAGwcx3_zDf+GFPWLqg@mail.gmail.com>


Peter Maydell <peter.maydell@linaro.org> writes:

> On Thu, 28 Jan 2021 at 18:53, Alex Bennée <alex.bennee@linaro.org> wrote:
>>
>> 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>
>> ---
>>  docs/system/arm/vexpress.rst | 26 ++++++++++++++++++++++++++
>>  1 file changed, 26 insertions(+)
>>
>> diff --git a/docs/system/arm/vexpress.rst b/docs/system/arm/vexpress.rst
>> index 7f1bcbef07..30b1823b95 100644
>> --- a/docs/system/arm/vexpress.rst
>> +++ b/docs/system/arm/vexpress.rst
>> @@ -58,3 +58,29 @@ 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.
>> +
>> +.. code-block:: bash
>> +
>> +  $ export ARCH=arm
>> +  $ export CROSS_COMPILE=arm-linux-gnueabihf-
>> +  $ make multi_v7_defconfig
>> +  $ make
>
> We probably shouldn't be recommending in-tree kernel builds, or
> polluting the user's environment with random variables. Try:
>
> $ make O=builddir ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- multi_v7_defconfig
> $ make O=builddir ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
>
>> +By default you will want to boot your rootfs of the sdcard interface.
>
> "off"
>
>> +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"
>
> thanks
> -- PMM


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).
$SRC points at root of the linux source tree.

.. code-block:: bash

  $ mkdir build; cd build
  $ make O=$(pwd) -C $SRC ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- multi_v7_defconfig
  $ make O=$(pwd) -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"

-- 
Alex Bennée


  reply	other threads:[~2021-02-01 20:10 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-28 18:53 [PATCH] docs/system: document an example vexpress-a15 invocation Alex Bennée
2021-02-01 17:04 ` Peter Maydell
2021-02-01 20:08   ` Alex Bennée [this message]
2021-02-01 21:22     ` Peter Maydell
2021-02-01 23:50       ` Alex Bennée
2021-02-02 11:38       ` Alex Bennée
2021-02-03 16:28 ` Philippe Mathieu-Daudé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871rdzv9cf.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=anders.roxell@linaro.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).