squashfs: add v4.0 support and version selection
authorPeter Korsgaard <jacmet@sunsite.dk>
Mon, 6 Apr 2009 09:21:36 +0000 (09:21 -0000)
committerPeter Korsgaard <jacmet@sunsite.dk>
Mon, 6 Apr 2009 09:21:36 +0000 (09:21 -0000)
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
target/squashfs/squashfsroot.mk

index 297db951eb1f42a746a03ff95fa40d4d8300dad0..9259ba350ebca629ada458e9a02402080d718e34 100644 (file)
@@ -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
index 00bd960c7737225b33f1b79f8b2968307d7d5bdf..167f5798636edfaf7055534035c3b2483f2fd8e6 100644 (file)
@@ -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