|
@@ -0,0 +1,25 @@
|
|
|
+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"
|