I am thinking this is how it is.
- xFSTK writes "_dnx_fwr.bin" and "_dnx_osr.bin" IFWI images and after that recovery starts
- xFSTK sends u-boot.img (OSIP+MBR, GPT, u-boot and env 0 and 1) and "real" ifwi
- IFWI reboots and reloads from flash copy
- u-boot.bin is written with its environment variables.
The thing is, we already have the vmlinuz, initramfs and a new distro (that only runs from memory and thus prevents any kind of crashes etc for edison). The only thing lacking is if we can somehow just only change the environment files instead of compiling the entire yocto.
You can if it can be more modular for compilation, separate u-boot.bin with its own env files that we can compile separately and u-boot.img with its env that can compile separately.
offset size label purpose
0x00000000 1MB - OSIP + MBR + GPT
0x00100000 2MB u-boot0 First U-Boot
0x00300000 1MB u-boot-env0 First U-Boot environment variables
0x00400000 2MB u-boot1 Second U-Boot (not populated by Yocto)
0x00600000 1MB u-boot-env1 Second U-Boot environment variables
0x00700000 1MB factory Edison factory data (FAT)
0x00800000 24MB panic ???
0x02000000 32MB boot Kernel partition (FAT)
0x04000000 512MB rootfs Root filesystem (ext4)
0x24000000 768MB update OTA (FAT)
0x54000000 2752MB home User filesystem (ext4)
# U-Boot.img on eMMC in LBA (LBA size: 512 bytes)
# | description | OSII | GPT label
# 0x000000 - 0x000001 | MBR + OSIP | - | -
# 0x000001 - 0x000022 | GPT | - | -
# 0x000022 - 0x000800 | padding with 0 (alignment) | - | -
# 0x000800 - 0x001800 | u-boot0 | 1 | u-boot0
# 0x001800 - 0x002600 | primary environment | - | u-boot-env0
# 0x002600 - 0x003600 | u-boot1 | 2 | u-boot1
# 0x003600 - 0x004400 | secondary environment | - | u-boot-env1
.We want to customize edison.env as well files like edison-blankrndis.env for both (u-boot-edison.img and u-boot.edison.bin). I am pasting this content here so that it will be useful for others
This message was posted on behalf of Intel Corporation
Thank you for your patience. All the details are available in the Yocto layer meta-intel-edison-bsp under the recipes-bsp in the package u-boot. The recipe files with .bb extension has the do_compile and do_install functions which shows how the build is done. Also, check the .inc files which has the details for python script for do_build_mkimage_tool. You may extract the necessary code from those files to create your own independent build.