|
|
|
@ -1,11 +1,33 @@ |
|
|
|
|
# |
|
|
|
|
# Copyright (C) 2010 OpenWrt.org |
|
|
|
|
# Copyright (C) 2014 OpenWrt.org |
|
|
|
|
# |
|
|
|
|
|
|
|
|
|
. /lib/functions/octeon.sh |
|
|
|
|
|
|
|
|
|
platform_get_rootfs() { |
|
|
|
|
local rootfsdev |
|
|
|
|
|
|
|
|
|
if read cmdline < /proc/cmdline; then |
|
|
|
|
case "$cmdline" in |
|
|
|
|
*block2mtd=*) |
|
|
|
|
rootfsdev="${cmdline##*block2mtd=}" |
|
|
|
|
rootfsdev="${rootfsdev%%,*}" |
|
|
|
|
;; |
|
|
|
|
*root=*) |
|
|
|
|
rootfsdev="${cmdline##*root=}" |
|
|
|
|
rootfsdev="${rootfsdev%% *}" |
|
|
|
|
;; |
|
|
|
|
esac |
|
|
|
|
|
|
|
|
|
echo "${rootfsdev}" |
|
|
|
|
fi |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
platform_do_upgrade() { |
|
|
|
|
local board=$(octeon_board_name) |
|
|
|
|
local rootfs="$(platform_get_rootfs)" |
|
|
|
|
|
|
|
|
|
[ -d "${rootfs}" ] || return 1 |
|
|
|
|
|
|
|
|
|
case "$board" in |
|
|
|
|
erlite) |
|
|
|
@ -22,7 +44,7 @@ platform_do_upgrade() { |
|
|
|
|
mount -t vfat /dev/sda1 /boot |
|
|
|
|
tar xf $tar_file sysupgrade-erlite/kernel -O > /boot/vmlinux.64 |
|
|
|
|
md5sum /boot/vmlinux.64 | cut -f1 -d " " > /boot/vmlinux.64.md5 |
|
|
|
|
tar xf $tar_file sysupgrade-erlite/root -O | dd of=/dev/sda2 bs=4096 |
|
|
|
|
tar xf $tar_file sysupgrade-erlite/root -O | dd of="${rootfs}" bs=4096 |
|
|
|
|
sync |
|
|
|
|
umount /mnt |
|
|
|
|
return 0 |
|
|
|
|