fix.patch 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. --- a/include/image.mk
  2. +++ b/include/image.mk
  3. @@ -300,6 +300,44 @@ ifdef CONFIG_TARGET_ROOTFS_TARGZ
  4. endef
  5. endif
  6. +define Device/Build/targz
  7. + $$(_TARGET): $(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \
  8. + $(BUILD_DIR)/json_info_files/$$(ROOTFSTZ).json, \
  9. + $(BIN_DIR)/$$(ROOTFSTZ))
  10. +
  11. + $(call Device/Export,$(BUILD_DIR)/json_info_files/$$(ROOTFSTZ).json,$(1))
  12. +
  13. + $(BUILD_DIR)/json_info_files/$$(ROOTFSTZ).json: $(BIN_DIR)/$$(ROOTFSTZ)
  14. + @mkdir -p $$(shell dirname $$@)
  15. + DEVICE_ID="$(1)" \
  16. + SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \
  17. + FILE_NAME="$$(notdir $$^)" \
  18. + FILE_DIR="$(BIN_DIR)" \
  19. + FILE_TYPE="rootfs" \
  20. + FILE_FILESYSTEM="rootfs" \
  21. + DEVICE_IMG_PREFIX="$$(DEVICE_IMG_PREFIX)" \
  22. + DEVICE_VENDOR="$$(DEVICE_VENDOR)" \
  23. + DEVICE_MODEL="$$(DEVICE_MODEL)" \
  24. + DEVICE_VARIANT="$$(DEVICE_VARIANT)" \
  25. + DEVICE_ALT0_VENDOR="$$(DEVICE_ALT0_VENDOR)" \
  26. + DEVICE_ALT0_MODEL="$$(DEVICE_ALT0_MODEL)" \
  27. + DEVICE_ALT0_VARIANT="$$(DEVICE_ALT0_VARIANT)" \
  28. + DEVICE_ALT1_VENDOR="$$(DEVICE_ALT1_VENDOR)" \
  29. + DEVICE_ALT1_MODEL="$$(DEVICE_ALT1_MODEL)" \
  30. + DEVICE_ALT1_VARIANT="$$(DEVICE_ALT1_VARIANT)" \
  31. + DEVICE_ALT2_VENDOR="$$(DEVICE_ALT2_VENDOR)" \
  32. + DEVICE_ALT2_MODEL="$$(DEVICE_ALT2_MODEL)" \
  33. + DEVICE_ALT2_VARIANT="$$(DEVICE_ALT2_VARIANT)" \
  34. + DEVICE_TITLE="$$(DEVICE_TITLE)" \
  35. + DEVICE_PACKAGES="$$(DEVICE_PACKAGES)" \
  36. + TARGET="$(BOARD)" \
  37. + SUBTARGET="$(if $(SUBTARGET),$(SUBTARGET),generic)" \
  38. + VERSION_NUMBER="$(VERSION_NUMBER)" \
  39. + VERSION_CODE="$(VERSION_CODE)" \
  40. + SUPPORTED_DEVICES="$$(SUPPORTED_DEVICES)" \
  41. + $(TOPDIR)/scripts/json_add_image_info.py $$@
  42. +endef
  43. +
  44. ifdef CONFIG_TARGET_ROOTFS_CPIOGZ
  45. define Image/Build/cpiogz
  46. ( cd $(TARGET_DIR); find . | $(STAGING_DIR_HOST)/bin/cpio -o -H newc -R 0:0 | gzip -9n >$(BIN_DIR)/$(IMG_ROOTFS).cpio.gz )
  47. @@ -367,12 +405,13 @@ define Device/Init
  48. DEVICE_IMG_PREFIX := $(IMG_PREFIX)-$(1)
  49. DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1)-$$(2)
  50. IMAGE_SIZE :=
  51. + ROOTFSTZ = $$(DEVICE_IMG_PREFIX)-rootfs.tar.gz
  52. KERNEL_PREFIX = $$(DEVICE_IMG_PREFIX)
  53. KERNEL_SUFFIX := -kernel.bin
  54. KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX)
  55. KERNEL_IMAGE = $$(KERNEL_PREFIX)$$(KERNEL_SUFFIX)
  56. KERNEL_INITRAMFS_PREFIX = $$(DEVICE_IMG_PREFIX)-initramfs
  57. - KERNEL_INITRAMFS_IMAGE = $$(KERNEL_INITRAMFS_PREFIX)$$(KERNEL_INITRAMFS_SUFFIX)
  58. + KERNEL_INITRAMFS_IMAGE = $(subst $(IMG_PREFIX_EXTRA),,$(IMG_PREFIX))-$(1)-initramfs$$(KERNEL_INITRAMFS_SUFFIX)
  59. KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs
  60. KERNEL_INSTALL :=
  61. KERNEL_NAME := vmlinux
  62. @@ -472,7 +511,6 @@ define Device/Check
  63. endif
  64. endef
  65. -ifndef IB
  66. define Device/Build/initramfs
  67. $(call Device/Export,$(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE),$(1))
  68. $$(_TARGET): $$(if $$(KERNEL_INITRAMFS),$(BIN_DIR)/$$(KERNEL_INITRAMFS_IMAGE) \
  69. @@ -483,9 +521,11 @@ define Device/Build/initramfs
  70. $(BIN_DIR)/$$(KERNEL_INITRAMFS_IMAGE): $(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE)
  71. cp $$^ $$@
  72. + ifndef IB
  73. $(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE): $(KDIR)/$$(KERNEL_INITRAMFS_NAME) $(CURDIR)/Makefile $$(KERNEL_DEPENDS) image_prepare
  74. @rm -f $$@
  75. $$(call concat_cmd,$$(KERNEL_INITRAMFS))
  76. + endif
  77. $(call Device/Export,$(BUILD_DIR)/json_info_files/$$(KERNEL_INITRAMFS_IMAGE).json,$(1))
  78. @@ -519,7 +559,6 @@ define Device/Build/initramfs
  79. SUPPORTED_DEVICES="$$(SUPPORTED_DEVICES)" \
  80. $(TOPDIR)/scripts/json_add_image_info.py $$@
  81. endef
  82. -endif
  83. define Device/Build/compile
  84. $$(_COMPILE_TARGET): $(KDIR)/$(1)
  85. @@ -568,7 +607,7 @@ define Device/Build/kernel
  86. endef
  87. define Device/Build/image
  88. - GZ_SUFFIX := $(if $(filter %dtb %gz,$(2)),,$(if $(and $(findstring ext4,$(1)),$(CONFIG_TARGET_IMAGES_GZIP)),.gz))
  89. + GZ_SUFFIX := $(if $(filter %dtb %gz,$(2)),,$(if $(and $(findstring ext4,$(1)),$(findstring img,$(2)),$(CONFIG_TARGET_IMAGES_GZIP)),.gz))
  90. $$(_TARGET): $(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \
  91. $(BUILD_DIR)/json_info_files/$(call DEVICE_IMG_NAME,$(1),$(2)).json, \
  92. $(BIN_DIR)/$(call DEVICE_IMG_NAME,$(1),$(2))$$(GZ_SUFFIX))
  93. @@ -678,6 +717,8 @@ define Device/Build
  94. $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),$(call Device/Build/initramfs,$(1)))
  95. $(call Device/Build/kernel,$(1))
  96. + $(if $(CONFIG_TARGET_ROOTFS_TARGZ),$(call Device/Build/targz,$(PROFILE_SANITIZED)))
  97. +
  98. $$(eval $$(foreach compile,$$(COMPILE), \
  99. $$(call Device/Build/compile,$$(compile),$(1))))
  100. --- a/scripts/json_overview_image_info.py
  101. +++ b/scripts/json_overview_image_info.py
  102. @@ -47,7 +47,7 @@ def get_initial_output(image_info):
  103. if output:
  104. - default_packages, output["arch_packages"] = run(
  105. + default_packages, output["arch_packages"], output["kernel_version"] = run(
  106. [
  107. "make",
  108. "--no-print-directory",
  109. @@ -55,6 +55,7 @@ def get_initial_output(image_info):
  110. "target/linux/",
  111. "val.DEFAULT_PACKAGES",
  112. "val.ARCH_PACKAGES",
  113. + "val.LINUX_VERSION",
  114. ],
  115. stdout=PIPE,
  116. stderr=PIPE,