|
@@ -91,50 +91,78 @@
|
|
|
|
|
|
--- a/include/image.mk
|
|
|
+++ b/include/image.mk
|
|
|
-@@ -7,6 +7,7 @@ include $(INCLUDE_DIR)/prereq.mk
|
|
|
- include $(INCLUDE_DIR)/kernel.mk
|
|
|
- include $(INCLUDE_DIR)/version.mk
|
|
|
- include $(INCLUDE_DIR)/image-commands.mk
|
|
|
-+-include $(TOPDIR)/.profiles.mk
|
|
|
-
|
|
|
- ifndef IB
|
|
|
- ifdef CONFIG_TARGET_PER_DEVICE_ROOTFS
|
|
|
-@@ -292,11 +293,34 @@ define Image/gzip-ext4-padded-squashfs
|
|
|
-
|
|
|
- endef
|
|
|
+@@ -300,6 +300,44 @@ ifdef CONFIG_TARGET_ROOTFS_TARGZ
|
|
|
+ endef
|
|
|
+ endif
|
|
|
|
|
|
-+ROOTFSTZ = $(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))-rootfs.tar.gz
|
|
|
- ifdef CONFIG_TARGET_ROOTFS_TARGZ
|
|
|
- define Image/Build/targz
|
|
|
- $(TAR) -cp --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name \
|
|
|
- $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
|
|
|
-- -C $(TARGET_DIR)/ . | gzip -9n > $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))-rootfs.tar.gz
|
|
|
-+ -C $(TARGET_DIR)/ . | gzip -9n > $(BIN_DIR)/$(ROOTFSTZ)
|
|
|
++define Device/Build/targz
|
|
|
++ $$(_TARGET): $(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \
|
|
|
++ $(BUILD_DIR)/json_info_files/$$(ROOTFSTZ).json, \
|
|
|
++ $(BIN_DIR)/$$(ROOTFSTZ))
|
|
|
++
|
|
|
++ $(call Device/Export,$(BUILD_DIR)/json_info_files/$$(ROOTFSTZ).json,$(1))
|
|
|
+
|
|
|
-+ mkdir $(BUILD_DIR)/json_info_files
|
|
|
-+ touch $(BUILD_DIR)/json_info_files/$(ROOTFSTZ).json
|
|
|
++ $(BUILD_DIR)/json_info_files/$$(ROOTFSTZ).json: $(BIN_DIR)/$$(ROOTFSTZ)
|
|
|
+ @mkdir -p $$(shell dirname $$@)
|
|
|
-+ DEVICE_ID="$(PROFILE_SANITIZED)" \
|
|
|
++ DEVICE_ID="$(1)" \
|
|
|
+ SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \
|
|
|
-+ FILE_NAME="$(ROOTFSTZ)" \
|
|
|
++ FILE_NAME="$$(notdir $$^)" \
|
|
|
+ FILE_DIR="$(BIN_DIR)" \
|
|
|
+ FILE_TYPE="rootfs" \
|
|
|
+ FILE_FILESYSTEM="rootfs" \
|
|
|
-+ DEVICE_IMG_PREFIX="$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))" \
|
|
|
-+ DEVICE_VENDOR="$(shell echo $($(PROFILE)_NAME) | cut -d " " -f1)" \
|
|
|
-+ DEVICE_MODEL="$(shell echo $($(PROFILE)_NAME) | cut -d " " -f2-)" \
|
|
|
-+ DEVICE_VARIANT="$(DEVICE_VARIANT)" \
|
|
|
-+ DEVICE_TITLE="$($(PROFILE)_NAME)" \
|
|
|
-+ DEVICE_PACKAGES="$($(PROFILE)_PACKAGES)" \
|
|
|
++ DEVICE_IMG_PREFIX="$$(DEVICE_IMG_PREFIX)" \
|
|
|
++ DEVICE_VENDOR="$$(DEVICE_VENDOR)" \
|
|
|
++ DEVICE_MODEL="$$(DEVICE_MODEL)" \
|
|
|
++ DEVICE_VARIANT="$$(DEVICE_VARIANT)" \
|
|
|
++ DEVICE_ALT0_VENDOR="$$(DEVICE_ALT0_VENDOR)" \
|
|
|
++ DEVICE_ALT0_MODEL="$$(DEVICE_ALT0_MODEL)" \
|
|
|
++ DEVICE_ALT0_VARIANT="$$(DEVICE_ALT0_VARIANT)" \
|
|
|
++ DEVICE_ALT1_VENDOR="$$(DEVICE_ALT1_VENDOR)" \
|
|
|
++ DEVICE_ALT1_MODEL="$$(DEVICE_ALT1_MODEL)" \
|
|
|
++ DEVICE_ALT1_VARIANT="$$(DEVICE_ALT1_VARIANT)" \
|
|
|
++ DEVICE_ALT2_VENDOR="$$(DEVICE_ALT2_VENDOR)" \
|
|
|
++ DEVICE_ALT2_MODEL="$$(DEVICE_ALT2_MODEL)" \
|
|
|
++ DEVICE_ALT2_VARIANT="$$(DEVICE_ALT2_VARIANT)" \
|
|
|
++ DEVICE_TITLE="$$(DEVICE_TITLE)" \
|
|
|
++ DEVICE_PACKAGES="$$(DEVICE_PACKAGES)" \
|
|
|
+ TARGET="$(BOARD)" \
|
|
|
+ SUBTARGET="$(if $(SUBTARGET),$(SUBTARGET),generic)" \
|
|
|
+ VERSION_NUMBER="$(VERSION_NUMBER)" \
|
|
|
+ VERSION_CODE="$(VERSION_CODE)" \
|
|
|
-+ SUPPORTED_DEVICES="$($(PROFILE)_SUPPORTED_DEVICES)" \
|
|
|
-+ $(TOPDIR)/scripts/json_add_image_info.py $(BUILD_DIR)/json_info_files/$(ROOTFSTZ).json
|
|
|
- endef
|
|
|
- endif
|
|
|
++ SUPPORTED_DEVICES="$$(SUPPORTED_DEVICES)" \
|
|
|
++ $(TOPDIR)/scripts/json_add_image_info.py $$@
|
|
|
++endef
|
|
|
++
|
|
|
+ ifdef CONFIG_TARGET_ROOTFS_CPIOGZ
|
|
|
+ define Image/Build/cpiogz
|
|
|
+ ( cd $(TARGET_DIR); find . | $(STAGING_DIR_HOST)/bin/cpio -o -H newc -R 0:0 | gzip -9n >$(BIN_DIR)/$(IMG_ROOTFS).cpio.gz )
|
|
|
+@@ -367,6 +405,7 @@ define Device/Init
|
|
|
+ DEVICE_IMG_PREFIX := $(IMG_PREFIX)-$(1)
|
|
|
+ DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1)-$$(2)
|
|
|
+ IMAGE_SIZE :=
|
|
|
++ ROOTFSTZ = $$(DEVICE_IMG_PREFIX)-rootfs.tar.gz
|
|
|
+ KERNEL_PREFIX = $$(DEVICE_IMG_PREFIX)
|
|
|
+ KERNEL_SUFFIX := -kernel.bin
|
|
|
+ KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX)
|
|
|
+@@ -567,7 +606,7 @@ define Device/Build/kernel
|
|
|
+ endef
|
|
|
|
|
|
+ define Device/Build/image
|
|
|
+- GZ_SUFFIX := $(if $(filter %dtb %gz,$(2)),,$(if $(and $(findstring ext4,$(1)),$(CONFIG_TARGET_IMAGES_GZIP)),.gz))
|
|
|
++ GZ_SUFFIX := $(if $(filter %dtb %gz,$(2)),,$(if $(and $(findstring ext4,$(1)),$(findstring img,$(2)),$(CONFIG_TARGET_IMAGES_GZIP)),.gz))
|
|
|
+ $$(_TARGET): $(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \
|
|
|
+ $(BUILD_DIR)/json_info_files/$(call DEVICE_IMG_NAME,$(1),$(2)).json, \
|
|
|
+ $(BIN_DIR)/$(call DEVICE_IMG_NAME,$(1),$(2))$$(GZ_SUFFIX))
|
|
|
+@@ -677,6 +716,8 @@ define Device/Build
|
|
|
+ $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),$(call Device/Build/initramfs,$(1)))
|
|
|
+ $(call Device/Build/kernel,$(1))
|
|
|
+
|
|
|
++ $(if $(CONFIG_TARGET_ROOTFS_TARGZ),$(call Device/Build/targz,$(PROFILE_SANITIZED)))
|
|
|
++
|
|
|
+ $$(eval $$(foreach compile,$$(COMPILE), \
|
|
|
+ $$(call Device/Build/compile,$$(compile),$(1))))
|
|
|
+
|
|
|
+
|
|
|
--- a/scripts/json_overview_image_info.py
|
|
|
+++ b/scripts/json_overview_image_info.py
|
|
|
@@ -47,7 +47,7 @@ def get_initial_output(image_info):
|
|
@@ -142,15 +170,27 @@
|
|
|
|
|
|
if output:
|
|
|
- default_packages, output["arch_packages"] = run(
|
|
|
-+ default_packages, output["arch_packages"], output["kernel_version"] = run(
|
|
|
++ default_packages, output["arch_packages"], output["kernel_version"], output["initramfs"] = run(
|
|
|
[
|
|
|
"make",
|
|
|
"--no-print-directory",
|
|
|
-@@ -55,6 +55,7 @@ def get_initial_output(image_info):
|
|
|
+@@ -55,6 +55,8 @@ def get_initial_output(image_info):
|
|
|
"target/linux/",
|
|
|
"val.DEFAULT_PACKAGES",
|
|
|
"val.ARCH_PACKAGES",
|
|
|
+ "val.LINUX_VERSION",
|
|
|
++ "val.KERNEL_INITRAMFS",
|
|
|
],
|
|
|
stdout=PIPE,
|
|
|
stderr=PIPE,
|
|
|
+
|
|
|
+--- a/rules.mk
|
|
|
++++ b/rules.mk
|
|
|
+@@ -59,6 +59,7 @@ _SINGLE=export MAKEFLAGS=$(space);
|
|
|
+ CFLAGS:=
|
|
|
+ ARCH:=$(subst i486,i386,$(subst i586,i386,$(subst i686,i386,$(call qstrip,$(CONFIG_ARCH)))))
|
|
|
+ ARCH_PACKAGES:=$(call qstrip,$(CONFIG_TARGET_ARCH_PACKAGES))
|
|
|
++KERNEL_INITRAMFS:=$(call qstrip,$(CONFIG_TARGET_ROOTFS_INITRAMFS))
|
|
|
+ BOARD:=$(call qstrip,$(CONFIG_TARGET_BOARD))
|
|
|
+ SUBTARGET:=$(call qstrip,$(CONFIG_TARGET_SUBTARGET))
|
|
|
+ TARGET_OPTIMIZATION:=$(call qstrip,$(CONFIG_TARGET_OPTIMIZATION))
|