From dd7015393fdab93426aab61a08b48a698c9c100d Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Wed, 9 Aug 2017 17:17:25 -0500 Subject: uboot: Add support for ubi and mtd partitioning Ability for u-boot to load a kernel from a ubi volume. Add boot options for the kernel to boot a rootfs from a ubi volume. Create env variables that can be set by userspace to indicate to u-boot and the kernel where the ubi volume information. Resolves openbmc/openbmc#1940 Resolves openbmc/openbmc#1943 Change-Id: I670435923c563490afa6a85b852594289295651c Signed-off-by: Adriana Kobylak --- .../files/0004-config-ast-common-ubi-bootops.patch | 65 ++++++++++++++++++++++ meta-phosphor/common/recipes-bsp/u-boot/u-boot.inc | 3 +- 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 meta-phosphor/common/recipes-bsp/u-boot/files/0004-config-ast-common-ubi-bootops.patch (limited to 'meta-phosphor/common/recipes-bsp/u-boot') diff --git a/meta-phosphor/common/recipes-bsp/u-boot/files/0004-config-ast-common-ubi-bootops.patch b/meta-phosphor/common/recipes-bsp/u-boot/files/0004-config-ast-common-ubi-bootops.patch new file mode 100644 index 000000000..d0185655a --- /dev/null +++ b/meta-phosphor/common/recipes-bsp/u-boot/files/0004-config-ast-common-ubi-bootops.patch @@ -0,0 +1,65 @@ +From d9e403ce8669d9b0ac4e94a7c64cef91ad51dc80 Mon Sep 17 00:00:00 2001 +From: Adriana Kobylak +Date: Wed, 9 Aug 2017 14:11:56 -0500 +Subject: [PATCH] config/ast-common: Add bootopts to support ubi and mtd partitioning + +Signed-off-by: Adriana Kobylak +--- + include/configs/ast-common.h | 20 ++++++++++++++++++-- + 1 file changed, 18 insertions(+), 2 deletions(-) + +diff --git a/include/configs/ast-common.h b/include/configs/ast-common.h +index b8b1f01..9c12f1f 100644 +--- a/include/configs/ast-common.h ++++ b/include/configs/ast-common.h +@@ -84,10 +84,16 @@ + #define CONFIG_SYS_MAXARGS 16 + #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE + ++/* ++ * Dynamic MTD Partition support ++ */ ++#define MTDIDS_DEFAULT "nor0=bmc" ++#define MTDPARTS_DEFAULT "mtdparts=bmc:384k(u-boot),128k(u-boot-env),-(obmc-ubi)" ++ + #if 0 + #define CONFIG_BOOTARGS "console=ttyS4,115200n8 root=/dev/ram rw" + #endif +-#define CONFIG_BOOTARGS "console=ttyS4,115200n8 root=/dev/mtdblock4 ro" ++#define CONFIG_BOOTARGS "console=ttyS4,115200n8 ubi.mtd=obmc-ubi,0,0,0 ubi.mtd=alt-obmc-ubi,0,0,4 ro rootfstype=squashfs" + + #define CONFIG_AST_SPI_NOR /* AST SPI NOR Flash */ + #define CONFIG_FMC_CS 1 +@@ -96,6 +102,7 @@ + #define CONFIG_ENV_IS_IN_FLASH 1 + #define CONFIG_ENV_ADDR (AST_FMC_CS0_BASE + 0x60000) + #define CONFIG_ENV_ADDR_REDUND (AST_FMC_CS0_BASE + 0x70000) ++#define CONFIG_LOADADDR 80800000 + + #define CONFIG_ENV_OFFSET 0x60000 /* environment starts here */ + #define CONFIG_ENV_OFFSET_REDUND 0x70000 +@@ -109,11 +116,20 @@ + " bootm 20080000; else bootm 20080000 20300000; " \ + "fi" + #endif +-#define CONFIG_BOOTCOMMAND "fdt addr 20080000; bootm 20080000" ++#define CONFIG_BOOTCOMMAND "run set_bootargs; run obmc_bootcmd" + #define CONFIG_ENV_OVERWRITE + #define ASPEED_ENV_SETTINGS \ ++ "ubiblock=0,1 \0" \ ++ "root=/dev/ubiblock0_1 \0" \ ++ "kernelname=kernel0 \0" \ ++ "kernelname=kernel0 \0" \ ++ "loadaddr=" CONFIG_LOADADDR "\0" \ ++ "set_bootargs=setenv bootargs " CONFIG_BOOTARGS " ubi.block=${ubiblock} root=${root} \0" \ ++ "obmc_bootcmd=ubi part obmc-ubi; ubi read ${loadaddr} ${kernelname}; bootm ${loadaddr} \0" \ + "verify=yes\0" \ + "spi_dma=yes\0" \ ++ "mtdids=" MTDIDS_DEFAULT "\0" \ ++ "mtdparts=" MTDPARTS_DEFAULT "\0" \ + "" + + #endif /* __AST_COMMON_CONFIG_H */ +-- +1.8.2.2 + diff --git a/meta-phosphor/common/recipes-bsp/u-boot/u-boot.inc b/meta-phosphor/common/recipes-bsp/u-boot/u-boot.inc index 811df0bd4..5ccbea58c 100644 --- a/meta-phosphor/common/recipes-bsp/u-boot/u-boot.inc +++ b/meta-phosphor/common/recipes-bsp/u-boot/u-boot.inc @@ -7,7 +7,8 @@ SRC_URI = "git://git@github.com/openbmc/u-boot.git;branch=${UBRANCH};protocol=ht SRC_URI += "${@bb.utils.contains('MACHINE_FEATURES', 'obmc-ubi-fs', \ 'file://0001-config-ast-common-hack-bootopts.patch \ file://0002-Add-MTD-support-to-Aspeed-Flash-driver.patch \ - file://0003-Add-MTD-and-UBI-support-to-ast-g5.patch', '', d)}" + file://0003-Add-MTD-and-UBI-support-to-ast-g5.patch \ + file://0004-config-ast-common-ubi-bootops.patch', '', d)}" PV = "v2016.07+git${SRCPV}" -- cgit v1.2.1