diff options
author | John Crispin <blogic@openwrt.org> | 2014-12-05 00:19:46 +0000 |
---|---|---|
committer | John Crispin <blogic@openwrt.org> | 2014-12-05 00:19:46 +0000 |
commit | 8a1d47919c266240f953810786e6f9f0e14bae00 (patch) | |
tree | 2ff63b94eabf18c1def8f0ecd4a9fe2a0d9a0d5e /target | |
parent | f5ea60f000d1a53780c57b0a641201f317c63ced (diff) | |
download | master-187ad058-8a1d47919c266240f953810786e6f9f0e14bae00.tar.gz master-187ad058-8a1d47919c266240f953810786e6f9f0e14bae00.tar.bz2 master-187ad058-8a1d47919c266240f953810786e6f9f0e14bae00.zip |
octeon: sysupgrade: get rootfsdev from kernel cmdline
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43517 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rwxr-xr-x | target/linux/octeon/base-files/lib/upgrade/platform.sh | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/target/linux/octeon/base-files/lib/upgrade/platform.sh b/target/linux/octeon/base-files/lib/upgrade/platform.sh index e4c7b6f438..11399a2629 100755 --- a/target/linux/octeon/base-files/lib/upgrade/platform.sh +++ b/target/linux/octeon/base-files/lib/upgrade/platform.sh @@ -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 |