summaryrefslogtreecommitdiffstats
path: root/builder
diff options
context:
space:
mode:
authorjandob2015-12-05 12:04:38 +0100
committerjandob2015-12-05 12:04:38 +0100
commit3451fc36bfed22a87042724ad8d848dbe67acd6c (patch)
tree128de9867d70f431a773287e2ee8a9f49e216bb1 /builder
parentfix (diff)
downloadsystemd-init-3451fc36bfed22a87042724ad8d848dbe67acd6c.tar.gz
systemd-init-3451fc36bfed22a87042724ad8d848dbe67acd6c.tar.xz
systemd-init-3451fc36bfed22a87042724ad8d848dbe67acd6c.zip
improved block device discovery
Diffstat (limited to 'builder')
-rwxr-xr-xbuilder/dnbd3-rootfs/hooks/pre-mount/prepare-root-partition.sh23
-rwxr-xr-xbuilder/dnbd3-rootfs/module-setup.sh2
m---------builder/dnbd3-rootfs/scripts/rebash0
3 files changed, 17 insertions, 8 deletions
diff --git a/builder/dnbd3-rootfs/hooks/pre-mount/prepare-root-partition.sh b/builder/dnbd3-rootfs/hooks/pre-mount/prepare-root-partition.sh
index dd02b439..2b266012 100755
--- a/builder/dnbd3-rootfs/hooks/pre-mount/prepare-root-partition.sh
+++ b/builder/dnbd3-rootfs/hooks/pre-mount/prepare-root-partition.sh
@@ -33,17 +33,26 @@ systemd-preserve-process-marker qemu-nbd --connect="$nbd_device" \
touch $nbd_device
udevadm settle
-local read_only_partition=$(utils.find_block_device \
- "$SLX_SYSTEM_PARTITION_IDENTIFIER" "$nbd_device")
-if [ -z "$read_only_partition" ]; then
- logging.warn "no partition with identifier " \
- "'$SLX_SYSTEM_PARTITION_IDENTIFIER' found on device"
+local read_only_partition
+if ! read_only_partition=$(utils.find_block_device \
+ "$SLX_SYSTEM_PARTITION_IDENTIFIER" "$nbd_device"); then
+ logging.warn "Failed to find unique device with identifier" \
+ "'${SLX_SYSTEM_PARTITION_IDENTIFIER}'; matched devices:" \
+ "'${read_only_partition}'"
emergency_shell
fi
+
# Make read-only partition writable.
+
## detect partition for persistent storage
-local persistent_device=$(utils.find_block_device \
- "$SLX_WRITABLE_DEVICE_IDENTIFIER")
+local persistent_device
+if ! persistent_device=$(utils.find_block_device \
+ "$SLX_WRITABLE_DEVICE_IDENTIFIER"); then
+ logging.warn "Failed to find unique device with identifier" \
+ "'${SLX_WRITABLE_DEVICE_IDENTIFIER}'; matched devices:" \
+ "'${persistent_device}'"
+fi
+
# TODO move somewhere else
#local tmp_device="$(utils.find_block_device \
#'$SLX_TMP_PARTITION_IDENTIFIER')"
diff --git a/builder/dnbd3-rootfs/module-setup.sh b/builder/dnbd3-rootfs/module-setup.sh
index 64452cfe..a00ad048 100755
--- a/builder/dnbd3-rootfs/module-setup.sh
+++ b/builder/dnbd3-rootfs/module-setup.sh
@@ -154,7 +154,7 @@ install() {
mount fdisk mkfs.xfs env busybox ps agetty \
insmod qemu-nbd blockdev partx dmsetup sed cut awk tr insmod qemu-nbd \
blockdev partx dmsetup cat cut awk losetup dd mkfs.ext4 grep \
- basename dirname
+ basename dirname sort
# Production:
# inst_multiple insmod qemu-nbd blockdev partx dmsetup cat cut awk tr \
# losetup dd mkfs.ext4 grep
diff --git a/builder/dnbd3-rootfs/scripts/rebash b/builder/dnbd3-rootfs/scripts/rebash
-Subproject 379686ab4556cdb9b5929480e11c48cb8d74c36
+Subproject 30c6afbc5afc8ce83ee91f1249e29086d49ce4e