mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-18 23:52:14 -06:00
docs: aspeed: Reorganize the "Boot options" section
Add subsubsections for possible boot methods and introduce a new section on eMMC boot support for the ast2600-evb and rainier-emmc machines, boot partitions assumptions and limitations. Acked-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Jan Luebbe <jlu@pengutronix.de> Reviewed-by: Andrew Jeffery <andrew@codeconstruct.com.au> Signed-off-by: Cédric Le Goater <clg@redhat.com>
This commit is contained in:
parent
e6459afb1f
commit
9b0a36494a
1 changed files with 86 additions and 13 deletions
|
@ -105,6 +105,9 @@ or directly from the ASPEED Forked OpenBMC GitHub release repository :
|
||||||
|
|
||||||
https://github.com/AspeedTech-BMC/openbmc/releases
|
https://github.com/AspeedTech-BMC/openbmc/releases
|
||||||
|
|
||||||
|
Booting from a kernel image
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
To boot a kernel directly from a Linux build tree:
|
To boot a kernel directly from a Linux build tree:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
@ -114,16 +117,10 @@ To boot a kernel directly from a Linux build tree:
|
||||||
-dtb arch/arm/boot/dts/aspeed-ast2600-evb.dtb \
|
-dtb arch/arm/boot/dts/aspeed-ast2600-evb.dtb \
|
||||||
-initrd rootfs.cpio
|
-initrd rootfs.cpio
|
||||||
|
|
||||||
To boot the machine from the flash image, use an MTD drive :
|
Booting from a flash image
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
.. code-block:: bash
|
The machine options specific to Aspeed to boot from a flash image are :
|
||||||
|
|
||||||
$ qemu-system-arm -M romulus-bmc -nic user \
|
|
||||||
-drive file=obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd -nographic
|
|
||||||
|
|
||||||
Options specific to Aspeed machines are :
|
|
||||||
|
|
||||||
* ``boot-emmc`` to set or unset boot from eMMC (AST2600).
|
|
||||||
|
|
||||||
* ``execute-in-place`` which emulates the boot from the CE0 flash
|
* ``execute-in-place`` which emulates the boot from the CE0 flash
|
||||||
device by using the FMC controller to load the instructions, and
|
device by using the FMC controller to load the instructions, and
|
||||||
|
@ -134,10 +131,12 @@ Options specific to Aspeed machines are :
|
||||||
|
|
||||||
* ``spi-model`` to change the default SPI Flash model.
|
* ``spi-model`` to change the default SPI Flash model.
|
||||||
|
|
||||||
* ``bmc-console`` to change the default console device. Most of the
|
To boot the machine from the flash image, use an MTD drive :
|
||||||
machines use the ``UART5`` device for a boot console, which is
|
|
||||||
mapped on ``/dev/ttyS4`` under Linux, but it is not always the
|
.. code-block:: bash
|
||||||
case.
|
|
||||||
|
$ qemu-system-arm -M romulus-bmc -nic user \
|
||||||
|
-drive file=obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd -nographic
|
||||||
|
|
||||||
To use other flash models, for instance a different FMC chip and a
|
To use other flash models, for instance a different FMC chip and a
|
||||||
bigger (64M) SPI for the ``ast2500-evb`` machine, run :
|
bigger (64M) SPI for the ``ast2500-evb`` machine, run :
|
||||||
|
@ -169,6 +168,78 @@ In that case, the machine boots fetching instructions from the FMC0
|
||||||
device. It is slower to start but closer to what HW does. Using the
|
device. It is slower to start but closer to what HW does. Using the
|
||||||
machine option ``execute-in-place`` has a similar effect.
|
machine option ``execute-in-place`` has a similar effect.
|
||||||
|
|
||||||
|
Booting from an eMMC image
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The machine options specific to Aspeed machines to boot from an eMMC
|
||||||
|
image are :
|
||||||
|
|
||||||
|
* ``boot-emmc`` to set or unset boot from eMMC (AST2600).
|
||||||
|
|
||||||
|
Only the ``ast2600-evb`` and ``rainier-emmc`` machines have support to
|
||||||
|
boot from an eMMC device. In this case, the machine assumes that the
|
||||||
|
eMMC image includes special boot partitions. Such an image can be
|
||||||
|
built this way :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ dd if=/dev/zero of=mmc-bootarea.img count=2 bs=1M
|
||||||
|
$ dd if=u-boot-spl.bin of=mmc-bootarea.img conv=notrunc
|
||||||
|
$ dd if=u-boot.bin of=mmc-bootarea.img conv=notrunc count=64 bs=1K
|
||||||
|
$ cat mmc-bootarea.img obmc-phosphor-image.wic > mmc.img
|
||||||
|
$ truncate --size 16GB mmc.img
|
||||||
|
|
||||||
|
Boot the machine ``rainier-emmc`` with :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ qemu-system-arm -M rainier-bmc \
|
||||||
|
-drive file=mmc.img,format=raw,if=sd,index=2 \
|
||||||
|
-nographic
|
||||||
|
|
||||||
|
The ``boot-emmc`` option can be set or unset, to change the default
|
||||||
|
boot mode of machine: SPI or eMMC. This can be useful to boot the
|
||||||
|
``ast2600-evb`` machine from an eMMC device (default being SPI) or to
|
||||||
|
boot the ``rainier-bmc`` machine from a flash device (default being
|
||||||
|
eMMC).
|
||||||
|
|
||||||
|
As an example, here is how to to boot the ``rainier-bmc`` machine from
|
||||||
|
the flash device with ``boot-emmc=false`` and let the machine use an
|
||||||
|
eMMC image :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ qemu-system-arm -M rainier-bmc,boot-emmc=false \
|
||||||
|
-drive file=flash.img,format=raw,if=mtd \
|
||||||
|
-drive file=mmc.img,format=raw,if=sd,index=2 \
|
||||||
|
-nographic
|
||||||
|
|
||||||
|
It should be noted that in this case the eMMC device must not have
|
||||||
|
boot partitions, otherwise the contents will not be accessible to the
|
||||||
|
machine. This limitation is due to the use of the ``-drive``
|
||||||
|
interface.
|
||||||
|
|
||||||
|
Ideally, one should be able to define the eMMC device and the
|
||||||
|
associated backend directly on the command line, such as :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
-blockdev node-name=emmc0,driver=file,filename=mmc.img \
|
||||||
|
-device emmc,bus=sdhci-bus.2,drive=emmc0,boot-partition-size=1048576,boot-config=8
|
||||||
|
|
||||||
|
This is not yet supported (as of QEMU-10.0). Work is needed to
|
||||||
|
refactor the sdhci bus model.
|
||||||
|
|
||||||
|
Other booting options
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Other machine options specific to Aspeed machines are :
|
||||||
|
|
||||||
|
* ``bmc-console`` to change the default console device. Most of the
|
||||||
|
machines use the ``UART5`` device for a boot console, which is
|
||||||
|
mapped on ``/dev/ttyS4`` under Linux, but it is not always the
|
||||||
|
case.
|
||||||
|
|
||||||
To change the boot console and use device ``UART3`` (``/dev/ttyS2``
|
To change the boot console and use device ``UART3`` (``/dev/ttyS2``
|
||||||
under Linux), use :
|
under Linux), use :
|
||||||
|
|
||||||
|
@ -176,6 +247,8 @@ under Linux), use :
|
||||||
|
|
||||||
-M ast2500-evb,bmc-console=uart3
|
-M ast2500-evb,bmc-console=uart3
|
||||||
|
|
||||||
|
Booting the ast2700-evb machine
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Boot the AST2700 machine from the flash image, use an MTD drive :
|
Boot the AST2700 machine from the flash image, use an MTD drive :
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue