mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-07-27 07:27:04 +00:00
arm-bsp/documentation: corstone1000: Update the user guide
Update the user guide to include Linux distro installation on fvp Signed-off-by: Delane Brandy <delane.brandy@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
@@ -927,15 +927,15 @@ Linux distros tests
|
|||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
*************************************************************
|
*************************************************************
|
||||||
Debian install and boot preparation (applicable to FPGA only)
|
Debian install and boot preparation
|
||||||
*************************************************************
|
*************************************************************
|
||||||
|
|
||||||
There is a known issue in the `Shim 15.7 <https://salsa.debian.org/efi-team/shim/-/tree/upstream/15.7?ref_type=tags>`__
|
There is a known issue in the `Shim 15.7 <https://salsa.debian.org/efi-team/shim/-/tree/upstream/15.7?ref_type=tags>`__
|
||||||
provided with the Debian installer image (see below). This bug causes a fatal
|
provided with the Debian installer image (see below). This bug causes a fatal
|
||||||
error when attempting to boot media installer for Debian, and it resets the MPS3 before installation starts.
|
error when attempting to boot media installer for Debian, and it resets the platform before installation starts.
|
||||||
A patch to be applied to the Corstone-1000 stack (only applicable when
|
A patch to be applied to the Corstone-1000 stack (only applicable when
|
||||||
installing Debian) is provided to
|
installing Debian) is provided to
|
||||||
`Skip the Shim <https://gitlab.arm.com/arm-reference-solutions/systemready-patch/-/blob/CORSTONE1000-2023.06/embedded-a/corstone1000/shim/0001-arm-bsp-u-boot-corstone1000-Skip-the-shim-by-booting.patch>`__.
|
`Skip the Shim <https://gitlab.arm.com/arm-reference-solutions/systemready-patch/-/blob/CORSTONE1000-2023.11/embedded-a/corstone1000/shim/0001-arm-bsp-u-boot-corstone1000-Skip-the-shim-by-booting.patch>`__.
|
||||||
This patch makes U-Boot automatically bypass the Shim and run grub and allows
|
This patch makes U-Boot automatically bypass the Shim and run grub and allows
|
||||||
the user to proceed with a normal installation. If at the moment of reading this
|
the user to proceed with a normal installation. If at the moment of reading this
|
||||||
document the problem is solved in the Shim, the user is encouraged to try the
|
document the problem is solved in the Shim, the user is encouraged to try the
|
||||||
@@ -947,31 +947,36 @@ documentation.
|
|||||||
::
|
::
|
||||||
|
|
||||||
cd <_workspace>
|
cd <_workspace>
|
||||||
git clone https://git.gitlab.arm.com/arm-reference-solutions/systemready-patch.git -b CORSTONE1000-2023.06
|
git clone https://git.gitlab.arm.com/arm-reference-solutions/systemready-patch.git -b CORSTONE1000-2023.11
|
||||||
cp -f systemready-patch/embedded-a/corstone1000/shim/0001-arm-bsp-u-boot-corstone1000-Skip-the-shim-by-booting.patch meta-arm
|
cp -f systemready-patch/embedded-a/corstone1000/shim/0001-arm-bsp-u-boot-corstone1000-Skip-the-shim-by-booting.patch meta-arm
|
||||||
cd meta-arm
|
cd meta-arm
|
||||||
git am 0001-arm-bsp-u-boot-corstone1000-Skip-the-shim-by-booting.patch
|
git am 0001-arm-bsp-u-boot-corstone1000-Skip-the-shim-by-booting.patch
|
||||||
cd ..
|
cd ..
|
||||||
kas shell meta-arm/kas/corstone1000-mps3.yml:meta-arm/ci/debug.yml -c="bitbake u-boot trusted-firmware-a corstone1000-image -c cleansstate; bitbake corstone1000-image"
|
kas shell meta-arm/kas/corstone1000-mps3.yml:meta-arm/ci/debug.yml -c="bitbake u-boot trusted-firmware-a corstone1000-image -c cleansstate; bitbake corstone1000-image"
|
||||||
|
|
||||||
Please update the cs1000.bin on the SD card with the newly generated wic file.
|
On FPGA, please update the cs1000.bin on the SD card with the newly generated wic file.
|
||||||
|
|
||||||
*************************************************
|
*************************************************
|
||||||
Debian/openSUSE install (applicable to FPGA only)
|
Preparing the Installation Media
|
||||||
*************************************************
|
*************************************************
|
||||||
|
|
||||||
To test Linux distro install and boot, the user should prepare two empty USB
|
|
||||||
sticks (minimum size should be 4GB and formatted with FAT32).
|
|
||||||
|
|
||||||
Download one of following Linux distro images:
|
Download one of following Linux distro images:
|
||||||
- `Debian 12.0.0 installer image <https://cdimage.debian.org/debian-cd/current/arm64/iso-dvd/debian-12.0.0-arm64-DVD-1.iso>`__
|
- `Debian installer image <https://cdimage.debian.org/debian-cd/current/arm64/iso-dvd/>`__ (Tested on: debian-12.2.0-arm64-DVD-1.iso)
|
||||||
- `OpenSUSE Tumbleweed installer image <http://download.opensuse.org/ports/aarch64/tumbleweed/iso/>`__
|
- `OpenSUSE Tumbleweed installer image <http://download.opensuse.org/ports/aarch64/tumbleweed/iso/>`__ (Tested on: openSUSE-Tumbleweed-DVD-aarch64-Snapshot20231105-Media.iso)
|
||||||
|
|
||||||
**NOTE:** For OpenSUSE Tumbleweed, the user should look for a DVD Snapshot like
|
**NOTE:** For OpenSUSE Tumbleweed, the user should look for a DVD Snapshot like
|
||||||
openSUSE-Tumbleweed-DVD-aarch64-Snapshot<date>-Media.iso
|
openSUSE-Tumbleweed-DVD-aarch64-Snapshot<date>-Media.iso
|
||||||
|
|
||||||
Once the iso file is downloaded, the iso file needs to be flashed to your USB
|
Once the iso file is downloaded, it needs to be flashed to your drive as explained in the next paragraphs.
|
||||||
drive. This can be done with your development machine.
|
|
||||||
|
FPGA
|
||||||
|
==================================================
|
||||||
|
|
||||||
|
To test Linux distro install and boot on FPGA, the user should prepare two empty USB
|
||||||
|
sticks (minimum size should be 4GB and formatted with FAT32).
|
||||||
|
|
||||||
|
The downloaded iso file needs to be flashed to your USB drive.
|
||||||
|
This can be done with your development machine.
|
||||||
|
|
||||||
In the example given below, we assume the USB device is ``/dev/sdb`` (the user
|
In the example given below, we assume the USB device is ``/dev/sdb`` (the user
|
||||||
should use the `lsblk` command to confirm).
|
should use the `lsblk` command to confirm).
|
||||||
@@ -984,6 +989,33 @@ following command in the development machine:
|
|||||||
|
|
||||||
sudo dd if=<path-to-iso_file> of=/dev/sdb iflag=direct oflag=direct status=progress bs=1M; sync;
|
sudo dd if=<path-to-iso_file> of=/dev/sdb iflag=direct oflag=direct status=progress bs=1M; sync;
|
||||||
|
|
||||||
|
|
||||||
|
FVP
|
||||||
|
==================================================
|
||||||
|
|
||||||
|
To test Linux distro install and boot on FVP, the user should prepare two mmc images.
|
||||||
|
One containing the OS-DVD image and another with a minimum size of 8GB formatted with gpt.
|
||||||
|
|
||||||
|
The downloaded iso file needs to be flashed to one of your mmc images.
|
||||||
|
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
#Generating mmc1
|
||||||
|
sudo dd if=<path-to-iso_file> of=<_workspace>/mmc1.iso iflag=direct oflag=direct status=progress bs=1M; sync;
|
||||||
|
|
||||||
|
#Generating mmc2
|
||||||
|
dd if=/dev/zero of=<_workspace>/mmc2_file.img bs=1 count=0 seek=8G; sync;
|
||||||
|
parted -s mmc2_file.img mklabel gpt
|
||||||
|
|
||||||
|
|
||||||
|
*************************************************
|
||||||
|
Debian/openSUSE install
|
||||||
|
*************************************************
|
||||||
|
|
||||||
|
FPGA
|
||||||
|
==================================================
|
||||||
|
|
||||||
Unplug the first USB stick from the development machine and connect it to the
|
Unplug the first USB stick from the development machine and connect it to the
|
||||||
MSP3 board. At this moment, only the first USB stick should be connected. Open
|
MSP3 board. At this moment, only the first USB stick should be connected. Open
|
||||||
the following picocom sessions in your development machine:
|
the following picocom sessions in your development machine:
|
||||||
@@ -1001,8 +1033,18 @@ the process.
|
|||||||
**NOTE:** Due to the performance limitation of Corstone-1000 MPS3 FPGA, the
|
**NOTE:** Due to the performance limitation of Corstone-1000 MPS3 FPGA, the
|
||||||
distro installation process can take up to 24 hours to complete.
|
distro installation process can take up to 24 hours to complete.
|
||||||
|
|
||||||
|
FVP
|
||||||
|
==================================================
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
<_workspace>/meta-arm/scripts/runfvp --terminals=xterm <_workspace>/build/tmp/deploy/images/corstone1000-fvp/corstone1000-image-corstone1000-fvp.fvpconf -- -C board.msd_mmc.p_mmc_file="<_workspace>/mmc1.iso" -C board.msd_mmc_2.p_mmc_file="<_workspace>/mmc2_file.img"
|
||||||
|
|
||||||
|
The installer should now start.
|
||||||
|
The os will be installed on the second mmc 'mmc2_file.img'.
|
||||||
|
|
||||||
*******************************************************
|
*******************************************************
|
||||||
Debian install clarifications (applicable to FPGA only)
|
Debian install clarifications
|
||||||
*******************************************************
|
*******************************************************
|
||||||
|
|
||||||
As the installation process for Debian is different than the one for openSUSE,
|
As the installation process for Debian is different than the one for openSUSE,
|
||||||
@@ -1040,21 +1082,44 @@ popups:
|
|||||||
8. At this stage, the installation should proceed as normal.
|
8. At this stage, the installation should proceed as normal.
|
||||||
|
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
Debian/openSUSE boot after installation (applicable to FPGA only)
|
Debian/openSUSE boot after installation
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
|
|
||||||
|
FPGA
|
||||||
|
===============
|
||||||
Once the installation is complete, unplug the first USB stick and reboot the
|
Once the installation is complete, unplug the first USB stick and reboot the
|
||||||
board.
|
board.
|
||||||
The board will then enter recovery mode, from which the user can access a shell
|
The board will then enter recovery mode, from which the user can access a shell
|
||||||
after entering the password for the root user. Proceed to edit the following
|
after entering the password for the root user.
|
||||||
files accordingly:
|
|
||||||
|
FVP
|
||||||
|
==============
|
||||||
|
Once the installation is complete, you will need to exit the shell instance
|
||||||
|
and run this command to boot into the installed OS:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
<_workspace>/meta-arm/scripts/runfvp --terminals=xterm <_workspace>/build/tmp/deploy/images/corstone1000-fvp/corstone1000-image-corstone1000-fvp.fvpconf -- -C board.msd_mmc.p_mmc_file="<_workspace>/mmc2_file.img"
|
||||||
|
|
||||||
|
|
||||||
|
Once the FVP begins booting, you will need to quickly change the boot option in GRUB,
|
||||||
|
to boot into recovery mode.
|
||||||
|
|
||||||
|
**NOTE:** This option will disappear quickly, so it's best to preempt it.
|
||||||
|
|
||||||
|
Select 'Advanced Options for '<OS>' and then '<OS> (recovery mode)'.
|
||||||
|
|
||||||
|
Common
|
||||||
|
==============
|
||||||
|
|
||||||
|
Proceed to edit the following files accordingly:
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
vi /etc/systemd/system.conf
|
vi /etc/systemd/system.conf
|
||||||
DefaultDeviceTimeoutSec=infinity
|
DefaultDeviceTimeoutSec=infinity
|
||||||
|
|
||||||
The file to be editted next is different depending on the installed distro:
|
The file to be edited next is different depending on the installed distro:
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
@@ -1068,8 +1133,9 @@ To make sure the changes are applied, please run:
|
|||||||
|
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
|
|
||||||
After applying the previous commands, please reboot the board. The user should
|
After applying the previous commands, please reboot the board or restart the runfvp command.
|
||||||
see a login prompt after booting, for example, for debian:
|
|
||||||
|
The user should see a login prompt after booting, for example, for debian:
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
@@ -1078,38 +1144,6 @@ see a login prompt after booting, for example, for debian:
|
|||||||
Login with the username root and its corresponding password (already set at
|
Login with the username root and its corresponding password (already set at
|
||||||
installation time).
|
installation time).
|
||||||
|
|
||||||
************************************************************
|
|
||||||
OpenSUSE Raw image install and boot (applicable to FVP only)
|
|
||||||
************************************************************
|
|
||||||
|
|
||||||
Steps to download OpenSUSE Tumbleweed raw image:
|
|
||||||
- Under `OpenSUSE Tumbleweed appliances <http://download.opensuse.org/ports/aarch64/tumbleweed/appliances/>`__
|
|
||||||
- The user should look for a Tumbleweed-ARM-JeOS-efi.aarch64-* Snapshot, for example,
|
|
||||||
``openSUSE-Tumbleweed-ARM-JeOS-efi.aarch64-<date>-Snapshot<date>.raw.xz``
|
|
||||||
|
|
||||||
Once the .raw.xz file is downloaded, the raw image file needs to be extracted:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
unxz <file-name.raw.xz>
|
|
||||||
|
|
||||||
|
|
||||||
The above command will generate a file ending with extension .raw image. Now, use the following command
|
|
||||||
to run FVP with raw image installation process.
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
<_workspace>/meta-arm/scripts/runfvp --terminals=xterm <_workspace>/build/tmp/deploy/images/corstone1000-fvp/corstone1000-image-corstone1000-fvp.fvpconf -- -C board.msd_mmc.p_mmc_file="${openSUSE raw image file path}"
|
|
||||||
|
|
||||||
After successfully installing and booting the Linux distro, the user should see
|
|
||||||
a openSUSE login prompt.
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
localhost login:
|
|
||||||
|
|
||||||
Login with the username 'root' and password 'linux'.
|
|
||||||
|
|
||||||
PSA API tests
|
PSA API tests
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user