diff options
Diffstat (limited to 'target/linux/at91/image/Makefile')
-rw-r--r-- | target/linux/at91/image/Makefile | 112 |
1 files changed, 42 insertions, 70 deletions
diff --git a/target/linux/at91/image/Makefile b/target/linux/at91/image/Makefile index 0a4c95de7f..d1ae61484a 100644 --- a/target/linux/at91/image/Makefile +++ b/target/linux/at91/image/Makefile @@ -7,88 +7,60 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -UBIFS_OPTS = -F -m 2048 -e 126KiB -c 2048 -U -UBI_OPTS = -m 2048 -p 128KiB -s 512 +KERNEL_LOADADDR := 0x20008000 -AT91SAMA5D3XPLAINED_UBIFS_OPTS = -m 2048 -e 124KiB -c 2048 -AT91SAMA5D3XPLAINED_UBI_OPTS = -m 2048 -p 128KiB -s 2048 +ifeq ($(SUBTARGET),legacy) +include ./legacy.mk +UBIFS_OPTS := -m 2048 -e 126KiB -c 2048 +endif +ifeq ($(SUBTARGET),sama5d3) +include ./sama5d3.mk +UBIFS_OPTS := -m 2048 -e 124KiB -c 2048 +endif -define Image/Prepare - cp $(LINUX_DIR)/arch/arm/boot/Image $(KDIR)/Image - cp $(LINUX_DIR)/arch/arm/boot/zImage $(KDIR)/zImage +define Device/Default + PROFILES := Default + FILESYSTEMS := squashfs ubifs + DEVICE_DTS := $(1) + KERNEL_NAME := zImage + KERNEL_SIZE := 4096k + KERNEL := kernel-bin | append-dtb | lzma | uImage lzma + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 512 + DTB_SIZE := endef -define MkuImageDtb - cat $(KDIR)/zImage $(DTS_DIR)/$(2).dtb > $(KDIR)/zImage-$(1) - mkimage -A arm -T kernel -C none -a 0x20008000 -e 0x20008000 \ - -n "OpenWrt ARM $(LINUX_VERSION)" \ - -d $(KDIR)/zImage-$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1)-uImage +define Device/dtb + KERNEL := kernel-bin | lzma | uImage lzma endef -define MkOftree - cp -u $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage - cp $(DTS_DIR)/$(2).dtb $(BIN_DIR)/$(IMG_PREFIX)-$(1)-oftree.dtb +define Device/evaluation + KERNEL_INSTALL := 1 + KERNEL_SUFFIX := -uImage + IMAGES := root.ubi + IMAGE/root.ubi := append-ubi endef -# Atmel -Image/Build/Kernel/AT91SAM9263EK=$(call MkuImageDtb,9263ek,at91sam9263ek) -Image/Build/Kernel/AT91SAM9G15EK=$(call MkuImageDtb,9g15ek,at91sam9g15ek) -Image/Build/Kernel/AT91SAM9G20EK=$(call MkOftree,9g20ek,at91sam9g20ek) -Image/Build/Kernel/AT91SAM9G20EK-2MMC=$(call MkOftree,9g20ek_2mmc,at91sam9g20ek_2mmc) -Image/Build/Kernel/AT91SAM9G25EK=$(call MkuImageDtb,9g25ek,at91sam9g25ek) -Image/Build/Kernel/AT91SAM9G35EK=$(call MkuImageDtb,9g35ek,at91sam9g35ek) -Image/Build/Kernel/AT91SAM9M10G45EK=$(call MkuImageDtb,9m10g45ek,at91sam9m10g45ek) -Image/Build/Kernel/AT91SAM9X25EK=$(call MkuImageDtb,9x25ek,at91sam9x25ek) -Image/Build/Kernel/AT91SAM9X35EK=$(call MkuImageDtb,9x35ek,at91sam9x35ek) -Image/Build/Kernel/AT91SAMA5D3XPLAINED=$(call MkuImageDtb,sama5,at91-sama5d3_xplained) -# CalAmp -Image/Build/Kernel/LMU5000=$(call MkuImageDtb,lmu5000,lmu5000) -# Calao -Image/Build/Kernel/TNYA9260=$(call MkuImageDtb,tny_a9260,tny_a9260) -Image/Build/Kernel/TNYA9263=$(call MkuImageDtb,tny_a9263,tny_a9263) -Image/Build/Kernel/TNYA9G20=$(call MkuImageDtb,tny_a9g20,tny_a9g20) -Image/Build/Kernel/USBA9260=$(call MkuImageDtb,usb_a9260,usb_a9260) -Image/Build/Kernel/USBA9263=$(call MkuImageDtb,usb_a9263,usb_a9263) -Image/Build/Kernel/USBA9G20=$(call MkuImageDtb,usb_a9g20,usb_a9g20) -# Ethernut -Image/Build/Kernel/ETHERNUT5=$(call MkuImageDtb,ethernut5,ethernut5) -# Exegin -Image/Build/Kernel/Q5XR5=$(call MkOftree,q5xr5,at91-q5xr5) - - -define Image/Build/Kernel/Default - $(call Image/Build/Kernel/AT91SAM9263EK) - $(call Image/Build/Kernel/AT91SAM9G15EK) - $(call Image/Build/Kernel/AT91SAM9G20EK) - $(call Image/Build/Kernel/AT91SAM9G20EK-2MMC) - $(call Image/Build/Kernel/AT91SAM9G25EK) - $(call Image/Build/Kernel/AT91SAM9G35EK) - $(call Image/Build/Kernel/AT91SAM9M10G45EK) - $(call Image/Build/Kernel/AT91SAM9X25EK) - $(call Image/Build/Kernel/AT91SAM9X35EK) - $(call Image/Build/Kernel/LMU5000) - $(call Image/Build/Kernel/TNYA9260) - $(call Image/Build/Kernel/TNYA9263) - $(call Image/Build/Kernel/TNYA9G20) - $(call Image/Build/Kernel/USBA9260) - $(call Image/Build/Kernel/USBA9263) - $(call Image/Build/Kernel/USBA9G20) - $(call Image/Build/Kernel/ETHERNUT5) - $(call Image/Build/Kernel/Q5XR5) +define Device/evaluation-dtb + $(Device/evaluation) + $(Device/dtb) + IMAGES += dtb + IMAGE/dtb := install-dtb endef -define Image/BuildKernel - mkimage -A arm -T kernel -C none -a 0x20008000 -e 0x20008000 -n linux-2.6 \ - -d $(KDIR)/Image $(BIN_DIR)/$(IMG_PREFIX)-uImage - if [ $(CONFIG_FLEXIBITY_ROOT) ]; then \ - $(INSTALL_BIN) $(BIN_DIR)/$(IMG_PREFIX)-uImage $(TARGET_DIR)/uImage ; \ - fi - $(call Image/Build/Kernel/$(PROFILE)) +define Device/production + UBINIZE_OPTS := -E 5 + IMAGES := factory.bin + IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi endef -define Image/Build - $(call Image/Build/$(1)) - cp $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) +define Device/production-dtb + $(Device/production) + $(Device/dtb) + DTB_SIZE := 128k + IMAGE/factory.bin := append-dtb | pad-to $$$$(DTB_SIZE) \ + | append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi endef $(eval $(call BuildImage)) |