diff options
author | Christian Lamparter <chunkeey@gmail.com> | 2018-03-27 19:42:18 +0200 |
---|---|---|
committer | John Crispin <john@phrozen.org> | 2018-05-24 17:24:30 +0200 |
commit | fff02093e602f7c49161746305a4b13c1a2bb441 (patch) | |
tree | e86b2638371017b72204090b5aa4d317d2c326e3 | |
parent | efdfb253d84a853a3f3efda6b11e958cf5f197ee (diff) | |
download | upstream-fff02093e602f7c49161746305a4b13c1a2bb441.tar.gz upstream-fff02093e602f7c49161746305a4b13c1a2bb441.tar.bz2 upstream-fff02093e602f7c49161746305a4b13c1a2bb441.zip |
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)
-rw-r--r-- | target/linux/brcm2708/Makefile | 5 | ||||
-rw-r--r-- | target/linux/brcm2708/bcm2708/config-4.9 | 6 | ||||
-rw-r--r-- | target/linux/brcm2708/bcm2709/config-4.9 | 6 | ||||
-rw-r--r-- | target/linux/brcm2708/bcm2710/config-4.9 | 6 | ||||
-rw-r--r-- | target/linux/brcm2708/image/Makefile | 1 | ||||
-rw-r--r-- | target/linux/brcm2708/image/cmdline.txt | 2 |
6 files changed, 19 insertions, 7 deletions
diff --git a/target/linux/brcm2708/Makefile b/target/linux/brcm2708/Makefile index 244513dfc6..870029c4c8 100644 --- a/target/linux/brcm2708/Makefile +++ b/target/linux/brcm2708/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk ARCH:=arm BOARD:=brcm2708 BOARDNAME:=Broadcom BCM27xx -FEATURES:=ext4 audio usb usbgadget display gpio fpu +FEATURES:=ext4 audio usb usbgadget display gpio fpu squashfs MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com> SUBTARGETS:=bcm2708 bcm2709 bcm2710 @@ -27,7 +27,8 @@ DEFAULT_PACKAGES += \ kmod-usb-hid \ kmod-sound-core kmod-sound-arm-bcm2835 \ kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 \ - brcmfmac-firmware-43430-sdio kmod-brcmfmac wpad-mini + brcmfmac-firmware-43430-sdio kmod-brcmfmac wpad-mini \ + partx-utils mkf2fs e2fsprogs KERNELNAME:=Image dtbs diff --git a/target/linux/brcm2708/bcm2708/config-4.9 b/target/linux/brcm2708/bcm2708/config-4.9 index dccf85fac3..116dd257dd 100644 --- a/target/linux/brcm2708/bcm2708/config-4.9 +++ b/target/linux/brcm2708/bcm2708/config-4.9 @@ -141,6 +141,11 @@ CONFIG_ENABLE_MUST_CHECK=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y +# CONFIG_F2FS_CHECK_FS is not set +CONFIG_F2FS_FS=y +# CONFIG_F2FS_FS_SECURITY is not set +CONFIG_F2FS_FS_XATTR=y +CONFIG_F2FS_STAT_FS=y CONFIG_FB=y CONFIG_FB_BCM2708=y CONFIG_FB_CFB_COPYAREA=y @@ -342,7 +347,6 @@ CONFIG_SERIAL_AMBA_PL011_CONSOLE=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_SG_POOL=y CONFIG_SPARSE_IRQ=y -# CONFIG_SQUASHFS is not set CONFIG_SRCU=y # CONFIG_STRIP_ASM_SYMS is not set CONFIG_SUSPEND=y diff --git a/target/linux/brcm2708/bcm2709/config-4.9 b/target/linux/brcm2708/bcm2709/config-4.9 index 1134f0d113..4e505edced 100644 --- a/target/linux/brcm2708/bcm2709/config-4.9 +++ b/target/linux/brcm2708/bcm2709/config-4.9 @@ -155,6 +155,11 @@ CONFIG_ENABLE_MUST_CHECK=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y +# CONFIG_F2FS_CHECK_FS is not set +CONFIG_F2FS_FS=y +# CONFIG_F2FS_FS_SECURITY is not set +CONFIG_F2FS_FS_XATTR=y +CONFIG_F2FS_STAT_FS=y CONFIG_FB=y CONFIG_FB_BCM2708=y CONFIG_FB_CFB_COPYAREA=y @@ -372,7 +377,6 @@ CONFIG_SG_POOL=y CONFIG_SMP=y CONFIG_SMP_ON_UP=y CONFIG_SPARSE_IRQ=y -# CONFIG_SQUASHFS is not set CONFIG_SRCU=y # CONFIG_STRIP_ASM_SYMS is not set CONFIG_SUSPEND=y diff --git a/target/linux/brcm2708/bcm2710/config-4.9 b/target/linux/brcm2708/bcm2710/config-4.9 index 070b709a3b..2f48696d0e 100644 --- a/target/linux/brcm2708/bcm2710/config-4.9 +++ b/target/linux/brcm2708/bcm2710/config-4.9 @@ -160,6 +160,11 @@ CONFIG_ENABLE_MUST_CHECK=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y +# CONFIG_F2FS_CHECK_FS is not set +CONFIG_F2FS_FS=y +# CONFIG_F2FS_FS_SECURITY is not set +CONFIG_F2FS_FS_XATTR=y +CONFIG_F2FS_STAT_FS=y CONFIG_FB=y CONFIG_FB_BCM2708=y CONFIG_FB_CFB_COPYAREA=y @@ -388,7 +393,6 @@ CONFIG_SPARSEMEM_MANUAL=y CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y CONFIG_SPARSE_IRQ=y -# CONFIG_SQUASHFS is not set CONFIG_SRCU=y # CONFIG_STRIP_ASM_SYMS is not set CONFIG_SUSPEND=y diff --git a/target/linux/brcm2708/image/Makefile b/target/linux/brcm2708/image/Makefile index 691212de9f..326ef5a0ee 100644 --- a/target/linux/brcm2708/image/Makefile +++ b/target/linux/brcm2708/image/Makefile @@ -47,7 +47,6 @@ endef ### Devices ### define Device/Default - FILESYSTEMS := ext4 KERNEL := kernel-bin | kernel-img KERNEL_IMG := kernel.img IMAGES := sdcard.img.gz diff --git a/target/linux/brcm2708/image/cmdline.txt b/target/linux/brcm2708/image/cmdline.txt index 24f4f0c276..c1099afb00 100644 --- a/target/linux/brcm2708/image/cmdline.txt +++ b/target/linux/brcm2708/image/cmdline.txt @@ -1 +1 @@ -dwc_otg.lpm_enable=0 console=serial0,115200 kgdboc=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait +dwc_otg.lpm_enable=0 console=serial0,115200 kgdboc=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=squashfs,ext4 rootwait |