Device specifications: ====================== * Qualcomm/Atheros AR9330 rev 1 * 400/400/200 MHz (CPU/DDR/AHB) * 64 MB of RAM * 16 MB of SPI NOR flash - 2x 7 MB available; but one of the 7 MB regions is the recovery image * 2x 10/100 Mbps Ethernet * 1T1R 2.4 GHz Wi-Fi * 6x GPIO-LEDs (3x wifi, 2x ethernet, 1x power) * 1x GPIO-button (reset) * external h/w watchdog (enabled by default) * TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX) * 2x fast ethernet - eth0 + builtin switch port 1 + used as LAN interface - eth1 + 18-24V passive POE (mode B) + used as WAN interface * 12-24V 1A DC * internal antennas Flashing instructions: ====================== Various methods can be used to install the actual image on the flash. Two easy ones are: ap51-flash ---------- The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be used to transfer the image to the u-boot when the device boots up. initramfs from TFTP ------------------- The serial console must be used to access the u-boot shell during bootup. It can then be used to first boot up the initramfs image from a TFTP server (here with the IP 192.168.1.21): setenv serverip 192.168.1.21 setenv ipaddr 192.168.1.1 tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr The actual sysupgrade image can then be transferred (on the LAN port) to the device via scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/ On the device, the sysupgrade must then be started using sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin Signed-off-by: Sven Eckelmann <sven@narfation.org>
75 lines
1.7 KiB
Bash
75 lines
1.7 KiB
Bash
#
|
|
# Copyright (C) 2011 OpenWrt.org
|
|
#
|
|
|
|
PART_NAME=firmware
|
|
REQUIRE_IMAGE_METADATA=1
|
|
|
|
RAMFS_COPY_BIN='fw_printenv fw_setenv'
|
|
RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
|
|
|
|
redboot_fis_do_upgrade() {
|
|
local append
|
|
local sysup_file="$1"
|
|
local kern_part="$2"
|
|
local magic=$(get_magic_word "$sysup_file")
|
|
|
|
if [ "$magic" = "4349" ]; then
|
|
local kern_length=0x$(dd if="$sysup_file" bs=2 skip=1 count=4 2>/dev/null)
|
|
|
|
[ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
|
|
dd if="$sysup_file" bs=64k skip=1 2>/dev/null | \
|
|
mtd -r $append -F$kern_part:$kern_length:0x80060000,rootfs write - $kern_part:rootfs
|
|
|
|
elif [ "$magic" = "7379" ]; then
|
|
local board_dir=$(tar tf $sysup_file | grep -m 1 '^sysupgrade-.*/$')
|
|
local kern_length=$(tar xf $sysup_file ${board_dir}kernel -O | wc -c)
|
|
|
|
[ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
|
|
tar xf $sysup_file ${board_dir}kernel ${board_dir}root -O | \
|
|
mtd -r $append -F$kern_part:$kern_length:0x80060000,rootfs write - $kern_part:rootfs
|
|
|
|
else
|
|
echo "Unknown image, aborting!"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
platform_check_image() {
|
|
return 0
|
|
}
|
|
|
|
platform_do_upgrade() {
|
|
local board=$(board_name)
|
|
|
|
case "$board" in
|
|
adtran,bsap1800-v2|\
|
|
adtran,bsap1840)
|
|
redboot_fis_do_upgrade "$1" vmlinux_2
|
|
;;
|
|
jjplus,ja76pf2)
|
|
redboot_fis_do_upgrade "$1" linux
|
|
;;
|
|
openmesh,om2p-v4|\
|
|
openmesh,om2p-hs-v1|\
|
|
openmesh,om2p-hs-v2|\
|
|
openmesh,om2p-hs-v3|\
|
|
openmesh,om2p-hs-v4|\
|
|
openmesh,om2p-lc)
|
|
PART_NAME="inactive"
|
|
platform_do_upgrade_openmesh "$1"
|
|
;;
|
|
plasmacloud,pa300|\
|
|
plasmacloud,pa300e)
|
|
PART_NAME="inactive"
|
|
platform_do_upgrade_dualboot_datachk "$1"
|
|
;;
|
|
ubnt,routerstation|\
|
|
ubnt,routerstation-pro)
|
|
redboot_fis_do_upgrade "$1" kernel
|
|
;;
|
|
*)
|
|
default_do_upgrade "$1"
|
|
;;
|
|
esac
|
|
}
|