X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=include%2Fimage.mk;h=6b2fb1afd86b7093869e1e3c0656bf5f3f235852;hb=7c1a9ff609b6506010572d88ad4f07021b77e85b;hp=4e22fa59a0f2f76c2778010e80238699608e8824;hpb=8023dc00fae329633433706e22c64e3501b01ef6;p=openwrt.git diff --git a/include/image.mk b/include/image.mk index 4e22fa59a0..6b2fb1afd8 100644 --- a/include/image.mk +++ b/include/image.mk @@ -16,7 +16,7 @@ override NO_TRACE_MAKE:=$(_SINGLE)$(NO_TRACE_MAKE) KDIR=$(KERNEL_BUILD_DIR) KDIR_TMP=$(KDIR)/tmp -DTS_DIR:=$(LINUX_DIR)/arch/$(ARCH)/boot/dts/ +DTS_DIR:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts IMG_PREFIX:=openwrt-$(if $(CONFIG_VERSION_FILENAMES),$(VERSION_NUMBER)-)$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET)) @@ -89,6 +89,16 @@ define toupper $(shell echo $(1) | tr '[:lower:]' '[:upper:]') endef +define tolower +$(shell echo $(1) | tr '[:upper:]' '[:lower:]') +endef + +define sanitize +$(shell echo $(call tolower,$(1)) | sed 's/_/-/g') +endef + +PROFILE_SANITIZED := $(call sanitize,$(PROFILE)) + define split_args $(foreach data, \ $(subst |,$(space),\ @@ -133,8 +143,8 @@ endef # $(4) extra DTC flags define Image/BuildDTB $(CPP) -nostdinc -x assembler-with-cpp \ - -I$(LINUX_DIR)/arch/$(ARCH)/boot/dts \ - -I$(LINUX_DIR)/arch/$(ARCH)/boot/dts/include \ + -I$(DTS_DIR) \ + -I$(DTS_DIR)/include \ -undef -D__DTS__ $(3) \ -o $(2).tmp $(1) $(LINUX_DIR)/scripts/dtc/dtc -O dtb \ @@ -245,7 +255,7 @@ define Image/mkfs/cpiogz endef define Image/mkfs/targz - $(TAR) -czpf $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE),-$(PROFILE))-rootfs.tar.gz --numeric-owner --owner=0 --group=0 --sort=name -C $(TARGET_DIR)/ . + $(TAR) -czpf $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))-rootfs.tar.gz --numeric-owner --owner=0 --group=0 --sort=name -C $(TARGET_DIR)/ . endef E2SIZE=$(shell echo $$(($(CONFIG_TARGET_ROOTFS_PARTSIZE)*1024*1024))) @@ -337,6 +347,21 @@ define Build/gzip @mv $@.new $@ endef +define Build/jffs2 + rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 && \ + mkdir -p $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$$(dirname $(1)) && \ + cp $@ $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$(1) && \ + $(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad \ + $(if $(CONFIG_BIG_ENDIAN),--big-endian,--little-endian) \ + --squash-uids -v -e $(patsubst %k,%KiB,$(BLOCKSIZE)) \ + -o $@.new \ + -d $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 \ + 2>&1 1>/dev/null | awk '/^.+$$$$/' && \ + $(STAGING_DIR_HOST)/bin/padjffs2 $@.new -J $(patsubst %k,,$(BLOCKSIZE)) + -rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/ + @mv $@.new $@ +endef + define Build/kernel-bin rm -f $@ cp $^ $@ @@ -359,7 +384,8 @@ define Build/append-ubi $(if $(KERNEL_IN_UBI),--kernel $(word 1,$^)) \ $(word 2,$^) \ $@.tmp \ - -p $(BLOCKSIZE) -m $(PAGESIZE) -E 5 + -p $(BLOCKSIZE) -m $(PAGESIZE) -E 5 \ + $(if $(SUBPAGESIZE),-s $(SUBPAGESIZE)) cat $@.tmp >> $@ rm $@.tmp endef @@ -422,6 +448,7 @@ define Device/Init KERNEL_IMAGE = $$(KERNEL_PREFIX)$$(KERNEL_SUFFIX) KERNEL_INITRAMFS_PREFIX = $$(IMAGE_PREFIX)-initramfs KERNEL_INITRAMFS_IMAGE = $$(KERNEL_INITRAMFS_PREFIX)$$(KERNEL_SUFFIX) + KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs KERNEL_INSTALL := KERNEL_NAME := vmlinux KERNEL_SIZE := @@ -448,11 +475,11 @@ define Device/Build/initramfs $(call Device/Export,$(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE),$(1)) $$(_TARGET): $(BIN_DIR)/$$(KERNEL_INITRAMFS_IMAGE) - $(KDIR)/$$(KERNEL_NAME)-initramfs: image_prepare + $(KDIR)/$$(KERNEL_INITRAMFS_NAME): image_prepare $(BIN_DIR)/$$(KERNEL_INITRAMFS_IMAGE): $(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE) cp $$^ $$@ - $(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE): $(KDIR)/$$(KERNEL_NAME)-initramfs + $(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE): $(KDIR)/$$(KERNEL_INITRAMFS_NAME) @rm -f $$@ $$(call concat_cmd,$$(KERNEL_INITRAMFS)) endef