diff options
author | Jonathan Bauer | 2017-03-07 11:14:32 +0100 |
---|---|---|
committer | Jonathan Bauer | 2017-03-07 11:14:32 +0100 |
commit | 9b61577c3ceb809c2473d4757590a01054466eaf (patch) | |
tree | 2bbbd2dc0a7e79f8509b53bef2f1aba939900489 /builder/modules.d/dnbd3-rootfs/scripts/container-unpack-xmount.sh | |
parent | Yannick Bilger's WLAN boot prototype (diff) | |
download | systemd-init-9b61577c3ceb809c2473d4757590a01054466eaf.tar.gz systemd-init-9b61577c3ceb809c2473d4757590a01054466eaf.tar.xz systemd-init-9b61577c3ceb809c2473d4757590a01054466eaf.zip |
moved all dracut modules to modules.d/ + support
Diffstat (limited to 'builder/modules.d/dnbd3-rootfs/scripts/container-unpack-xmount.sh')
-rwxr-xr-x | builder/modules.d/dnbd3-rootfs/scripts/container-unpack-xmount.sh | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/builder/modules.d/dnbd3-rootfs/scripts/container-unpack-xmount.sh b/builder/modules.d/dnbd3-rootfs/scripts/container-unpack-xmount.sh new file mode 100755 index 00000000..c7e1b45c --- /dev/null +++ b/builder/modules.d/dnbd3-rootfs/scripts/container-unpack-xmount.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +# -*- coding: utf-8 -*- +# region imports +source '/usr/lib/rebash/core.sh' +core.import logging +core.import utils +core.import exceptions +exceptions.activate +# endregion +logging.set_level info +logging.set_commands_level info + +# NOTE: All output has to be forwarded to standard error because determined +# device should be printed on standard output. +in_device="$1" +mkdir --parents /mnt/xmount +loop_device="$(losetup --find)" +if ! utils.dependency_check xmount; then + logging.warn "\"xmount\" not found, assuming raw image." 1>&2 +elif systemd-preserve-process-marker xmount --in qemu "$in_device" --out raw \ + /mnt/xmount &>/dev/null +then + in_device="/mnt/xmount/*.dd" +else + logging.warn "\"xmount\" call failed, assuming raw image." 1>&2 +fi +losetup "$loop_device" $in_device --partscan +udevadm settle +echo "$loop_device" + +# region vim modline +# vim: set tabstop=4 shiftwidth=4 expandtab: +# vim: foldmethod=marker foldmarker=region,endregion: +# endregion |