From 7092bd901d26e2aeeec44625f92d2b25fc28539c Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Mon, 6 Apr 2009 09:21:36 +0000 Subject: squashfs: add v4.0 support and version selection Squashfs 4.0 is needed to create file systems for the mainline squashfs version (mainline from 2.6.29). This is unfortunately not compatible with the old 3.x version and the external kernel patches, so add a choice between the 2 versions. --- target/squashfs/Config.in | 26 ++++++++++++++++++++++++++ target/squashfs/squashfsroot.mk | 6 +++++- 2 files changed, 31 insertions(+), 1 deletion(-) (limited to 'target') diff --git a/target/squashfs/Config.in b/target/squashfs/Config.in index 297db951e..9259ba350 100644 --- a/target/squashfs/Config.in +++ b/target/squashfs/Config.in @@ -4,3 +4,29 @@ config BR2_TARGET_ROOTFS_SQUASHFS help Build a squashfs root filesystem +choice + prompt "Squashfs version" + default BR2_TARGET_ROOTFS_SQUASHFS_4 + depends on BR2_TARGET_ROOTFS_SQUASHFS + help + Select squashfs version - This must match what your kernel + supports. Select 3.x if you use the legacy 3.x kernel + patches (pre 2.6.29), and 4.x otherwise. + +config BR2_TARGET_ROOTFS_SQUASHFS_3 + depends on BR2_DEPRECATED || BR2_RECENT + bool "3.x" + help + Select this if you use the legacy 3.x kernel patches (pre 2.6.29) + +config BR2_TARGET_ROOTFS_SQUASHFS_4 + bool "4.x" + help + Select this if you use the squashfs version in mainline (from 2.6.29) + +endchoice + +config BR2_TARGET_ROOTFS_SQUASHFS_VERSION + string + default "3.4" if BR2_TARGET_ROOTFS_SQUASHFS_3 + default "4.0" if BR2_TARGET_ROOTFS_SQUASHFS_4 diff --git a/target/squashfs/squashfsroot.mk b/target/squashfs/squashfsroot.mk index 00bd960c7..167f57986 100644 --- a/target/squashfs/squashfsroot.mk +++ b/target/squashfs/squashfsroot.mk @@ -3,7 +3,8 @@ # mksquashfs to build to target squashfs filesystems # ############################################################# -SQUASHFS_VERSION:=3.4 +SQUASHFS_VERSION:=$(strip $(subst ",,$(BR2_TARGET_ROOTFS_SQUASHFS_VERSION))) +#")) SQUASHFS_DIR:=$(BUILD_DIR)/squashfs$(SQUASHFS_VERSION) SQUASHFS_SOURCE:=squashfs$(SQUASHFS_VERSION).tar.gz SQUASHFS_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/squashfs @@ -35,11 +36,14 @@ squashfs-dirclean: # Build the squashfs root filesystem image # ############################################################# +ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS_3),y) +# 4.x is always little endian ifeq ($(BR2_ENDIAN),"BIG") SQUASHFS_ENDIANNESS=-be else SQUASHFS_ENDIANNESS=-le endif +endif SQUASHFS_TARGET:=$(IMAGE).squashfs -- cgit v1.2.3