bcm4908: support "rootfs_data" on U-Boot devices
1. Create "rootfs_data" dynamicaly
U-Boot firmware images can contain only 2 UBI volumes: bootfs (container
with U-Boot + kernel + DTBs) and rootfs (e.g. squashfs). There is no way
to include "rootfs_data" UBI volume or make firmware file tell U-Boot to
create one.
For that reason "rootfs_data" needs to be created dynamically. Use
preinit script to handle that. Fire it right before "mount_root" one.
2. Relate "rootfs_data" to flashed firmware
As already explained flashing new firmware with U-Boot will do nothing
to the "rootfs_data". It could result in new firmware reusing old
"rootfs_data" overlay UBI volume and its file. Users expect a clean
state after flashing firmware (even if flashing the same one).
Solve that by reading flash counter of running firmware and storing it
in "rootfs_data" UBI volume. Every mismatch will result in wiping old
data.
Signed-off-by:
Rafał Miłecki <rafal@milecki.pl>
Showing
- target/linux/bcm4908/base-files/lib/functions/bcm4908.sh 73 additions, 0 deletionstarget/linux/bcm4908/base-files/lib/functions/bcm4908.sh
- target/linux/bcm4908/base-files/lib/preinit/75_rootfs_prepare 35 additions, 0 deletions...et/linux/bcm4908/base-files/lib/preinit/75_rootfs_prepare
- target/linux/bcm4908/base-files/lib/upgrade/platform.sh 14 additions, 13 deletionstarget/linux/bcm4908/base-files/lib/upgrade/platform.sh
Please register or sign in to comment