libfstools: force mkfs when formatting overlay
authorDaniel Golle <daniel@makrotopia.org>
Mon, 15 Jan 2024 17:47:46 +0000 (17:47 +0000)
committerDaniel Golle <daniel@makrotopia.org>
Mon, 15 Jan 2024 20:53:46 +0000 (20:53 +0000)
commit2171f62615569bace6e53617480d8f233f8f3b94
tree72da27b6e90a7cdb5c619eedee47154254a8f5fd
parent325d63d67006c5526ab9b0fbc62329da48aa93af
libfstools: force mkfs when formatting overlay

As the rootfs_overlay volume is dynamically allocated on platforms
which allow for that, the start of the volume can end up being at the
location of previously stored data. This can happen when writing an SD
card image to an SD card previously used for something else.
sysupgrade should always wipe preexisting data, but I haven't checked
if all platform implementations actually always do so). As mkfs is
cautious not to accidentally overwrite existing data, this can result
in the system to hang on boot, waiting for confirmation on the serial
console:

mount_root: overlay filesystem in /dev/fitrw has not been formatted yet
/dev/fitrw contains `ISO-8859 text, with very long lines (65536), with
no line terminators' data
Proceed anyway? (y,N)

Use the FORCE option (-F for mkfs.ext4, -f for mkfs.f2fs) to make sure
the volume is always formatted irrespective of its previous content.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
libfstools/common.c