procd: fix initial nand sysupgrade

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

Backport of r42884

git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@42887 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd 2014-10-12 15:51:35 +00:00
parent 0273133e34
commit 038578cac7
1 changed files with 14 additions and 0 deletions

View File

@ -10,6 +10,18 @@ CI_KERNPART="kernel"
# 'ubi' partition on NAND contains UBI
CI_UBIPART="ubi"
ubi_mknod() {
local dir="$1"
local dev="/dev/$(basename $dir)"
[ -e "$dev" ] && return 0
local devid="$(cat $dir/dev)"
local major="${devid%%:*}"
local minor="${devid##*:}"
mknod "$dev" c $major $minor
}
nand_find_volume() {
local ubidevdir ubivoldir
ubidevdir="/sys/devices/virtual/ubi/$1"
@ -18,6 +30,7 @@ nand_find_volume() {
[ ! -d "$ubivoldir" ] && continue
if [ "$( cat $ubivoldir/name )" = "$2" ]; then
basename $ubivoldir
ubi_mknod "$ubivoldir"
return 0
fi
done
@ -33,6 +46,7 @@ nand_find_ubi() {
[ ! "$mtdnum" ] && continue
if [ "$mtdnum" = "$cmtdnum" ]; then
ubidev=$( basename $ubidevdir )
ubi_mknod "$ubidevdir"
echo $ubidev
return 0
fi