| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- include $(TOPDIR)/rules.mk
- include $(INCLUDE_DIR)/image.mk
- KERNEL_LOADADDR = 0x80060000
- DEVICE_VARS += LOADER_FLASH_OFFS LOADER_TYPE
- DEVICE_VARS += LOADER_FLASH_MAX LOADER_KERNEL_MAGIC LZMA_TEXT_START
- DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID
- DEVICE_VARS += RAS_BOARD RAS_ROOTFS_SIZE RAS_VERSION
- DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK
- define Build/loader-common
- rm -rf [email protected]
- $(MAKE) -C lzma-loader \
- PKG_BUILD_DIR="[email protected]" \
- TARGET_DIR="$(dir $@)" LOADER_NAME="$(notdir $@)" \
- LZMA_TEXT_START=$(LZMA_TEXT_START) \
- $(1) compile loader.$(LOADER_TYPE)
- mv "$@.$(LOADER_TYPE)" "$@"
- rm -rf [email protected]
- endef
- define Build/loader-kernel
- $(call Build/loader-common, \
- LOADER_DATA="$@" \
- BOARD="$(DEVICE_NAME)" )
- endef
- define Build/loader-okli-compile
- $(call Build/loader-common, \
- FLASH_OFFS=$(LOADER_FLASH_OFFS) \
- FLASH_MAX=$(LOADER_FLASH_MAX) \
- KERNEL_MAGIC=$(LOADER_KERNEL_MAGIC) \
- BOARD="$(DEVICE_NAME)" )
- endef
- # Arguments: <output name> <kernel offset>
- define Build/loader-okli
- dd if=$(KDIR)/loader-$(word 1,$(1)).$(LOADER_TYPE) bs=$(word 2,$(1)) conv=sync of="[email protected]"
- cat "$@" >> "[email protected]"
- mv "[email protected]" "$@"
- endef
- define Build/append-loader-okli
- cat "$(KDIR)/loader-$(word 1,$(1)).$(LOADER_TYPE)" >> "$@"
- endef
- define Build/append-loader-okli-uimage
- cat "$(KDIR)/loader-$(word 1,$(1)).uImage" >> "$@"
- endef
- define Build/relocate-kernel
- rm -rf [email protected]
- $(CP) ../../generic/image/relocate [email protected]
- $(MAKE) -j1 -C [email protected] KERNEL_ADDR=$(KERNEL_LOADADDR) CROSS_COMPILE=$(TARGET_CROSS)
- ( \
- dd [email protected]/loader.bin bs=32 conv=sync && \
- perl -e '@s = stat("$@"); print pack("N", @s[7])' && \
- cat "$@" \
- ) > "[email protected]"
- mv "[email protected]" "$@"
- rm -rf [email protected]
- endef
- define Device/Default
- DEVICE_DTS_DIR := ../dts
- DEVICE_DTS = $$(SOC)_$(1)
- PROFILES = Default
- MTDPARTS :=
- BLOCKSIZE := 64k
- KERNEL := kernel-bin | append-dtb | lzma | uImage lzma
- KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
- LOADER_KERNEL_MAGIC :=
- LOADER_FLASH_MAX :=
- LOADER_FLASH_OFFS :=
- LOADER_TYPE :=
- LZMA_TEXT_START := 0x81800000
- COMPILE :=
- IMAGES := sysupgrade.bin
- IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | \
- append-rootfs | pad-rootfs | check-size | append-metadata
- endef
- define Device/loader-okli-uimage
- LOADER_TYPE := bin
- COMPILE := loader-$(1).bin loader-$(1).uImage
- COMPILE/loader-$(1).bin := loader-okli-compile
- COMPILE/loader-$(1).uImage := loader-okli-compile | pad-to 64k | \
- lzma | uImage lzma
- endef
- define Device/seama
- KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma
- KERNEL_INITRAMFS := $$(KERNEL) | seama
- IMAGES += factory.bin
- SEAMA_MTDBLOCK := 1
- # 64 bytes offset:
- # - 28 bytes seama_header
- # - 36 bytes of META data (4-bytes aligned)
- IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
- IMAGE/sysupgrade.bin := $$(IMAGE/default) | seama | pad-rootfs | \
- check-size | append-metadata
- IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \
- seama-seal | check-size
- SEAMA_SIGNATURE :=
- endef
- include $(SUBTARGET).mk
- ifeq ($(SUBTARGET),generic)
- include generic-tp-link.mk
- include generic-ubnt.mk
- endif
- ifeq ($(SUBTARGET),tiny)
- include tiny-netgear.mk
- include tiny-tp-link.mk
- include tiny-ubnt.mk
- endif
- $(eval $(call BuildImage))
|