openwrt/target/linux/apm821xx/base-files/lib/upgrade/platform.sh
Christian Lamparter dc7efaefb5 apm821xx: add support for the Western Digital MyBook Live Series
Hardware Highlights:

This patch adds support for Western Digital MyBook Live Series:
CPU: AMCC PowerPC  UNKNOWN (PVR=12c41c83) at 800 MHz (PLB=200, OPB=100, EBC=100 MHz)
     32 kB I-Cache 32 kB D-Cache, 256 kB L2-Cache, 32 kB OnChip Memory
Board: Apollo-3G - APM82181 Board, 1*SATA
DRAM:  256 MB (2x NT5TU64M16GG-AC)
FLASH: 512 kB (SST 39VF040)
Ethernet: 1xRGMII - 1 Gbit - Broadcom PHY BCM54610

WARNING: The serial port needs a TTL/RS-232 v3.3 level converter!

The MyBook Live Duo additionally features a 1x USB 2.0 host port
and can support a second hard-drive.

This target produces two images for a target.
 1. ext4 image
    The extracted/raw image can be directly installed on
    the internal HDD via "dd if=img.ext4 of=/dev/sdX".

    This can either be done in place with the stock MyBook Live
    firmware via ssh. Or by removing the HDD and writing the image
    with a different PC.

    The the compressed images are useful for sysupgrade.

 2. recovery.tar image for TFTP and Serial.

    extract the recovery.tar to a TFTP server directory.

    On the MyBook Live (Duo) serial port - Hit Enter during u-boot and insert:
    # setenv serverip 192.168.1.254; setenv ipaddr 192.168.1.1; run net_self

    Where 192.168.1.254 is your TFTP server.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2016-07-22 09:48:12 +02:00

81 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
. /lib/apm821xx.sh
PART_NAME=firmware
RAMFS_COPY_DATA=/lib/apm821xx.sh
platform_check_image() {
local board=$(apm821xx_board_name)
[ "$#" -gt 1 ] && return 1
case "$board" in
mbl)
mbl_do_platform_check $board "$1"
return $?;
;;
mr24)
merakinand_do_platform_check $board "$1"
return $?;
;;
*)
;;
esac
echo "Sysupgrade is not yet supported on $board."
return 1
}
platform_pre_upgrade() {
local board=$(apm821xx_board_name)
case "$board" in
mr24)
merakinand_do_upgrade "$1"
;;
*)
;;
esac
}
platform_do_upgrade() {
local board=$(apm821xx_board_name)
case "$board" in
mbl)
mbl_do_upgrade "$ARGV"
;;
*)
default_do_upgrade "$ARGV"
;;
esac
}
platform_copy_config() {
local board=$(apm821xx_board_name)
case "$board" in
mbl)
mbl_copy_config
;;
*)
;;
esac
}
disable_watchdog() {
killall watchdog
( ps | grep -v 'grep' | grep '/dev/watchdog' ) && {
echo 'Could not disable watchdog'
return 1
}
}
append sysupgrade_pre_upgrade disable_watchdog