imagebuilder.patch 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. --- a/target/imagebuilder/Makefile
  2. +++ b/target/imagebuilder/Makefile
  3. @@ -40,11 +40,9 @@ $(BIN_DIR)/$(IB_NAME).tar.xz: clean
  4. $(TMP_DIR)/.packageinfo \
  5. $(PKG_BUILD_DIR)/
  6. -ifeq ($(CONFIG_IB_STANDALONE),)
  7. echo '## Remote package repositories' >> $(PKG_BUILD_DIR)/repositories.conf
  8. $(call FeedSourcesAppend,$(PKG_BUILD_DIR)/repositories.conf)
  9. $(VERSION_SED_SCRIPT) $(PKG_BUILD_DIR)/repositories.conf
  10. -endif
  11. $(INSTALL_DIR) $(PKG_BUILD_DIR)/packages
  12. # create an empty package index so `opkg` doesn't report an error
  13. --- a/target/imagebuilder/files/Makefile
  14. +++ b/target/imagebuilder/files/Makefile
  15. @@ -113,6 +113,15 @@ BUILD_PACKAGES:=$(filter-out $(filter -%,$(BUILD_PACKAGES)) $(patsubst -%,%,$(fi
  16. PACKAGES:=
  17. _call_image: staging_dir/host/.prereq-build
  18. + rm -rf $(KERNEL_BUILD_DIR)/tmp
  19. + [ "$(DATE)" ] && DATE="$(DATE).`date +'%Y'`" || DATE="`date +'%m.%d.%Y'`"; \
  20. + mkdir -p $(USER_FILES)/etc/uci-defaults || true; \
  21. + echo -e " \
  22. + sed -i \"s/[0-9]\+.[0-9]\+.[0-9]\{4\}/$$DATE/\" /etc/openwrt_release \n \
  23. + sed -i \"s/DISTRIB_ID=.*/DISTRIB_ID='$(PARTSIZE)'/\" /etc/openwrt_release \n \
  24. + sed -i \"s/OpenWrt .* by/OpenWrt $$DATE by/\" /etc/banner \n \
  25. + echo \"$$DATE\" >/etc/openwrt_version \n \
  26. + "> $(USER_FILES)/etc/uci-defaults/99-version; \
  27. echo 'Building images for $(BOARD)$(if $($(USER_PROFILE)_NAME), - $($(USER_PROFILE)_NAME))'
  28. echo 'Packages: $(BUILD_PACKAGES)'
  29. echo
  30. @@ -164,7 +173,15 @@ package_install: FORCE
  31. @echo Installing packages...
  32. $(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/libc_*.ipk $(PACKAGE_DIR)/libc_*.ipk))
  33. $(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/kernel_*.ipk $(PACKAGE_DIR)/kernel_*.ipk))
  34. - $(OPKG) install $(BUILD_PACKAGES)
  35. + packages="luci-i18n-base-zh-cn luci-i18n-base-en"; \
  36. + for p in $(BUILD_PACKAGES); do \
  37. + if [[ $$p == luci-app-* && "`$(OPKG) list | grep luci-i18n-\`echo $$p | cut -d - -f 3-\`-zh-cn`" ]]; then \
  38. + packages="luci-i18n-`echo $$p | cut -d - -f 3-`-zh-cn $$packages"; \
  39. + fi \
  40. + done; \
  41. + $(OPKG) install --force-overwrite $$packages
  42. + $(OPKG) install --force-overwrite --force-checksum --force-depends --force-maintainer $(BUILD_PACKAGES)
  43. + $(OPKG) install --force-overwrite --force-checksum --force-depends --force-maintainer --force-reinstall my-default-settings
  44. prepare_rootfs: FORCE
  45. @echo
  46. @@ -183,7 +200,8 @@ build_image: FORCE
  47. @echo
  48. @echo Building images...
  49. rm -rf $(BUILD_DIR)/json_info_files/
  50. - $(NO_TRACE_MAKE) -C target/linux/$(BOARD)/image install TARGET_BUILD=1 IB=1 EXTRA_IMAGE_NAME="$(EXTRA_IMAGE_NAME)" \
  51. + [ "$(PARTSIZE)" -ge 100 2>/dev/null ] && [ "$(PARTSIZE)" -le 3072 2>/dev/null ] && ROOT_PARTSIZE="$(PARTSIZE)"; \
  52. + nice $(NO_TRACE_MAKE) -C target/linux/$(BOARD)/image install TARGET_BUILD=1 IB=1 EXTRA_IMAGE_NAME="$(EXTRA_IMAGE_NAME)" PARTSIZE="$$ROOT_PARTSIZE" FILESYSTEMS="$(FILESYSTEMS)" ROOTFS="$(ROOTFS)" VMDK="$(VMDK)" EFI="$(EFI)" \
  53. $(if $(USER_PROFILE),PROFILE="$(USER_PROFILE)")
  54. $(BIN_DIR)/profiles.json: FORCE
  55. --- a/include/image.mk
  56. +++ b/include/image.mk
  57. @@ -33,6 +33,16 @@ KDIR=$(KERNEL_BUILD_DIR)
  58. KDIR_TMP=$(KDIR)/tmp
  59. DTS_DIR:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts
  60. +ifneq ($(PARTSIZE),)
  61. + CONFIG_TARGET_ROOTFS_PARTSIZE := $(PARTSIZE)
  62. +endif
  63. +ifeq ($(FILESYSTEMS),ext4)
  64. + CONFIG_TARGET_ROOTFS_EXT4FS := y
  65. + CONFIG_TARGET_ROOTFS_SQUASHFS := n
  66. +endif
  67. +ifeq ($(ROOTFS),0)
  68. + CONFIG_TARGET_ROOTFS_TARGZ := n
  69. +endif
  70. IMG_PREFIX_EXTRA:=$(if $(EXTRA_IMAGE_NAME),$(call sanitize,$(EXTRA_IMAGE_NAME))-)
  71. IMG_PREFIX_VERNUM:=$(if $(CONFIG_VERSION_FILENAMES),$(call sanitize,$(VERSION_NUMBER))-)
  72. IMG_PREFIX_VERCODE:=$(if $(CONFIG_VERSION_CODE_FILENAMES),$(call sanitize,$(VERSION_CODE))-)
  73. @@ -225,7 +235,8 @@ $(eval $(foreach S,$(JFFS2_BLOCKSIZE),$(call Image/mkfs/jffs2/template,$(S))))
  74. $(eval $(foreach S,$(NAND_BLOCKSIZE),$(call Image/mkfs/jffs2-nand/template,$(S))))
  75. define Image/mkfs/squashfs-common
  76. - $(STAGING_DIR_HOST)/bin/mksquashfs4 $(call mkfs_target_dir,$(1)) $@ \
  77. + echo -998 > /proc/$$$$/oom_score_adj || true
  78. + nice $(STAGING_DIR_HOST)/bin/mksquashfs4 $(call mkfs_target_dir,$(1)) $@ \
  79. -nopad -noappend -root-owned \
  80. -comp $(SQUASHFSCOMP) $(SQUASHFSOPT) \
  81. -processors 1
  82. @@ -291,7 +302,7 @@ define Image/gzip-ext4-padded-squashfs
  83. endef
  84. -ifdef CONFIG_TARGET_ROOTFS_TARGZ
  85. +ifeq ($(CONFIG_TARGET_ROOTFS_TARGZ),y)
  86. define Image/Build/targz
  87. $(TAR) -cp --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name \
  88. $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
  89. --- a/target/linux/x86/image/Makefile
  90. +++ b/target/linux/x86/image/Makefile
  91. @@ -11,6 +11,14 @@ GRUB_SERIAL_CONFIG =
  92. GRUB_TERMINAL_CONFIG =
  93. GRUB_CONSOLE_CMDLINE =
  94. +ifeq ($(VMDK),1)
  95. + CONFIG_VMDK_IMAGES := y
  96. +endif
  97. +
  98. +ifeq ($(EFI),0)
  99. + CONFIG_GRUB_EFI_IMAGES := n
  100. +endif
  101. +
  102. ifneq ($(CONFIG_GRUB_CONSOLE),)
  103. GRUB_CONSOLE_CMDLINE += console=tty0
  104. GRUB_TERMINALS += console