diff options
author | Christian Lamparter <chunkeey@googlemail.com> | 2016-07-20 15:44:54 +0200 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2016-07-22 09:48:12 +0200 |
commit | dc7efaefb53d4671893add07934839eb8d44934d (patch) | |
tree | 712375d1b97a8cea26ce5a97ac5cff14146937a3 /target/linux/apm821xx/image/mbl_gen_recovery_tar.sh | |
parent | d37d16488c7f41306daf0d6bc6ba948b3ee547a5 (diff) | |
download | master-31e0f0ae-dc7efaefb53d4671893add07934839eb8d44934d.tar.gz master-31e0f0ae-dc7efaefb53d4671893add07934839eb8d44934d.tar.bz2 master-31e0f0ae-dc7efaefb53d4671893add07934839eb8d44934d.zip |
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>
Diffstat (limited to 'target/linux/apm821xx/image/mbl_gen_recovery_tar.sh')
-rw-r--r-- | target/linux/apm821xx/image/mbl_gen_recovery_tar.sh | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/target/linux/apm821xx/image/mbl_gen_recovery_tar.sh b/target/linux/apm821xx/image/mbl_gen_recovery_tar.sh new file mode 100644 index 0000000000..f871aefd8c --- /dev/null +++ b/target/linux/apm821xx/image/mbl_gen_recovery_tar.sh @@ -0,0 +1,92 @@ +#!/bin/sh + +# based on scripts/sysupgrade-nand.sh + +profile="" +dtb="" +dtbname="" +kernel="" +rootfs="" +outfile="" +err="" + +while [ "$1" ]; do + case "$1" in + "--profile") + profile="$2" + shift + shift + continue + ;; + "--dtb") + dtb="$2" + shift + shift + continue + ;; + "--dtbname") + dtbname="$2" + shift + shift + continue + ;; + "--kernel") + kernel="$2" + shift + shift + continue + ;; + "--rootfs") + rootfs="$2" + shift + shift + continue + ;; + *) + if [ ! "$outfile" ]; then + outfile=$1 + shift + continue + else + shift + continue + fi + ;; + esac +done + +if [ -z "$profile" -o ! -r "$dtb" -o ! -r "$kernel" -o ! -r "$rootfs" -o ! "$outfile" ]; then + echo "syntax: $0 [--profile profilename] [--dtb dtbimage] [--dtbname dtbname] [--kernel kernelimage] [--rootfs rootfs] out" + exit 1 +fi + +tmpdir="$( mktemp -d 2> /dev/null )" +if [ -z "$tmpdir" ]; then + # try OSX signature + tmpdir="$( mktemp -t 'roottmp' -d )" +fi + +if [ -z "$tmpdir" ]; then + exit 1 +fi + +mkdir -p "${tmpdir}/${profile}" +[ -z "${dtb}" ] || cp "${dtb}" "${tmpdir}/${profile}/${dtbname}" +[ -z "${rootfs}" ] || cp "${rootfs}" "${tmpdir}/${profile}/uRamdisk" +[ -z "${kernel}" ] || cp "${kernel}" "${tmpdir}/${profile}/uImage" + +mtime="" +if [ -n "$SOURCE_DATE_EPOCH" ]; then + mtime="--mtime=@${SOURCE_DATE_EPOCH}" +fi + +(cd "$tmpdir"; tar cvf ${profile}.tar ${profile} ${mtime}) +err="$?" +if [ -e "$tmpdir/${profile}.tar" ]; then + cp "$tmpdir/${profile}.tar" "$outfile" +else + err=2 +fi +rm -rf "$tmpdir" + +exit $err |