mirror of https://github.com/hak5/openwrt.git
base-files: upgrade: add case to export_bootdevice
The factory uboot of the Turris Omnia boots with "root=b301", and we
instruct new users to sysupgrade from there (e.g. method 1, step 7).
Currently, this will fail with "Unable to determine upgrade device".
Add a new case to export_bootdevice, which parses the hex argument.
Fixes commit 2e5a0b81
("mvebu: sysupgrade: sdcard: keep user added ...")
Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
master
parent
e0ce80d42a
commit
3a4f587c46
|
@ -103,7 +103,7 @@ get_magic_long() {
|
||||||
}
|
}
|
||||||
|
|
||||||
export_bootdevice() {
|
export_bootdevice() {
|
||||||
local cmdline bootdisk rootpart uuid blockdev uevent line
|
local cmdline bootdisk rootpart uuid blockdev uevent line class
|
||||||
local MAJOR MINOR DEVNAME DEVTYPE
|
local MAJOR MINOR DEVNAME DEVTYPE
|
||||||
|
|
||||||
if read cmdline < /proc/cmdline; then
|
if read cmdline < /proc/cmdline; then
|
||||||
|
@ -139,6 +139,18 @@ export_bootdevice() {
|
||||||
/dev/*)
|
/dev/*)
|
||||||
uevent="/sys/class/block/${rootpart##*/}/../uevent"
|
uevent="/sys/class/block/${rootpart##*/}/../uevent"
|
||||||
;;
|
;;
|
||||||
|
0x[a-f0-9][a-f0-9][a-f0-9] | 0x[a-f0-9][a-f0-9][a-f0-9][a-f0-9] | \
|
||||||
|
[a-f0-9][a-f0-9][a-f0-9] | [a-f0-9][a-f0-9][a-f0-9][a-f0-9])
|
||||||
|
rootpart=0x${rootpart#0x}
|
||||||
|
for class in /sys/class/block/*; do
|
||||||
|
while read line; do
|
||||||
|
export -n "$line"
|
||||||
|
done < "$class/uevent"
|
||||||
|
if [ $((rootpart/256)) = $MAJOR -a $((rootpart%256)) = $MINOR ]; then
|
||||||
|
uevent="$class/../uevent"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if [ -e "$uevent" ]; then
|
if [ -e "$uevent" ]; then
|
||||||
|
|
Loading…
Reference in New Issue