| commit | b8a647297e3f9fe724f8ee1736bb9da3806d788e | [log] [tgz] |
|---|---|---|
| author | Adriana Kobylak <anoo@us.ibm.com> | Sat Mar 28 12:29:31 2020 -0500 |
| committer | Adriana Kobylak <anoo@us.ibm.com> | Tue Jul 14 08:52:22 2020 -0500 |
| tree | 71fc5171cb6ab4bac765bbc98edb9643701b9c56 | |
| parent | b64781c123543c5cbfecb81d974e82716545b099 [diff] |
aspeed: Build a wic image for the eMMC User Data Area
The U-Boot SPL and U-Boot proper would be programmed to the
Boot Area Hardware Partitions of the eMMC. The kernel and user
space would go into the User Data Area. This commit creates an
image that can be programmed into that User Data Area. Layout:
--- - ----- -------- -------- ----- ------- ------ -------- -------
|GPT| | env | boot-a | boot-b | fs-a | fs-b | rwfs | hostfw |GPT-sec|
--- - ----- -------- -------- ------ ------ ------ -------- -------
^ 1MB 64MB 64MB 1GB 1GB 7GB 5GB
|
0x5000
Primary GPT size (Beginning of image):
512B (Protective MBR) + 512B (Primary Header) + 16KB (Primary Table)
First partition (u-boot-env) is 4K-aligned, which puts it at offset 0x5000
Secondary GPT size (End of image):
16KB (Secondary Table) + 512B (Secondary Header)
Since the secondary GPT is expected to be at the end of the device,
the initramfs can issue a "sgdisk -e /dev/mmcblk0" on first boot
to move it to the end.
The first partition holds the U-Boot environment. The following two
partitions hold a filesystem with the fitImage file. Code update
would reflash the full filesystem with the fitImage during an update.
U-Boot can then be programmed to look for the kernel in partitions
boot-a or boot-b.
The remaining is a set of ext4 filesystems for user space, read-write,
and host firmware.
The size for the host firmware partition is configurable to be able
to build an image of different size. The reason is that the tacoma
system is has a User Data area just 1GB smaller than rainier.
Design doc: https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/28443
Tested: Adding "WKS_HOSTFW_SIZE = "4G"" to the tacoma.conf file
created a 14GB wic file:
$ ls -lh *wic
-rw-r--r-- 1 anoo 532919 15G Jul 14 08:18 obmc-phosphor-image-rainier.wic
-rw-r--r-- 1 anoo 532919 14G Jul 14 08:36 obmc-phosphor-image-witherspoon-tacoma.wi
$ wic ls obmc-phosphor-image-rainier.wic
Num Start End Size Fstype
...
7 9798963200 15167672319 5368709120 ext4
$ wic ls obmc-phosphor-image-witherspoon-tacoma.wic
Num Start End Size Fstype
...
7 9798963200 14093930495 4294967296 ext4
Change-Id: I37759760ac7baa42ab9d202f0926d4a31d0070ac
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
This layer provides support for Aspeed's platforms for use with OpenEmbedded and/or Yocto.
This layer depends on: URI: git://git.openembedded.org/openembedded-core layers: meta branch: master revision: HEAD
meta-aspeed patches are reviewed using the Gerrit instance at https://gerrit.openbmc-project.xyz.
Please submit patches to Gerrit. More information on using Gerrit can be found here. https://github.com/openbmc/meta-aspeed is a hosting mirror only and GitHub pull requests are not monitored and will not be accepted.
Patch checklist. Please ensure patches adhere to the following guidelines:
For questions or help please come join us on the mailing list or in IRC.