X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=include%2Fimage.mk;h=e133f7212c3473372b3106ee4eac2785c97b6621;hp=0b2d3e358963ec9aaa818713f807cd51178025df;hb=7b367d03131e3ea6366acd813b7ba58994705adb;hpb=07c4108af692abdaebea7a0f172722bbc5f6e69c diff --git a/include/image.mk b/include/image.mk index 0b2d3e3589..e133f7212c 100644 --- a/include/image.mk +++ b/include/image.mk @@ -23,15 +23,15 @@ JFFS2OPTS := --pad --big-endian --squash SQUASHFS_OPTS := -be endif -ifneq ($(CONFIG_LINUX_2_6_30),) -USE_SQUASHFS4 := y +ifneq ($(CONFIG_LINUX_2_4)$(CONFIG_LINUX_2_6_25),) +USE_SQUASHFS3 := y endif -ifneq ($(USE_SQUASHFS4),) -MKSQUASHFS_CMD := $(STAGING_DIR_HOST)/bin/mksquashfs4 -SQUASHFS_OPTS := -lzma -else +ifneq ($(USE_SQUASHFS3),) MKSQUASHFS_CMD := $(STAGING_DIR_HOST)/bin/mksquashfs-lzma +else +MKSQUASHFS_CMD := $(STAGING_DIR_HOST)/bin/mksquashfs4 +SQUASHFS_OPTS := -comp lzma -processors 1 endif JFFS2_BLOCKSIZE ?= 64k 128k @@ -40,13 +40,17 @@ define add_jffs2_mark echo -ne '\xde\xad\xc0\xde' >> $(1) endef -# pad to 64k and add jffs2 end-of-filesystem mark -# do this twice to make sure that this works with 128k blocksize as well +# pad to 4k, 8k, 64k, 128k and add jffs2 end-of-filesystem mark define prepare_generic_squashfs - dd if=$(1) of=$(KDIR)/tmpfile.1 bs=64k conv=sync + dd if=$(1) of=$(KDIR)/tmpfile.0 bs=4k conv=sync + $(call add_jffs2_mark,$(KDIR)/tmpfile.0) + dd if=$(KDIR)/tmpfile.0 of=$(KDIR)/tmpfile.1 bs=4k conv=sync $(call add_jffs2_mark,$(KDIR)/tmpfile.1) - dd of=$(1) if=$(KDIR)/tmpfile.1 bs=64k conv=sync + dd if=$(KDIR)/tmpfile.1 of=$(KDIR)/tmpfile.2 bs=64k conv=sync + $(call add_jffs2_mark,$(KDIR)/tmpfile.2) + dd if=$(KDIR)/tmpfile.2 of=$(1) bs=64k conv=sync $(call add_jffs2_mark,$(1)) + rm -f $(KDIR)/tmpfile.* endef ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) @@ -82,6 +86,14 @@ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) ( cd $(TARGET_DIR); find . | cpio -o -H newc | gzip -9 >$(BIN_DIR)/openwrt-$(BOARD)-rootfs.cpio.gz ) endef endif + ifeq ($(CONFIG_TARGET_ROOTFS_UBIFS),y) + define Image/mkfs/ubifs + $(CP) ./ubinize.cfg $(KDIR) + $(STAGING_DIR_HOST)/bin/mkfs.ubifs $(UBIFS_OPTS) -o $(KDIR)/root.ubifs -d $(TARGET_DIR) + (cd $(KDIR); \ + $(STAGING_DIR_HOST)/bin/ubinize $(UBINIZE_OPTS) -o $(BIN_DIR)/openwrt-$(BOARD)-rootfs.ubi ubinize.cfg) + endef + endif else define Image/BuildKernel cp $(KDIR)/vmlinux.elf $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.elf @@ -114,9 +126,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*' -print0 | $(XARGS) -0 chmod 0644 + - $(FIND) $(TARGET_DIR) -type f -perm +0100 -print0 | $(XARGS) -0 chmod 0755 + - $(FIND) $(TARGET_DIR) -type d -print0 | $(XARGS) -0 chmod 0755 $(INSTALL_DIR) $(TARGET_DIR)/tmp chmod 0777 $(TARGET_DIR)/tmp endef @@ -146,6 +158,7 @@ ifneq ($(IB),1) $(call Image/mkfs/cpiogz) $(call Image/mkfs/ext2) $(call Image/mkfs/iso) + $(call Image/mkfs/ubifs) $(call Image/Checksum) else install: compile install-targets @@ -156,6 +169,7 @@ else $(call Image/mkfs/cpiogz) $(call Image/mkfs/ext2) $(call Image/mkfs/iso) + $(call Image/mkfs/ubifs) $(call Image/Checksum) endif