d2b74b4cf0
Patch tested on v2016.1.x branch with Freifunk Magdeburg firmware on Debian Jessie amd64 Xen host. See the same patch in our gluon fork here: https://github.com/FreifunkMD/gluon/blob/fix-sysupgrade-xen/patches/openwrt/0058-x86-fix-platform_export_bootpart-for-Xen-virtual-disks.patch Sysupgrade was tested successfully by manually making the change before upgrading in the filesystem of the running node and upgrading to the fixed FFMD experimental build in config mode via expert settings in webgui. Patch also submitted to OpenWRT trunk already. Signed-off-by: Alexander Dahl <alex@netz39.de>
26 lines
1.2 KiB
Diff
26 lines
1.2 KiB
Diff
From: Alexander Dahl <alex@netz39.de>
|
|
Date: Thu, 17 Mar 2016 15:04:09 +0100
|
|
Subject: x86: fix platform_export_bootpart() for Xen virtual disks
|
|
|
|
Virtual disk devices in a Xen virtual machine (DomU) can be /dev/xvda,
|
|
/dev/xvdb and so on with partitions like /dev/xdva1. Devices named like
|
|
this where not considered before. This resulted in a non working
|
|
sysupgrade, because the boot partition could not be found.
|
|
|
|
Signed-off-by: Alexander Dahl <alex@netz39.de>
|
|
Suggested-by: Matthias Schiffer <mschiffer@universe-factory.net>
|
|
|
|
diff --git a/target/linux/x86/base-files/lib/upgrade/platform.sh b/target/linux/x86/base-files/lib/upgrade/platform.sh
|
|
index 73ab5ef..adc119c 100644
|
|
--- a/target/linux/x86/base-files/lib/upgrade/platform.sh
|
|
+++ b/target/linux/x86/base-files/lib/upgrade/platform.sh
|
|
@@ -17,7 +17,7 @@ platform_export_bootpart() {
|
|
PARTUUID=[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]-02)
|
|
uuid="${disk#PARTUUID=}"
|
|
uuid="${uuid%-02}"
|
|
- for disk in /dev/[hsv]d[a-z]; do
|
|
+ for disk in /dev/[hsv]d[a-z] /dev/xvd[a-z]; do
|
|
set -- $(dd if=$disk bs=1 skip=440 count=4 2>/dev/null | hexdump -v -e '4/1 "%02x "')
|
|
if [ "$4$3$2$1" = "$uuid" ]; then
|
|
export BOOTPART="${disk}1"
|