kumquat-buildroot/board/freescale/common/imx/genimage.cfg.template_no_boot_part_spl
Fabio Estevam 0351a60b95 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>
2021-11-14 15:15:14 +01:00

32 lines
668 B
Plaintext

# Minimal SD card image for the Freescale boards Template for SPL Boot
#
# We mimic the .sdcard Freescale's image format:
# * the SD card must have 1 kB free space at the beginning,
# * SPL is at the offset expected by ROM,
# * U-Boot is at the offset expected by SPL,
# * The first partition is expected to be an ext2 and have a /boot directory.
#
image sdcard.img {
hdimage {
}
partition spl {
in-partition-table = "no"
image = "SPL"
offset = 1024
}
partition u-boot {
in-partition-table = "no"
image = "%UBOOTBIN%"
offset = 69K
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext2"
offset = 8M
}
}