board/freescale/common/imx: place rootfs at proper offset when BR2_LINUX_KERNEL_INSTALL_TARGET=y

Currently, when BR2_LINUX_KERNEL_INSTALL_TARGET=y is selected, issuing
a "saveenv" command in the U-Boot prompt may lead to rootfs corruption.

When BR2_LINUX_KERNEL_INSTALL_TARGET is not selected, then
board/freescale/common/imx/genimage.cfg.template is used as per the logic
inside board/freescale/common/imx/post-image.sh.

board/freescale/common/imx/genimage.cfg.template correctly puts the
rootfs at a safe offset.

With BR2_LINUX_KERNEL_INSTALL_TARGET=y, then
board/freescale/common/imx/genimage.cfg.template_no_boot_part or
board/freescale/common/imx/genimage.cfg.template_no_boot_part_spl
are used and no offset to the rootfs is given, which may cause U-Boot
environment area to write into the rootfs area, causing the rootfs
corruption.

Avoid this problem by placing the rootfs at an 8MB offset, just like
it is done in board/freescale/common/imx/genimage.cfg.

Tested on a imx6qp-wandboard and also on a custom imx6ull based board.

"saveenv" does not corrupt the rootfs anymore after this change.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Fabio Estevam 2021-11-13 18:42:45 -03:00 committed by Thomas Petazzoni
parent 056e84b713
commit 0351a60b95
2 changed files with 2 additions and 0 deletions

View File

@ -11,5 +11,6 @@ image sdcard.img {
partition rootfs {
partition-type = 0x83
image = "rootfs.ext2"
offset = 8M
}
}

View File

@ -26,5 +26,6 @@ image sdcard.img {
partition rootfs {
partition-type = 0x83
image = "rootfs.ext2"
offset = 8M
}
}