ifeq ($(SUBTARGET),xway)
UBIFS_OPTS := -m 512 -e 15872 -c 1959
- UBI_OPTS:="-m 512 -p 16KiB -s 256"
else
UBIFS_OPTS := -m 2048 -e 126KiB -c 4096
- UBI_OPTS:="-m 2048 -p 128KiB -s 512"
endif
LOADER_MAKE := $(NO_TRACE_MAKE) -C lzma-loader KDIR=$(KDIR)
compile loader.bin
endef
+define Build/eva-image
+ lzma2eva $(KERNEL_LOADADDR) $(KERNEL_LOADADDR) $@ $@.new
+ ( dd if=$@.new bs=64k conv=sync; cat ./eva.dummy.squashfs; ) > $@
+endef
+
define CompressLzma
$(STAGING_DIR_HOST)/bin/lzma e $(1) $(2)
-d $(KDIR)/vmlinux$(2)-$(1).lzma $(KDIR)/uImage-$(1)$(2)
endef
-define MkImageEVA
- lzma2eva 0x80002000 0x80002000 $(KDIR)/vmlinux$(2)-$(1).lzma $(KDIR)/$(1)$(2).eva.prealign
- dd if=$(KDIR)/$(1)$(2).eva.prealign of=$(KDIR)/$(1)$(2).eva.align.64k bs=64k conv=sync
- dd if=$(KDIR)/$(1)$(2).eva.prealign of=$(KDIR)/$(1)$(2).eva.align.128k bs=128k conv=sync
- cat ./eva.dummy.squashfs >> $(KDIR)/$(1)$(2).eva.align.64k
-endef
-
define Image/Build/squashfs
cat $(KDIR)/uImage-$(2) $(KDIR)/root.$(1) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image
$(call prepare_generic_squashfs,$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image)
endef
-define Image/BuildEVA/squashfs
- cat $(KDIR)/$(2).eva.align.64k $(KDIR)/root.$(1) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image.eva
- $(call prepare_generic_squashfs,$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image.eva)
-endef
-
define Image/BuildLoader/squashfs
dd if=$(KDIR)/loader-$(2).bin of=$(KDIR)/loader-$(2).bin.padded bs=3072k conv=sync
cat $(KDIR)/loader-$(2).bin.padded $(KDIR)/root.$(1) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image
$(Image/Prepare/InitramfsTemplate)
endef
-define Image/BuildKernelEVA/Template
- $(call PatchKernelLzma,$(1))
- $(call MkImageEVA,$(1))
- $(CP) $(KDIR)/$(1).eva.align.64k $(BIN_DIR)/$(IMG_PREFIX)-$(1).eva.align.64k
- $(CP) $(KDIR)/$(1).eva.align.128k $(BIN_DIR)/$(IMG_PREFIX)-$(1).eva.align.128k
-endef
-
-
### Kernel scripts ###
define Build/mkbrncmdline
mkbrncmdline -i $@ -o $@.new BRN-BOOT
endef
define Build/mkbrnimg
- mkbrnimg -s $(SIGNATURE) -m $(MAGIC) -p $(CRC32_POLY) -o $@ $(word 1,$^) $(word 2,$^)
+ mkbrnimg -s $(SIGNATURE) -m $(MAGIC) -p $(CRC32_POLY) -o $@ $(IMAGE_KERNEL) $(IMAGE_ROOTFS)
endef
define Build/fullimage
mkimage -A mips -O linux -C lzma -T filesystem -a 0x00 \
-e 0x00 -n 'LEDE RootFS' \
- -d $(word 2,$^) $(word 2,$^).new
+ -d $(IMAGE_ROOTFS) $(IMAGE_ROOTFS).new
- cat $(word 1,$^) $(word 2,$^).new > $@.tmp
+ cat $(IMAGE_KERNEL) $(IMAGE_ROOTFS).new > $@.tmp
mkimage -A mips -O linux -T multi -a 0x00 -C none \
-e 0x00 -n 'OpenWrt fullimage' \
-d $@.tmp $@
- rm $(word 2,$^).new
+ rm $(IMAGE_ROOTFS).new
rm $@.tmp
endef
define Device/NAND
$(Device/NAND/$(SUBTARGET))
- IMAGE/sysupgrade.bin := sysupgrade-nand
+ IMAGE/sysupgrade.bin := sysupgrade-tar
endef
define Device/lantiqBrnImage
IMAGE/fullimage.img := fullimage | check-size $$$$(IMAGE_SIZE)
endef
+define Device/AVM
+ $(Device/NAND)
+ KERNEL := kernel-bin | append-dtb | lzma | eva-image
+endef
+
ifeq ($(SUBTARGET),xway_legacy)
define Device/ARV4520PW
# Danube
-Image/BuildKernel/Profile/BTHOMEHUBV2B=$(call Image/BuildKernel/Template,BTHOMEHUBV2B)
-Image/Build/Profile/BTHOMEHUBV2B=$(call Image/BuildNAND/$(1),$(1),BTHOMEHUBV2B)
-
-define LegacyDevice/BTHOMEHUBV2B
+define Device/BTHOMEHUBV2B
+ $(Device/NAND)
DEVICE_TITLE := BT Home Hub 2B
DEVICE_PACKAGES := kmod-ltq-hcd-danube kmod-ledtrig-usbdev \
kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
kmod-ath9k wpad-mini \
swconfig
endef
-LEGACY_DEVICES += BTHOMEHUBV2B
+TARGET_DEVICES += BTHOMEHUBV2B
define Device/EASY50712
IMAGE_SIZE := 3776k
# AR9
-Image/BuildKernel/Profile/BTHOMEHUBV3A=$(call Image/BuildKernel/Template,BTHOMEHUBV3A)
-Image/Build/Profile/BTHOMEHUBV3A=$(call Image/BuildNAND/$(1),$(1),BTHOMEHUBV3A)
-
-define LegacyDevice/BTHOMEHUBV3A
+define Device/BTHOMEHUBV3A
+ $(Device/NAND)
DEVICE_TITLE := BT Home Hub 3A
DEVICE_PACKAGES := kmod-usb-dwc2 kmod-ledtrig-usbdev \
kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
kmod-ath9k wpad-mini \
swconfig uboot-envtools
endef
-LEGACY_DEVICES += BTHOMEHUBV3A
+TARGET_DEVICES += BTHOMEHUBV3A
Image/BuildKernel/Profile/DGN3500=$(call Image/BuildKernel/Template,DGN3500)
Image/Build/Profile/DGN3500=$(call Image/BuildDGN3500/$(1),$(1),DGN3500)
endef
TARGET_DEVICES += WBMRB
-Image/BuildKernel/Profile/FRITZ7320=$(call Image/BuildKernelEVA/Template,FRITZ7320)
-Image/Build/Profile/FRITZ7320=$(call Image/BuildEVA/$(1),$(1),FRITZ7320)
-
-define LegacyDevice/FRITZ7320
+define Device/FRITZ7320
+ $(Device/AVM)
DEVICE_TITLE := 1&1 HomeServer - FRITZ7320
DEVICE_PACKAGES := kmod-ath9k wpad-mini \
kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
kmod-ltq-deu-ar9 kmod-usb-dwc2 \
kmod-ath9k wpad-mini
endef
-LEGACY_DEVICES += FRITZ7320
+TARGET_DEVICES += FRITZ7320
define Device/H201L
IMAGE_SIZE := 7808k
# VR9
-Image/BuildKernel/Profile/P2812HNUF1=$(call Image/BuildKernel/Template,P2812HNUF1)
-Image/Build/Profile/P2812HNUF1=$(call Image/BuildNAND/$(1),$(1),P2812HNUF1)
-
-define LegacyDevice/P2812HNUF1
+define Device/P2812HNUF1
+ $(Device/NAND)
DEVICE_TITLE := ZyXEL P-2812HNU-F1
DEVICE_PACKAGES := kmod-rt2800-pci wpad-mini kmod-usb-dwc2
endef
-LEGACY_DEVICES += P2812HNUF1
-
-Image/BuildKernel/Profile/P2812HNUF3=$(call Image/BuildKernel/Template,P2812HNUF3)
-Image/Build/Profile/P2812HNUF3=$(call Image/BuildNAND/$(1),$(1),P2812HNUF3)
+TARGET_DEVICES += P2812HNUF1
-define LegacyDevice/P2812HNUF3
+define Device/P2812HNUF3
+ $(Device/NAND)
DEVICE_TITLE := ZyXEL P-2812HNU-F3
DEVICE_PACKAGES := kmod-rt2800-pci wpad-mini kmod-usb-dwc2
endef
-LEGACY_DEVICES += P2812HNUF3
+TARGET_DEVICES += P2812HNUF3
define Device/ARV7519RW22
IMAGE_SIZE := 31232k
endef
TARGET_DEVICES += ARV7519RW22
-
-Image/BuildKernel/Profile/BTHOMEHUBV5A=$(call Image/BuildKernel/Template,BTHOMEHUBV5A)
-Image/Build/Profile/BTHOMEHUBV5A=$(call Image/BuildNAND/$(1),$(1),BTHOMEHUBV5A)
-
-define LegacyDevice/BTHOMEHUBV5A
+define Device/BTHOMEHUBV5A
+ $(Device/NAND)
DEVICE_TITLE := BT Home Hub 5A
DEVICE_PACKAGES := kmod-ath9k kmod-ath10k wpad-mini kmod-usb-dwc2
endef
-LEGACY_DEVICES += BTHOMEHUBV5A
+TARGET_DEVICES += BTHOMEHUBV5A
define Device/EASY80920NAND
$(Device/lantiqFullImage)
endef
TARGET_DEVICES += EASY80920NOR
-Image/BuildKernel/Profile/FRITZ3370=$(call Image/BuildKernelEVA/Template,FRITZ3370)
-Image/Build/Profile/FRITZ3370=$(call Image/BuildEVA/$(1),$(1),FRITZ3370)
-
-define LegacyDevice/FRITZ3370
+define Device/FRITZ3370
+ $(Device/AVM)
DEVICE_TITLE := Fritz!Box WLan - FRITZ3370
DEVICE_PACKAGES := kmod-ath9k wpad-mini kmod-usb-dwc2
endef
-LEGACY_DEVICES += FRITZ3370
-
-Image/BuildKernel/Profile/FRITZ7360SL=$(call Image/BuildKernelEVA/Template,FRITZ7360SL)
-Image/Build/Profile/FRITZ7360SL=$(call Image/BuildEVA/$(1),$(1),FRITZ7360SL)
+TARGET_DEVICES += FRITZ3370
-define LegacyDevice/FRITZ7360SL
+define Device/FRITZ7360SL
+ $(Device/AVM)
DEVICE_TITLE := 1&1 HomeServer - FRITZ7360SL
DEVICE_PACKAGES := kmod-ath9k wpad-mini kmod-usb-dwc2
endef
-LEGACY_DEVICES += FRITZ7360L
+TARGET_DEVICES += FRITZ7360SL
Image/Prepare/Profile/VG3503J=$(call Image/Prepare/Template,VG3503J)
Image/BuildKernel/Profile/VG3503J=$(call Image/BuildKernelLoader/Template,VG3503J)
endif
-define Image/BuildNAND/squashfs
- $(call prepare_generic_squashfs,$(KDIR)/root.$(1))
- $(call Image/Build/UbinizeImage,$(2),,squashfs,$(UBI_OPTS))
- $(call Image/Build/SysupgradeNAND,$(2),$(1),$(KDIR)/uImage-$(2))
-endef
-
-define Image/Build/ubifs
- $(CP) $(KDIR)/root.ubifs $(BIN_DIR)/$(IMG_PREFIX)-$(2)-rootfs.ubifs
-endef
-
-define Image/Build/ubi
- $(CP) $(KDIR)/root.ubi $(BIN_DIR)/$(IMG_PREFIX)-$(2)-rootfs.ubi
- $(CP) $(KDIR)/root-overlay.ubi $(BIN_DIR)/$(IMG_PREFIX)-$(2)-rootfs-overlay.ubi
-endef
-
-define Image/BuildEVA/ubi
- $(CP) $(KDIR)/root.ubi $(BIN_DIR)/$(IMG_PREFIX)-$(2)-rootfs.ubi
- $(CP) $(KDIR)/root-overlay.ubi $(BIN_DIR)/$(IMG_PREFIX)-$(2)-rootfs-overlay.ubi
-endef
-
-define Image/BuildNAND/ubifs
- $(call Image/Build/UbinizeImage,$(2),,ubifs,$(UBI_OPTS))
- $(call Image/Build/SysupgradeNAND,$(2),$(1),$(KDIR)/uImage-$(2))
-endef
-
-define Image/BuildEVA/ubifs
- $(CP) $(KDIR)/root.ubifs $(BIN_DIR)/$(IMG_PREFIX)-$(2)-rootfs.ubifs
-endef
-
define Image/Prepare/Profile
$(call Image/Prepare/Profile/$(1))
endef