aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/image
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/lantiq/image')
-rw-r--r--target/linux/lantiq/image/Makefile35
-rw-r--r--target/linux/lantiq/image/ar9.mk6
2 files changed, 38 insertions, 3 deletions
diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile
index ec10cd882a..facc3fbe09 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -49,12 +49,35 @@ define Build/fullimage
rm $@.tmp
endef
-DEVICE_VARS += SIGNATURE MAGIC CRC32_POLY
+define Build/loader-okli-compile
+ rm -rf $@.src
+ $(MAKE) -C lzma-loader \
+ PKG_BUILD_DIR="$@.src" \
+ TARGET_DIR="$(dir $@)" LOADER_NAME="$(notdir $@)" \
+ PLATFORM="lantiq" \
+ LZMA_TEXT_START=0x82000000 \
+ LOADADDR=0x80002000 \
+ FLASH_START=0x10000000 \
+ FLASH_OFFS=$(LOADER_FLASH_OFFS) \
+ FLASH_MAX=0x0 \
+ $(1) compile loader.bin
+ mv "$@.bin" "$@"
+ rm -rf $@.src
+endef
+
+define Build/prepend-loader-okli
+ cat "$(KDIR)/loader-$(word 1,$(1)).bin" "$@" >> "$@.new"
+ mv "$@.new" "$@"
+endef
+
+DEVICE_VARS += SIGNATURE MAGIC CRC32_POLY LOADER_FLASH_OFFS
+
DTS_DIR := $(DTS_DIR)/lantiq
# Shared device definition: applies to every defined device
define Device/Default
PROFILES = Default
+ COMPILE :=
KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs
KERNEL := kernel-bin | append-dtb | lzma | uImage lzma
@@ -105,6 +128,16 @@ define Device/AVM
append-rootfs | pad-rootfs | check-size | append-metadata
endef
+define Device/AVM_preloader
+ DEVICE_VENDOR := AVM
+ COMPILE := loader-$(1).bin
+ COMPILE/loader-$(1).bin := loader-okli-compile | lzma | eva-image | \
+ pad-to 64k | append-avm-fakeroot | pad-to 4k
+ KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | \
+ prepend-loader-okli $(1)
+ KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | eva-image
+endef
+
ifeq ($(SUBTARGET),ase)
DEFAULT_SOC := amazonse
include amazonse.mk
diff --git a/target/linux/lantiq/image/ar9.mk b/target/linux/lantiq/image/ar9.mk
index a68868f0d9..5a17395f82 100644
--- a/target/linux/lantiq/image/ar9.mk
+++ b/target/linux/lantiq/image/ar9.mk
@@ -1,8 +1,9 @@
define Device/avm_fritz7312
- $(Device/AVM)
+ $(Device/AVM_preloader)
DEVICE_MODEL := FRITZ!Box 7312
SOC := ar9
IMAGE_SIZE := 15744k
+ LOADER_FLASH_OFFS := 0x31000
DEVICE_PACKAGES := kmod-ath9k kmod-owl-loader wpad-basic-wolfssl \
kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \
@@ -12,12 +13,13 @@ endef
TARGET_DEVICES += avm_fritz7312
define Device/avm_fritz7320
- $(Device/AVM)
+ $(Device/AVM_preloader)
DEVICE_MODEL := FRITZ!Box 7320
DEVICE_ALT0_VENDOR := 1&1
DEVICE_ALT0_MODEL := HomeServer
SOC := ar9
IMAGE_SIZE := 15744k
+ LOADER_FLASH_OFFS := 0x31000
DEVICE_PACKAGES := kmod-ath9k kmod-owl-loader wpad-basic-wolfssl \
kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \