diff options
author | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2015-10-30 10:40:16 +0100 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2015-10-30 10:40:16 +0100 |
commit | 19d6bba4d745191e910869385d1236cbaa03da83 (patch) | |
tree | 800953f5d27ffa4abbdc472be824f88ad1040c5d | |
parent | 0b9d7b538d495fecaadda15f6f0902fe7c2bb5e1 (diff) |
apalis/colibri_imx6/t30: u-boot-fw-utils: update fw_printenv/setenv
Introduce/update postinst code to dynamically adjust fw_env.config and
fw_unlock_mmc.sh shell profile extension script to cope with our new
unified eMMC layout:
boot area partition 1 aka primary eMMC boot sector:
with U-Boot boot loader and the U-Boot environment before the
configblock at the end of that boot area partition
-rw-r--r-- | recipes-bsp/u-boot/files/fw_unlock_mmc.sh | 6 | ||||
-rw-r--r-- | recipes-bsp/u-boot/files/mx6/fw_env.config | 23 | ||||
-rw-r--r-- | recipes-bsp/u-boot/u-boot-toradex-fsl-fw-utils_git.bb | 20 | ||||
-rw-r--r-- | recipes-bsp/u-boot/u-boot-toradex-fw-utils_git.bb | 9 |
4 files changed, 28 insertions, 30 deletions
diff --git a/recipes-bsp/u-boot/files/fw_unlock_mmc.sh b/recipes-bsp/u-boot/files/fw_unlock_mmc.sh index 8982640..f9f253b 100644 --- a/recipes-bsp/u-boot/files/fw_unlock_mmc.sh +++ b/recipes-bsp/u-boot/files/fw_unlock_mmc.sh @@ -1,6 +1,6 @@ -# Give fw_setenv mmcblk0boot1 write permissions +# Give fw_setenv mmcblk0boot0 write permissions function fw_setenv() { - echo 0 > /sys/block/mmcblk0boot1/force_ro + echo 0 > /sys/block/mmcblk0boot0/force_ro /sbin/fw_setenv "$@" - echo 1 > /sys/block/mmcblk0boot1/force_ro + echo 1 > /sys/block/mmcblk0boot0/force_ro } diff --git a/recipes-bsp/u-boot/files/mx6/fw_env.config b/recipes-bsp/u-boot/files/mx6/fw_env.config deleted file mode 100644 index efd358b..0000000 --- a/recipes-bsp/u-boot/files/mx6/fw_env.config +++ /dev/null @@ -1,23 +0,0 @@ -# Configuration file for fw_(printenv/setenv) utility. -# Up to two entries are valid, in this case the redundant -# environment sector is assumed present. -# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash. -# Futhermore, if the Flash sector size is ommitted, this value is assumed to -# be the same as the Environment size, which is valid for NOR and SPI-dataflash - -# NOR example -# MTD device name Device offset Env. size Flash sector size Number of sectors -#/dev/mtd1 0x0000 0x4000 0x4000 -#/dev/mtd2 0x0000 0x4000 0x4000 - -# MTD SPI-dataflash example -# MTD device name Device offset Env. size Flash sector size Number of sectors -#/dev/mtd5 0x4200 0x4200 -#/dev/mtd6 0x4200 0x4200 - -# NAND example -#/dev/mtd0 0x4000 0x4000 0x20000 2 - -# Block device example -# Apalis iMX6 -/dev/mmcblk0 0x80000 0x2000 diff --git a/recipes-bsp/u-boot/u-boot-toradex-fsl-fw-utils_git.bb b/recipes-bsp/u-boot/u-boot-toradex-fsl-fw-utils_git.bb index 4e5c2d8..dd2abf7 100644 --- a/recipes-bsp/u-boot/u-boot-toradex-fsl-fw-utils_git.bb +++ b/recipes-bsp/u-boot/u-boot-toradex-fsl-fw-utils_git.bb @@ -19,6 +19,8 @@ SRCBRANCH_mx6 = "2015.04-toradex" SRC_URI = "git://git.toradex.com/u-boot-toradex.git;protocol=git;branch=${SRCBRANCH} \ file://fw_env.config \ " +SRC_URI_append_mx6 = " file://fw_unlock_mmc.sh \ +" PV = "${PR}+gitr${SRCREV}" PR = "r0" @@ -43,4 +45,22 @@ do_install () { install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/ } +do_install_append_mx6() { + install -d ${D}${sysconfdir}/profile.d/ + install -m 0644 ${WORKDIR}/fw_unlock_mmc.sh ${D}${sysconfdir}/profile.d/fw_unlock_mmc.sh +} + +pkg_postinst_${PN}_mx6 () { + # can't do this offline + if [ "x$D" != "x" ]; then + exit 1 + fi + # Environment in eMMC, before the configblock at the end of 1st "boot sector" + DISK="mmcblk0boot0" + DISK_SIZE=`cat /sys/block/$DISK/size` + CONFIG_ENV_SIZE=8192 # 0x2000 + CONFIG_ENV_OFFSET=`expr $DISK_SIZE \* 512 - $CONFIG_ENV_SIZE - 512` + printf "/dev/%s\t0x%X\t0x%X\n" $DISK $CONFIG_ENV_OFFSET $CONFIG_ENV_SIZE >> "/etc/fw_env.config" +} + PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/recipes-bsp/u-boot/u-boot-toradex-fw-utils_git.bb b/recipes-bsp/u-boot/u-boot-toradex-fw-utils_git.bb index 959860d..0f65b22 100644 --- a/recipes-bsp/u-boot/u-boot-toradex-fw-utils_git.bb +++ b/recipes-bsp/u-boot/u-boot-toradex-fw-utils_git.bb @@ -18,7 +18,8 @@ SRCREV = "06ee8db6422e02337242e43b8573359443db59ea" SRCBRANCH = "2015.04-toradex" SRC_URI = "git://git.toradex.com/u-boot-toradex.git;protocol=git;branch=${SRCBRANCH} \ file://fw_env.config \ - file://fw_unlock_mmc.sh \ +" +SRC_URI_append_tegra3 = " file://fw_unlock_mmc.sh \ " PV_apalis-t30 = "${PR}+gitr${SRCREV}" @@ -65,11 +66,11 @@ pkg_postinst_${PN}_tegra3 () { if [ "x$D" != "x" ]; then exit 1 fi - # Environment in eMMC, at the end of 2nd "boot sector" - DISK="mmcblk0boot1" + # Environment in eMMC, before the configblock at the end of 1st "boot sector" + DISK="mmcblk0boot0" DISK_SIZE=`cat /sys/block/$DISK/size` CONFIG_ENV_SIZE=8192 # 0x2000 - CONFIG_ENV_OFFSET=`expr $DISK_SIZE \* 512 - $CONFIG_ENV_SIZE` + CONFIG_ENV_OFFSET=`expr $DISK_SIZE \* 512 - $CONFIG_ENV_SIZE - 512` printf "/dev/%s\t0x%X\t0x%X\n" $DISK $CONFIG_ENV_OFFSET $CONFIG_ENV_SIZE >> "/etc/fw_env.config" } |