summaryrefslogtreecommitdiff
path: root/meta-aspeed/conf
diff options
context:
space:
mode:
authorAdriana Kobylak <anoo@us.ibm.com>2020-03-28 20:29:31 +0300
committerAndrew Geissler <geissonator@yahoo.com>2020-07-15 18:46:49 +0300
commit52b2330594715a5716db2951aea21a8e1adc3aa9 (patch)
tree5ed68a1159abc203f67790b27704ed1c5adad267 /meta-aspeed/conf
parent4a9a960aa04c518cc358d57234cd75f9b7456fb7 (diff)
downloadopenbmc-52b2330594715a5716db2951aea21a8e1adc3aa9.tar.xz
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 (From meta-aspeed rev: b8a647297e3f9fe724f8ee1736bb9da3806d788e) Change-Id: I18b8a15ac8eddb6abfbc7b70429ef45ffc170d9a Signed-off-by: Adriana Kobylak <anoo@us.ibm.com> Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Diffstat (limited to 'meta-aspeed/conf')
-rw-r--r--meta-aspeed/conf/machine/include/aspeed.inc5
1 files changed, 5 insertions, 0 deletions
diff --git a/meta-aspeed/conf/machine/include/aspeed.inc b/meta-aspeed/conf/machine/include/aspeed.inc
index a2316cf6a..c3c5f18c2 100644
--- a/meta-aspeed/conf/machine/include/aspeed.inc
+++ b/meta-aspeed/conf/machine/include/aspeed.inc
@@ -13,6 +13,11 @@ KERNEL_CLASSES ?= "kernel-fitimage"
INITRAMFS_IMAGE ?= "aspeed-image-initramfs"
INITRAMFS_FSTYPES ?= "cpio.xz"
+WKS_FILE ?= "emmc-aspeed.wks.in"
+WKS_FILE_DEPENDS ?= "virtual/kernel"
+WKS_HOSTFW_SIZE ?= "5G"
+IMAGE_BOOT_FILES ?= "fitImage-${INITRAMFS_IMAGE}-${MACHINE}-${MACHINE};fitImage"
+
MACHINE_EXTRA_RRECOMMENDS += "udev-aspeed-vuart udev-aspeed-mtd-partitions"
MACHINEOVERRIDES =. "aspeed:"