forked from Ivasoft/openwrt
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>
This commit is contained in:
committed by
Felix Fietkau
parent
d37d16488c
commit
dc7efaefb5
@@ -14,6 +14,10 @@ apm821xx_board_detect() {
|
||||
name="mr24"
|
||||
;;
|
||||
|
||||
*"MyBook Live"*)
|
||||
name="mbl"
|
||||
;;
|
||||
|
||||
*)
|
||||
name="unknown"
|
||||
;;
|
||||
|
||||
13
target/linux/apm821xx/base-files/lib/preinit/79_move_config
Normal file
13
target/linux/apm821xx/base-files/lib/preinit/79_move_config
Normal file
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOOTPART=/dev/sda1
|
||||
|
||||
move_config() {
|
||||
if [ -b $BOOTPART ]; then
|
||||
mkdir -p /boot
|
||||
mount -t ext4 -o rw,noatime $BOOTPART /boot
|
||||
[ -f /boot/sysupgrade.tgz ] && mv -f /boot/sysupgrade.tgz /
|
||||
fi
|
||||
}
|
||||
|
||||
boot_hook_add preinit_mount_root move_config
|
||||
@@ -11,6 +11,11 @@ platform_check_image() {
|
||||
[ "$#" -gt 1 ] && return 1
|
||||
|
||||
case "$board" in
|
||||
mbl)
|
||||
mbl_do_platform_check $board "$1"
|
||||
return $?;
|
||||
;;
|
||||
|
||||
mr24)
|
||||
merakinand_do_platform_check $board "$1"
|
||||
return $?;
|
||||
@@ -41,6 +46,10 @@ platform_do_upgrade() {
|
||||
local board=$(apm821xx_board_name)
|
||||
|
||||
case "$board" in
|
||||
mbl)
|
||||
mbl_do_upgrade "$ARGV"
|
||||
;;
|
||||
|
||||
*)
|
||||
default_do_upgrade "$ARGV"
|
||||
;;
|
||||
@@ -51,6 +60,10 @@ platform_copy_config() {
|
||||
local board=$(apm821xx_board_name)
|
||||
|
||||
case "$board" in
|
||||
mbl)
|
||||
mbl_copy_config
|
||||
;;
|
||||
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
36
target/linux/apm821xx/base-files/lib/upgrade/wdbook.sh
Normal file
36
target/linux/apm821xx/base-files/lib/upgrade/wdbook.sh
Normal file
@@ -0,0 +1,36 @@
|
||||
. /lib/functions.sh
|
||||
|
||||
get_magic_at() {
|
||||
local file="$1"
|
||||
local pos="$2"
|
||||
get_image "$file" | dd bs=1 count=2 skip="$pos" 2>/dev/null | hexdump -v -n 2 -e '1/1 "%02x"'
|
||||
}
|
||||
|
||||
mbl_do_platform_check() {
|
||||
local board="$1"
|
||||
local file="$2"
|
||||
local magic
|
||||
|
||||
magic=$(get_magic_at "$file" 510)
|
||||
|
||||
[ "$magic" != "55aa" ] && {
|
||||
echo "Failed to verify MBR boot signature."
|
||||
return 1
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
mbl_do_upgrade() {
|
||||
sync
|
||||
get_image "$1" | dd of=/dev/sda bs=2M conv=fsync
|
||||
sleep 1
|
||||
}
|
||||
|
||||
mbl_copy_config() {
|
||||
mkdir -p /boot
|
||||
[ -f /boot/uImage ] || mount -t ext4 -o rw,noatime /dev/sda1 /boot
|
||||
cp -af "$CONF_TAR" /boot/
|
||||
sync
|
||||
umount /boot
|
||||
}
|
||||
Reference in New Issue
Block a user