summaryrefslogtreecommitdiffstats
path: root/builder/dnbd3-rootfs/scripts
diff options
context:
space:
mode:
authortorben2015-11-05 17:59:37 +0100
committertorben2015-11-05 17:59:37 +0100
commit736da5c94132ed207fd302d1fa4e32d78ca16876 (patch)
treee5cb467b48fd9c3b6a3df146f81859e7936239d7 /builder/dnbd3-rootfs/scripts
parentbug fixing (diff)
downloadsystemd-init-736da5c94132ed207fd302d1fa4e32d78ca16876.tar.gz
systemd-init-736da5c94132ed207fd302d1fa4e32d78ca16876.tar.xz
systemd-init-736da5c94132ed207fd302d1fa4e32d78ca16876.zip
Fix parameter.
Diffstat (limited to 'builder/dnbd3-rootfs/scripts')
-rw-r--r--builder/dnbd3-rootfs/scripts/utils.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/builder/dnbd3-rootfs/scripts/utils.sh b/builder/dnbd3-rootfs/scripts/utils.sh
index 4c0ffee2..95a17af4 100644
--- a/builder/dnbd3-rootfs/scripts/utils.sh
+++ b/builder/dnbd3-rootfs/scripts/utils.sh
@@ -99,3 +99,25 @@ function utils_dependency_check() {
done
return $result
}
+function utils_create_partition_via_offset() {
+ local device="$1"
+ local nameOrUUID="$2"
+ local loopDevice=$(losetup -f)
+
+ local sectorSize=$(blockdev --getbsz $device)
+ local partitionInfo=$(partx --raw --noheadings --output START,NAME,UUID /dev/nbd0 2>/dev/null| grep $nameOrUUID)
+ local offsetSectors=$(echo $partitionInfo | cut -d' ' -f1)
+ if [ -z "$offsetSectors" ]; then
+ warn "could not find partition with label/uuid '$nameOrUUID' on device $device"
+ return 1
+ fi
+ #warn $(($offsetSectors*512)) # could overflow on 32bit systems
+ local offsetBytes=$(echo $| awk -v x=$offsetSectors -v y=$sectorSize '{print x * y}')
+
+ # test if mount works directly (problem with btrfs device id)
+ #mount -v -o loop,offset=$offsetBytes $device $mountPoint
+ losetup -v -o $offsetBytes $loopDevice $device
+ echo $loopDevice
+}
+
+