X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=include%2Fimage.mk;h=60cde014de857b203824ff4f0cb05c4bb957c164;hb=577d1f28af41e91b332a86133401ad50c5650ac0;hp=473e391ae4d414f09c0fb9678ece849922890e4f;hpb=bc53008b155b6a834c2a617de91332b6e113a2c3;p=openwrt.git diff --git a/include/image.mk b/include/image.mk index 473e391ae4..60cde014de 100644 --- a/include/image.mk +++ b/include/image.mk @@ -18,9 +18,9 @@ KDIR=$(KERNEL_BUILD_DIR) IMG_PREFIX:=openwrt-$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET)) ifneq ($(CONFIG_BIG_ENDIAN),) - JFFS2OPTS := --pad --big-endian --squash -v + JFFS2OPTS := --pad --big-endian --squash-uids -v else - JFFS2OPTS := --pad --little-endian --squash -v + JFFS2OPTS := --pad --little-endian --squash-uids -v endif ifeq ($(CONFIG_JFFS2_RTIME),y) @@ -50,7 +50,10 @@ ifeq ($(CONFIG_SQUASHFS_LZMA),y) SQUASHFSCOMP := lzma $(LZMA_XZ_OPTIONS) endif ifeq ($(CONFIG_SQUASHFS_XZ),y) - SQUASHFSCOMP := xz $(LZMA_XZ_OPTIONS) + ifneq ($(filter arm x86 powerpc sparc,$(LINUX_KARCH)),) + BCJ_FILTER:=-Xbcj $(LINUX_KARCH) + endif + SQUASHFSCOMP := xz $(LZMA_XZ_OPTIONS) $(BCJ_FILTER) endif JFFS2_BLOCKSIZE ?= 64k 128k @@ -74,15 +77,25 @@ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) else - ifneq ($(CONFIG_TARGET_ROOTFS_JFFS2),) - define Image/mkfs/jffs2/sub + define Image/mkfs/jffs2/sub # FIXME: removing this line will cause strange behaviour in the foreach loop below - $(STAGING_DIR_HOST)/bin/mkfs.jffs2 $(JFFS2OPTS) -e $(patsubst %k,%KiB,$(1)) -o $(KDIR)/root.jffs2-$(1) -d $(TARGET_DIR) -v 2>&1 1>/dev/null | awk '/^.+$$$$/' - $(call add_jffs2_mark,$(KDIR)/root.jffs2-$(1)) - $(call Image/Build,jffs2-$(1)) - endef + $(STAGING_DIR_HOST)/bin/mkfs.jffs2 $(3) -e $(patsubst %k,%KiB,$(1)) -o $(KDIR)/root.jffs2-$(2) -d $(TARGET_DIR) -v 2>&1 1>/dev/null | awk '/^.+$$$$/' + $(call add_jffs2_mark,$(KDIR)/root.jffs2-$(2)) + $(call Image/Build,jffs2-$(2)) + endef + + ifneq ($(CONFIG_TARGET_ROOTFS_JFFS2),) define Image/mkfs/jffs2 - $(foreach SZ,$(JFFS2_BLOCKSIZE),$(call Image/mkfs/jffs2/sub,$(SZ))) + $(foreach SZ,$(JFFS2_BLOCKSIZE),$(call Image/mkfs/jffs2/sub,$(SZ),$(SZ),$(JFFS2OPS))) + endef + endif + + ifneq ($(CONFIG_TARGET_ROOTFS_JFFS2_NAND),) + define Image/mkfs/jffs2_nand + $(foreach SZ,$(NAND_BLOCKSIZE), $(call Image/mkfs/jffs2/sub, \ + $(word 2,$(subst :, ,$(SZ))),nand-$(subst :,-,$(SZ)), \ + $(JFFS2OPTS) --no-cleanmarkers --pagesize=$(word 1,$(subst :, ,$(SZ)))) \ + ) endef endif @@ -98,6 +111,7 @@ else define Image/mkfs/ubifs $(CP) ./ubinize.cfg $(KDIR) $(STAGING_DIR_HOST)/bin/mkfs.ubifs $(UBIFS_OPTS) -o $(KDIR)/root.ubifs -d $(TARGET_DIR) + $(call Image/Build,ubifs) (cd $(KDIR); \ $(STAGING_DIR_HOST)/bin/ubinize $(UBINIZE_OPTS) -o $(KDIR)/root.ubi ubinize.cfg) $(call Image/Build,ubi) @@ -124,7 +138,7 @@ ifneq ($(CONFIG_TARGET_ROOTFS_EXT4FS),) define Image/mkfs/ext4 # generate an ext2 fs - $(STAGING_DIR_HOST)/bin/genext2fs -U -b $(E2SIZE) -N $(CONFIG_TARGET_ROOTFS_MAXINODE) -d $(TARGET_DIR)/ $(KDIR)/root.ext4 + $(STAGING_DIR_HOST)/bin/genext2fs -U -b $(E2SIZE) -N $(CONFIG_TARGET_ROOTFS_MAXINODE) -d $(TARGET_DIR)/ $(KDIR)/root.ext4 -m $(CONFIG_TARGET_ROOTFS_RESERVED_PCT) # convert it to ext4 $(STAGING_DIR_HOST)/bin/tune2fs -O extents,uninit_bg,dir_index $(KDIR)/root.ext4 # fix it up @@ -142,11 +156,11 @@ endif define Image/mkfs/prepare/default # Use symbolic permissions to avoid clobbering SUID/SGID/sticky bits - - $(FIND) $(TARGET_DIR) -type f -not -perm +0100 -not -name 'ssh_host*' -print0 | $(XARGS) -0 chmod u+rw,g+r,o+r + - $(FIND) $(TARGET_DIR) -type f -not -perm +0100 -not -name 'ssh_host*' -not -name 'shadow' -print0 | $(XARGS) -0 chmod u+rw,g+r,o+r - $(FIND) $(TARGET_DIR) -type f -perm +0100 -print0 | $(XARGS) -0 chmod u+rwx,g+rx,o+rx - $(FIND) $(TARGET_DIR) -type d -print0 | $(XARGS) -0 chmod u+rwx,g+rx,o+rx $(INSTALL_DIR) $(TARGET_DIR)/tmp - chmod 0777 $(TARGET_DIR)/tmp + chmod 1777 $(TARGET_DIR)/tmp endef define Image/mkfs/prepare @@ -184,6 +198,7 @@ define BuildImage $(call Image/mkfs/ext4) $(call Image/mkfs/iso) $(call Image/mkfs/jffs2) + $(call Image/mkfs/jffs2_nand) $(call Image/mkfs/squashfs) $(call Image/mkfs/ubifs) $(call Image/Checksum) @@ -195,6 +210,7 @@ define BuildImage $(call Image/mkfs/ext4) $(call Image/mkfs/iso) $(call Image/mkfs/jffs2) + $(call Image/mkfs/jffs2_nand) $(call Image/mkfs/squashfs) $(call Image/mkfs/ubifs) $(call Image/Checksum)