123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 |
- # SPDX-License-Identifier: GPL-2.0-only
- #
- # Copyright (C) 2013 OpenWrt.org
- include $(TOPDIR)/rules.mk
- include $(INCLUDE_DIR)/image.mk
- #################################################
- # Images
- #################################################
- DEVICE_VARS += MKUBIFS_OPTS UBOOT BOOT_SCRIPT
- define Build/boot-overlay
- rm -rf [email protected]
- mkdir -p [email protected]
- $(CP) $@ [email protected]/$(IMG_PREFIX)-uImage
- ln -sf $(IMG_PREFIX)-uImage [email protected]/uImage
- $(foreach dts,$(DEVICE_DTS), \
- $(CP) \
- $(DTS_DIR)/$(dts).dtb \
- [email protected]/$(IMG_PREFIX)-$(dts).dtb; \
- ln -sf \
- $(IMG_PREFIX)-$(dts).dtb \
- [email protected]/$(dts).dtb; \
- )
- mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
- -n '$(DEVICE_ID) OpenWrt bootscript' \
- -d ./bootscript-$(DEVICE_NAME) \
- [email protected]/6x_bootscript-$(DEVICE_NAME)
- $(STAGING_DIR_HOST)/bin/mkfs.ubifs \
- --space-fixup --compr=zlib --squash-uids \
- $(MKUBIFS_OPTS) -c 16248 \
- -o [email protected] -d [email protected]
- $(TAR) -C [email protected] -cf [email protected] .
- endef
- define Build/bootfs.tar.gz
- rm -rf [email protected]
- mkdir -p [email protected]
- $(TAR) -C [email protected] -xf $(IMAGE_KERNEL).boot.tar
- $(TAR) -C [email protected] \
- --numeric-owner --owner=0 --group=0 --transform "s,./,./boot/," \
- -czvf $@ .
- endef
- define Build/boot-scr
- mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
- -n '$(DEVICE_ID) OpenWrt bootscript' \
- -d ./bootscript-$(DEVICE_NAME) \
- $(BIN_DIR)/boot.scr
- endef
- define Build/recovery-scr
- mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
- -n '$(DEVICE_ID) OpenWrt recovery bootscript' \
- -d ./recovery-$(DEVICE_NAME) $@
- endef
- define Build/imx6-combined-image-prepare
- rm -rf [email protected]
- mkdir -p [email protected]
- endef
- define Build/imx6-combined-image-clean
- rm -rf [email protected] [email protected]
- endef
- define Build/imx6-combined-image
- $(CP) $(IMAGE_KERNEL) [email protected]/uImage
- $(foreach dts,$(DEVICE_DTS), \
- $(CP) \
- $(DTS_DIR)/$(dts).dtb \
- [email protected]/;
- )
- mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
- -n '$(DEVICE_ID) OpenWrt bootscript' \
- -d $(BOOT_SCRIPT) \
- [email protected]/boot.scr
- cp $@ [email protected]
- $(SCRIPT_DIR)/gen_image_generic.sh $@ \
- $(CONFIG_TARGET_KERNEL_PARTSIZE) \
- [email protected] \
- $(CONFIG_TARGET_ROOTFS_PARTSIZE) \
- [email protected] \
- 1024
- endef
- define Build/imx6-sdcard
- $(Build/imx6-combined-image-prepare)
- $(CP) $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.img [email protected]/u-boot.img
- $(Build/imx6-combined-image)
- dd if=$(STAGING_DIR_IMAGE)/$(UBOOT)-SPL of=$@ bs=1024 seek=1 conv=notrunc
- $(Build/imx6-combined-image-clean)
- endef
- define Build/apalis-emmc
- $(Build/imx6-combined-image-prepare)
- $(Build/imx6-combined-image)
- $(Build/imx6-combined-image-clean)
- endef
- #################################################
- # Devices
- #################################################
- KERNEL_LOADADDR=0x10008000
- define Device/Default
- PROFILES := Generic
- FILESYSTEMS := squashfs ext4
- KERNEL_INSTALL := 1
- KERNEL_SUFFIX := -uImage
- KERNEL_NAME := zImage
- KERNEL_PREFIX := $$(IMAGE_PREFIX)
- KERNEL := kernel-bin | uImage none
- IMAGES :=
- endef
- define Device/ventana
- DEVICE_VENDOR := Gateworks
- DEVICE_MODEL := Ventana family
- DEVICE_VARIANT := normal NAND flash
- DEVICE_DTS:= \
- imx6dl-gw51xx \
- imx6dl-gw52xx \
- imx6dl-gw53xx \
- imx6dl-gw54xx \
- imx6dl-gw551x \
- imx6dl-gw552x \
- imx6dl-gw553x \
- imx6dl-gw5904 \
- imx6dl-gw5907 \
- imx6dl-gw5910 \
- imx6dl-gw5912 \
- imx6dl-gw5913 \
- imx6q-gw51xx \
- imx6q-gw52xx \
- imx6q-gw53xx \
- imx6q-gw54xx \
- imx6q-gw5400-a \
- imx6q-gw551x \
- imx6q-gw552x \
- imx6q-gw553x \
- imx6q-gw5904 \
- imx6q-gw5907 \
- imx6q-gw5910 \
- imx6q-gw5912 \
- imx6q-gw5913
- DEVICE_PACKAGES := kmod-sky2 kmod-sound-core kmod-sound-soc-imx kmod-sound-soc-imx-sgtl5000 \
- kmod-can kmod-can-flexcan kmod-can-raw \
- kmod-hwmon-gsc \
- kmod-leds-gpio kmod-pps-gpio \
- kobs-ng
- KERNEL += | boot-overlay
- IMAGES := nand.ubi bootfs.tar.gz dtb
- IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1).$$(2)
- UBINIZE_PARTS = boot=$$(KDIR_KERNEL_IMAGE).boot.ubifs=15
- BOOT_SCRIPT := bootscript-ventana
- IMAGE/nand.ubi := append-ubi
- IMAGE/bootfs.tar.gz := bootfs.tar.gz
- IMAGE/dtb := install-dtb
- IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1)-$$(2)
- PAGESIZE := 2048
- BLOCKSIZE := 128k
- MKUBIFS_OPTS := -m $$(PAGESIZE) -e 124KiB
- endef
- TARGET_DEVICES += ventana
- define Device/ventana-large
- $(Device/ventana)
- DEVICE_VENDOR := Gateworks
- DEVICE_MODEL := Ventana family
- DEVICE_VARIANT := large NAND flash
- DEVICE_NAME := ventana
- IMAGES := nand.ubi
- PAGESIZE := 4096
- BLOCKSIZE := 256k
- MKUBIFS_OPTS := -m $$(PAGESIZE) -e 248KiB
- endef
- TARGET_DEVICES += ventana-large
- define Device/wandboard
- DEVICE_VENDOR := Wandboard
- DEVICE_MODEL := Dual
- DEVICE_DTS := imx6dl-wandboard
- endef
- TARGET_DEVICES += wandboard
- define Device/cubox-i
- DEVICE_VENDOR := SolidRun
- DEVICE_MODEL := CuBox-i
- KERNEL := kernel-bin
- UBOOT := mx6cuboxi
- BOOT_SCRIPT = bootscript-cubox
- DEVICE_NAME := cubox
- DEVICE_PACKAGES := kmod-drm-imx kmod-drm-imx-hdmi kmod-usb-hid
- DEVICE_DTS := imx6q-cubox-i imx6dl-cubox-i imx6q-hummingboard imx6dl-hummingboard
- IMAGES := combined.bin dtb
- FILESYSTEMS := squashfs
- IMAGE/combined.bin := append-rootfs | pad-extra 128k | imx6-sdcard
- IMAGE/dtb := install-dtb
- endef
- TARGET_DEVICES += cubox-i
- define Device/apalis
- DEVICE_VENDOR := Toradex
- DEVICE_MODEL := Apalis family
- SUPPORTED_DEVICES := apalis,ixora apalis,eval
- DEVICE_DTS := \
- imx6q-apalis-eval \
- imx6q-apalis-ixora \
- imx6q-apalis-ixora-v1.1
- DEVICE_PACKAGES := \
- kmod-can kmod-can-flexcan kmod-can-raw \
- kmod-leds-gpio kmod-gpio-button-hotplug \
- kmod-pps-gpio kmod-rtc-ds1307
- BOOT_SCRIPT := bootscript-apalis
- UBOOT := apalis_imx6
- FILESYSTEMS := squashfs
- IMAGES := combined.bin sysupgrade.bin
- IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1).$$(2)
- IMAGE/combined.bin := append-rootfs | pad-extra 128k | apalis-emmc
- IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
- ARTIFACTS := recovery.scr
- ARTIFACT/recovery.scr := recovery-scr
- endef
- TARGET_DEVICES += apalis
- $(eval $(call BuildImage))
|