1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-05-07 04:58:57 +00:00
Satish Kumar 2be960d8b7 arm-bsp/corstone1000: new gpt based disk layout and fwu metadata
Introduce the use of a gpt partition type layout, and use
the firmware metadata as source of the current boot bank
to boot from in the different boot stages.

This needs to be a large changeset, since it touches a lot
of software components to guarantee that everything works
in an atomic way, to not break the build and/or the boot flow
of the corstone1000 platform.

fdisk -o Start,End,Sectors,Size,Type-UUID,Attrs,Name,UUID -l tmp/deploy/images/corstone1000-fvp/corstone1000-image-corstone1000-fvp.wic
Disk build/tmp/deploy/images/corstone1000-fvp/corstone1000-image-corstone1000-fvp.wic: 32 MiB, 33554432 bytes, 65536 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 5BFC084A-9B95-4024-B60B-9748F5332524

Start   End Sectors  Size Type-UUID                            Attrs Name                       UUID
   34    39       6    3K EBD0A0A2-B9E5-4433-87C0-68B6B72699C7       reserved_1                 B1F2FC8C-A7A3-4485-87CB-16961B8847D7
   40    47       8    4K 8A7A84A0-8387-40F6-AB41-A8B9A5A60D23       FWU-Metadata               3FDFFEE1-3223-4C6B-80F9-B0E7D780C21D
   48    55       8    4K 8A7A84A0-8387-40F6-AB41-A8B9A5A60D23       Bkup-FWU-Metadata          B3068316-5351-4998-823A-3A7B09133EC1
   56    63       8    4K ECB55DC3-8AB7-4A84-AB56-EB0A9974DB42       private_metadata_replica_2 3CC3B456-DEC8-4CE3-BC5C-965483CE4828
   64    71       8    4K ECB55DC3-8AB7-4A84-AB56-EB0A9974DB42       private_metadata_replica_2 DCE9C503-8DFD-4DCB-8889-647E49641552
   72   271     200  100K 64BD8ADB-02C0-4819-8688-03AB4CAB0ED9       bl2_primary                9A3A8FBF-55EF-439C-80C9-A3F728033929
  272  1023     752  376K D763C27F-07F6-4FF0-B2F3-060CB465CD4E       tfm_primary                07F9616C-1233-439C-ACBA-72D75421BF70
 1024  5119    4096    2M B5EB19BD-CF56-45E8-ABA7-7ADB228FFEA7       FIP_A                      B9C7AC9D-40FF-4675-956B-EEF4DE9DF1C5
 5120 15199   10080  4.9M 8197561D-6124-46FC-921E-141CC5745B05       kernel_primary             BF7A6142-0662-47FD-9434-6A8811980816
32784 32983     200  100K 64BD8ADB-02C0-4819-8688-03AB4CAB0ED9       bl2_secondary              3F0C49A4-48B7-4D1E-AF59-3E4A3CE1BA9F
32984 32991       8    4K D763C27F-07F6-4FF0-B2F3-060CB465CD4E       tfm_secondary              009A6A12-64A6-4F0F-9882-57CD79A34A3D
32992 32999       8    4K B5EB19BD-CF56-45E8-ABA7-7ADB228FFEA7       FIP_B                      9424E370-7BC9-43BB-8C23-71EE645E1273
33000 33007       8    4K 8197561D-6124-46FC-921E-141CC5745B05       kernel_secondary           A2698A91-F9B1-4629-9188-94E4520808F8
65496 65501       6    3K EBD0A0A2-B9E5-4433-87C0-68B6B72699C7       reserved_2                 CCB18569-C0BA-42E0-A429-FE1DC862D660

Add new nvmxip qspi block storage device to u-boot and
the plumbing to boot using the fwu_metadata and gpt
partition information.

Make sure that fwu and fwu-backup have the correct, as defined
in spec, partition type. That will make SW pieces in the stack
identify it correctly.

Update the fvp config to use the new wic image with the gpt scheme

Depends on metadata to decide boot bank in TFA, TFM and u-boot
Using Reading partitions (GPT scheme)
changes needed:
- Rename FIP partition in wic image as defined in TF-A to FIP_A,FIP_B
- Rename metadata partitions to FWU_Metadata and Bkup-FWU-Metadata
- Enable support for GPT and PSA_FWU in TF-A

arm-bsp/corstone-1000: TF-M patch to calculate fwu metadata crc32

It's necessary to calculate the metadata crc for TF-A and U-boot
verify the metadata.

and at last remove the wic.nopt (wic no partition) as target fstype
since we now use the partitions.

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Satish Kumar <satish.kumar01@arm.com>
Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-29 13:00:20 -04:00
2023-02-04 04:52:21 -05:00
2019-11-15 11:19:35 -05:00
2023-01-04 11:51:03 +00:00

Introduction

This repository contains the Arm layers for OpenEmbedded.

  • meta-arm

    This layer contains general recipes for the Arm architecture, such as firmware, FVPs, and Arm-specific integration.

  • meta-arm-autonomy

    This layer is the distribution for a reference stack for autonomous systems.

  • meta-arm-bsp

    This layer contains machines for Arm reference platforms, for example FVP Base, N1SDP, and Juno.

  • meta-arm-toolchain

    This layer contains recipes for Arm's binary toolchains (GCC and Clang for -A and -M), and a recipe to build Arm's GCC.

Other Directories

  • ci

    This directory contains gitlab continuous integration configuration files (KAS yaml files) as well as scripts needed for this

  • kas

    This directory contains KAS yaml files to describe builds for systems not used in CI

  • scripts

    This directory contains scripts used in running the CI tests

Contributing

Currently, we only accept patches from the meta-arm mailing list. For general information on how to submit a patch, please read https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded

E-mail meta-arm@lists.yoctoproject.org with patches created using this process. You can configure git-send-email to automatically use this address for the meta-arm repository with the following git command:

$ git config --local --add sendemail.to meta-arm@lists.yoctoproject.org

Commits and patches added should follow the OpenEmbedded patch guidelines:

https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines

The component being changed in the shortlog should be prefixed with the layer name (without the meta- prefix), for example:

arm-bsp/trusted-firmware-a: decrease frobbing level

arm-toolchain/gcc: enable foobar v2

Reporting bugs

E-mail meta-arm@lists.yoctoproject.org with the error encountered and the steps to reproduce the issue.

Maintainer(s)

S
Description
No description provided
Readme 11 MiB
Languages
BitBake 66.9%
Python 24.8%
Shell 2.7%
HTML 2.1%
Jinja 1.6%
Other 1.9%