mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 23:12:32 +00:00
a142d96ade
In commit7e614820a8
("mpc85xx: add support for Extreme Networks WS-AP3825i"), we borrowed a recipe convention from apm821xx for device tree blob padding. Unfortunately, in the apm821xx target, the image recipes name the device tree blob differently, meaning that in mpc85xx, the padded dtb is never consumed. Change the definition of `Build/dtb` so that it outputs the padded dtb to the correct location for it to be consumed. Also, rename the recipe to `Build/pad-dtb`, so it is clear we are building and padding the device tree blob. This change fixes Github issue #9779 [1]. [1]: https://github.com/openwrt/openwrt/issues/9779 Fixes:7e614820a8
("mpc85xx: add support for Extreme Networks WS-AP3825i") Signed-off-by: Martin Kennedy <hurricos@gmail.com> (cherry picked from commit1d06277407
)
97 lines
3.7 KiB
Makefile
97 lines
3.7 KiB
Makefile
define Build/MultiImage
|
|
rm -rf $@.fakerd $@.new
|
|
|
|
dd if=/dev/zero of=$@.fakerd bs=32 count=1 conv=sync
|
|
|
|
-$(STAGING_DIR_HOST)/bin/mkimage -A $(LINUX_KARCH) -O linux -T multi -C $(1) \
|
|
-a $(KERNEL_LOADADDR) -e $(KERNEL_ENTRY) -n '$(BOARD_NAME) initramfs' \
|
|
-d $@:$@.fakerd:$(KDIR)/image-$(firstword $(DEVICE_DTS)).dtb $@.new
|
|
mv $@.new $@
|
|
rm -rf $@.fakerd
|
|
endef
|
|
|
|
define Device/aerohive_hiveap-330
|
|
DEVICE_VENDOR := Aerohive
|
|
DEVICE_MODEL := HiveAP-330
|
|
DEVICE_ALT0_VENDOR := Aerohive
|
|
DEVICE_ALT0_MODEL := HiveAP-350
|
|
DEVICE_PACKAGES := kmod-tpm-i2c-atmel kmod-hwmon-lm70
|
|
BLOCKSIZE := 128k
|
|
KERNEL := kernel-bin | uImage none
|
|
KERNEL_INITRAMFS := kernel-bin | MultiImage none
|
|
KERNEL_SIZE := 16m
|
|
IMAGES := sysupgrade.bin
|
|
IMAGE/sysupgrade.bin := append-dtb | pad-to 256k | append-kernel | \
|
|
append-rootfs | pad-rootfs | check-size | append-metadata
|
|
IMAGE_SIZE = 63m
|
|
DEVICE_COMPAT_VERSION := 2.0
|
|
DEVICE_COMPAT_MESSAGE := \n$\
|
|
!The partitioning of the HiveAP 330 has changed! \n$\
|
|
To upgrade, please take a look at the install instructions over \
|
|
at the device's wiki: <https://openwrt.org/toh/aerohive/hiveap-330> \n$\
|
|
An abridged version for the console is provided here for comfort. \n$\
|
|
Run the following script into a shell on the device and retry this \
|
|
sysupgrade again: \n$\
|
|
cat <<- "EOF" > /tmp/uboot-fix.sh; sh /tmp/uboot-fix.sh \n$\
|
|
. /lib/functions.sh \n$\
|
|
. /lib/functions/system.sh \n$\
|
|
opkg update && opkg install uboot-envtools kmod-mtd-rw || exit 2 \n$\
|
|
insmod mtd-rw i_want_a_brick=y || exit 3 \n$\
|
|
echo "/dev/mtd$$$$(find_mtd_index u-boot-env) 0x0 0x20000 0x10000" > "/etc/fw_env.config" \n$\
|
|
fw_setenv owrt_boot 'setenv bootargs console=ttyS0,9600;bootm 0xEC040000 - 0xEC000000' \n$\
|
|
cp "/dev/mtd$$$$(find_mtd_index 'u-boot')" /tmp/uboot \n$\
|
|
cp /tmp/uboot /tmp/uboot_patched \n$\
|
|
strings -td < /tmp/uboot | grep '^ *[0-9]* *\\(run owrt_boot\\|setenv bootargs\\).*cp\\.l' | \n$\
|
|
awk '{print $$$$1}' | \n$\
|
|
while read offset; do \n$\
|
|
echo -n "run owrt_boot; " | dd of=/tmp/uboot_patched bs=1 seek=$$$${offset} conv=notrunc \n$\
|
|
done \n$\
|
|
mtd write /tmp/uboot_patched u-boot \n$\
|
|
uci set system.@system[0].compat_version=2.0; uci commit; \n$\
|
|
EOF \n$\
|
|
\n$\
|
|
Note that if this fails, you will need to use the serial console \n$\
|
|
to re-install OpenWrt. \n$\
|
|
Note that after this sysupgrade, the AP will be unavailable for 7 \n$\
|
|
minutes to reformat flash."
|
|
|
|
endef
|
|
TARGET_DEVICES += aerohive_hiveap-330
|
|
|
|
define Device/enterasys_ws-ap3710i
|
|
DEVICE_VENDOR := Enterasys
|
|
DEVICE_MODEL := WS-AP3710i
|
|
BLOCKSIZE := 128k
|
|
KERNEL = kernel-bin | lzma | fit lzma $(KDIR)/image-$$(DEVICE_DTS).dtb
|
|
IMAGES := sysupgrade.bin
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
|
|
endef
|
|
TARGET_DEVICES += enterasys_ws-ap3710i
|
|
|
|
define Device/extreme-networks_ws-ap3825i
|
|
DEVICE_VENDOR := Extreme Networks
|
|
DEVICE_MODEL := WS-AP3825i
|
|
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
|
|
BLOCKSIZE := 128k
|
|
DTB_SIZE := 20480
|
|
KERNEL = kernel-bin | lzma | pad-dtb | fit lzma $(KDIR)/image-$$(DEVICE_DTS).dtb
|
|
IMAGES := sysupgrade.bin
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
|
|
endef
|
|
TARGET_DEVICES += extreme-networks_ws-ap3825i
|
|
|
|
define Device/ocedo_panda
|
|
DEVICE_VENDOR := OCEDO
|
|
DEVICE_MODEL := Panda
|
|
DEVICE_PACKAGES := kmod-rtc-ds1307
|
|
KERNEL = kernel-bin | gzip | fit gzip $(KDIR)/image-$$(DEVICE_DTS).dtb
|
|
PAGESIZE := 2048
|
|
SUBPAGESIZE := 512
|
|
BLOCKSIZE := 128k
|
|
IMAGES := fdt.bin sysupgrade.bin
|
|
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
|
IMAGE/fdt.bin := append-dtb
|
|
endef
|
|
TARGET_DEVICES += ocedo_panda
|
|
|