octeon: sysupgrade: get rootfsdev from kernel cmdline

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>

SVN-Revision: 43517
This commit is contained in:
John Crispin 2014-12-05 00:19:46 +00:00
parent e6858f5f3f
commit 28a9d9853b

View File

@ -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