X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/2bb798169d0ed5dc2b3d9b21a417a0d606c94994..3047c0ecc311fb92179046be48414cc570d75d0b:/include/image.mk

diff --git a/include/image.mk b/include/image.mk
index 7de2d6346..847e01c2d 100644
--- a/include/image.mk
+++ b/include/image.mk
@@ -23,6 +23,17 @@ JFFS2OPTS     :=  --pad --big-endian --squash
 SQUASHFS_OPTS :=  -be
 endif
 
+ifneq ($(CONFIG_LINUX_2_6_30),)
+USE_SQUASHFS4 := y
+endif
+
+ifneq ($(USE_SQUASHFS4),)
+MKSQUASHFS_CMD := $(STAGING_DIR_HOST)/bin/mksquashfs4
+SQUASHFS_OPTS  := -lzma
+else
+MKSQUASHFS_CMD := $(STAGING_DIR_HOST)/bin/mksquashfs-lzma
+endif
+
 JFFS2_BLOCKSIZE ?= 64k 128k
 
 define add_jffs2_mark
@@ -55,7 +66,7 @@ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
   ifeq ($(CONFIG_TARGET_ROOTFS_SQUASHFS),y)
     define Image/mkfs/squashfs
 		@mkdir -p $(TARGET_DIR)/jffs
-		$(STAGING_DIR_HOST)/bin/mksquashfs-lzma $(TARGET_DIR) $(KDIR)/root.squashfs -nopad -noappend -root-owned $(SQUASHFS_OPTS)
+		$(MKSQUASHFS_CMD) $(TARGET_DIR) $(KDIR)/root.squashfs -nopad -noappend -root-owned $(SQUASHFS_OPTS)
 		$(call Image/Build,squashfs)
     endef
   endif
@@ -103,9 +114,9 @@ endif
 
 
 define Image/mkfs/prepare/default
-	find $(TARGET_DIR) -type f -not -perm +0100 -not -name 'ssh_host*' | $(XARGS) chmod 0644
-	find $(TARGET_DIR) -type f -perm +0100 | $(XARGS) chmod 0755
-	find $(TARGET_DIR) -type d | $(XARGS) chmod 0755
+	- find $(TARGET_DIR) -type f -not -perm +0100 -not -name 'ssh_host*' | $(XARGS) chmod 0644
+	- find $(TARGET_DIR) -type f -perm +0100 | $(XARGS) chmod 0755
+	- find $(TARGET_DIR) -type d | $(XARGS) chmod 0755
 	$(INSTALL_DIR) $(TARGET_DIR)/tmp
 	chmod 0777 $(TARGET_DIR)/tmp
 endef