brcm2708: add squashfs rootfs image
authorChristian Lamparter <chunkeey@gmail.com>
Tue, 27 Mar 2018 17:42:18 +0000 (19:42 +0200)
committerJohn Crispin <john@phrozen.org>
Thu, 24 May 2018 15:24:30 +0000 (17:24 +0200)
commitfff02093e602f7c49161746305a4b13c1a2bb441
treee86b2638371017b72204090b5aa4d317d2c326e3
parentefdfb253d84a853a3f3efda6b11e958cf5f197ee
brcm2708: add squashfs rootfs image

This patch adds a image with squashfs as the root filesystem.
A rootfs_data partition will be generated on the first boot
and placed inside the rootfs partition (just after the squashfs
image).

advantages:
 - it is possible to migrate from an existing -ext4
   installation and back via sysupgrade.
 - existing partition layout will not be lost.
 - slightly smaller image size.
 - support for attendedsysupgrade

disadvantages:
 - needs f2fs + tools as well. This is because fs-tools decides on the
   blocksize of the sdcard. So either f2fs or ext4 can get choosen as
   the rootfs_data filesystem (depends on the size of the root partition).
 - rootfs_data is placed into the rootfs partition. This makes
   it difficult for tools that expect a /dev/mmc0pX device.
   It also makes it difficult for data recovery tools since they
   might not expect to find a embedded partition or will be
   confused.

For people with existing build configurations: make sure to include mkf2fs
and f2fsck package into the image... Otherwise the new -squashfs image will
boot of a ram-overlay and won't keep the configurations after a reboot.

Cc: Álvaro Fernández Rojas <noltari@gmail.com>
Cc: Paul Spooren <spooren@informatik.uni-leipzig.de>
Cc: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Acked-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 707b6c815bba34e9783d2695020bb17385fdcf1d)
target/linux/brcm2708/Makefile
target/linux/brcm2708/bcm2708/config-4.9
target/linux/brcm2708/bcm2709/config-4.9
target/linux/brcm2708/bcm2710/config-4.9
target/linux/brcm2708/image/Makefile
target/linux/brcm2708/image/cmdline.txt