X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=include%2Fimage.mk;h=53919052e9f0bcf777bb140746df51c2e4cf3655;hb=fbb05ce06320075ebfd062c5220c399fd45409ed;hp=f5f1c8fb54fe41ff09ba2e3952c632daf3f1894b;hpb=05625233edb53fb9bcf053b35bcb3e6d4e2233b5;p=openwrt%2Fopenwrt.git diff --git a/include/image.mk b/include/image.mk index f5f1c8fb54..53919052e9 100644 --- a/include/image.mk +++ b/include/image.mk @@ -35,7 +35,7 @@ ifeq ($(CONFIG_JFFS2_LZMA),y) JFFS2OPTS += -X lzma --compression-mode=size endif ifneq ($(CONFIG_JFFS2_RTIME),y) - JFFS2OPTS += -x rtime + JFFS2OPTS += -x rtime endif ifneq ($(CONFIG_JFFS2_ZLIB),y) JFFS2OPTS += -x zlib @@ -67,9 +67,13 @@ define add_jffs2_mark echo -ne '\xde\xad\xc0\xde' >> $(1) endef -# pad to 4k, 8k, 64k, 128k 256k and add jffs2 end-of-filesystem mark +define toupper +$(shell echo $(1) | tr '[:lower:]' '[:upper:]') +endef + +# pad to 4k, 8k, 16k, 64k, 128k, 256k and add jffs2 end-of-filesystem mark define prepare_generic_squashfs - $(STAGING_DIR_HOST)/bin/padjffs2 $(1) 4 8 64 128 256 + $(STAGING_DIR_HOST)/bin/padjffs2 $(1) 4 8 16 64 128 256 endef ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) @@ -82,6 +86,18 @@ else endef endif +define Image/BuildKernel/MkuImage + mkimage -A $(ARCH) -O linux -T kernel -C $(1) -a $(2) -e $(3) \ + -n '$(call toupper,$(ARCH)) OpenWrt Linux-$(LINUX_VERSION)' -d $(4) $(5) +endef + +define Image/BuildKernel/MkFIT + $(TOPDIR)/scripts/mkits.sh \ + -D $(1) -o $(KDIR)/fit-$(1).its -k $(2) -d $(3) -C $(4) -a $(5) -e $(6) \ + -A $(ARCH) -v $(LINUX_VERSION) + PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/fit-$(1).its $(KDIR)/fit-$(1)$(7).itb +endef + define Image/mkfs/jffs2/sub # FIXME: removing this line will cause strange behaviour in the foreach loop below $(STAGING_DIR_HOST)/bin/mkfs.jffs2 $(3) --pad -e $(patsubst %k,%KiB,$(1)) -o $(KDIR)/root.jffs2-$(2) -d $(TARGET_DIR) -v 2>&1 1>/dev/null | awk '/^.+$$$$/' @@ -114,21 +130,43 @@ ifneq ($(CONFIG_TARGET_ROOTFS_SQUASHFS),) endif ifneq ($(CONFIG_TARGET_ROOTFS_UBIFS),) + define Image/mkfs/ubifs/generate + $(CP) ./ubinize$(1).cfg $(KDIR) + ( cd $(KDIR); \ + $(STAGING_DIR_HOST)/bin/ubinize \ + $(if $($(PROFILE)_UBI_OPTS), \ + $(shell echo $($(PROFILE)_UBI_OPTS)), \ + $(shell echo $(UBI_OPTS)) \ + ) \ + -o $(KDIR)/root$(1).ubi \ + ubinize$(1).cfg \ + ) + endef + define Image/mkfs/ubifs - $(CP) ./ubinize.cfg $(KDIR) + + ifneq ($($(PROFILE)_UBIFS_OPTS)$(UBIFS_OPTS),) $(STAGING_DIR_HOST)/bin/mkfs.ubifs \ - $(UBIFS_OPTS) \ + $(if $($(PROFILE)_UBIFS_OPTS), \ + $(shell echo $($(PROFILE)_UBIFS_OPTS)), \ + $(shell echo $(UBIFS_OPTS)) \ + ) \ $(if $(CONFIG_TARGET_UBIFS_FREE_SPACE_FIXUP),--space-fixup) \ $(if $(CONFIG_TARGET_UBIFS_COMPRESSION_NONE),--force-compr=none) \ $(if $(CONFIG_TARGET_UBIFS_COMPRESSION_LZO),--force-compr=lzo) \ $(if $(CONFIG_TARGET_UBIFS_COMPRESSION_ZLIB),--force-compr=zlib) \ - --jrn-size=$(CONFIG_TARGET_UBIFS_JOURNAL_SIZE) \ + $(if $(shell echo $(CONFIG_TARGET_UBIFS_JOURNAL_SIZE)),--jrn-size=$(CONFIG_TARGET_UBIFS_JOURNAL_SIZE)) \ + --squash-uids \ -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) + endif + $(call Image/Build,ubifs) + + ifneq ($($(PROFILE)_UBI_OPTS)$(UBI_OPTS),) + $(call Image/mkfs/ubifs/generate,) + $(if $(wildcard ./ubinize-overlay.cfg),$(call Image/mkfs/ubifs/generate,-overlay)) + endif + $(call Image/Build,ubi) endef endif