summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2009-04-06 09:21:36 +0000
committerPeter Korsgaard <jacmet@sunsite.dk>2009-04-06 09:21:36 +0000
commit7092bd901d26e2aeeec44625f92d2b25fc28539c (patch)
tree5b8a57d1ac81a8d30568baa3a0769e1fd412e2eb
parent2b380f816007dce8531aaaee262207788974dfe3 (diff)
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.
-rw-r--r--target/squashfs/Config.in26
-rw-r--r--target/squashfs/squashfsroot.mk6
2 files changed, 31 insertions, 1 deletions
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