diff options
author | Jonathan Bauer | 2020-06-05 17:32:19 +0200 |
---|---|---|
committer | Jonathan Bauer | 2020-06-05 17:32:19 +0200 |
commit | c46db51a44224ad644b61f85ceb7c21a1ef245f4 (patch) | |
tree | f599ed34642284989631177290385737afbb4aab /modules.d/dnbd3-rootfs/hooks | |
parent | [dnbd3-rootfs] minor formatting (diff) | |
parent | [dnbd3-rootfs] KCL > SLX_DNBD3_IMAGE (diff) | |
download | systemd-init-c46db51a44224ad644b61f85ceb7c21a1ef245f4.tar.gz systemd-init-c46db51a44224ad644b61f85ceb7c21a1ef245f4.tar.xz systemd-init-c46db51a44224ad644b61f85ceb7c21a1ef245f4.zip |
Merge branch 'downloader' into downloader-xloop
Diffstat (limited to 'modules.d/dnbd3-rootfs/hooks')
-rwxr-xr-x | modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh b/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh index 479b5c1d..d8de7c92 100755 --- a/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh +++ b/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh @@ -34,7 +34,7 @@ container_unpack_xmount() { echo "$out_device" } -container_unpack_xlosetup() { +container_unpack_xloop() { local in_device="$1" local out_device="$(xlosetup -f)" if ! xlosetup -r -t QCOW "$out_device" "$in_device" --partscan; then @@ -47,24 +47,25 @@ container_unpack_xlosetup() { # endregion # region connect dnbd3 image -# Determine stage4 image path and revision -if [ -z "$SLX_DNBD3_IMAGE" ]; then - # specified on the KCL? - SLX_DNBD3_IMAGE="$(getarg slx.stage4.path=)" +# Determine path to dnbd3 image: either on the kcl or via config file +declare -r KCL_DNBD3_IMAGE="$(getarg slx.stage4.path=)" +if [ -n "$KCL_DNBD3_IMAGE" ]; then + SLX_DNBD3_IMAGE="$KCL_DNBD3_IMAGE" + echo "SLX_DNBD3_IMAGE='$SLX_DNBD3_IMAGE'" >> /etc/openslx fi if [ -z "$SLX_DNBD3_IMAGE" ]; then - # not specified, fall back to old bwlp default path convention - SLX_DNBD3_IMAGE="stage4/bwlp/maxilinux-$(uname -r)" + emergency_shell "Failed to determine which DNBD3 image to use." \ + "It was neither specified on kernel command line nor in the" \ + "configuration file." fi -# save it for later -echo "SLX_DNBD3_IMAGE='$SLX_DNBD3_IMAGE'" >> /etc/openslx -if [ -z "$SLX_DNBD3_RID" ]; then +declare -r KCL_DNBD3_RID="$(getarg slx.stage4.rid=)" +if [ -n "$KCL_DNBD3_RID" ]; then # specified on the KCL? - SLX_DNBD3_RID="$(getarg slx.stage4.rid=)" + SLX_DNBD3_RID="$KCL_DNBD3_RID" + echo "SLX_DNBD3_RID='$SLX_DNBD3_RID'" >> /etc/openslx fi if [ -n "$SLX_DNBD3_RID" ]; then _dnbd3_client_additional_args=("--rid" "$SLX_DNBD3_RID") - echo "SLX_DNBD3_RID='$SLX_DNBD3_RID'" >> /etc/openslx fi IFS=", " @@ -98,7 +99,7 @@ if [ -z "$SLX_QCOW_HANDLER" ]; then echo "SLX_QCOW_HANDLER='$SLX_QCOW_HANDLER'" >> /etc/openslx fi if [ "$SLX_QCOW_HANDLER" = "kernel" ]; then - read_only_device="$(container_unpack_xlosetup "$_dnbd3_dev")" + read_only_device="$(container_unpack_xloop "$_dnbd3_dev")" fi if [ -z "$read_only_device" ] || [ "$SLX_QCOW_HANDLER" = "xmount" ]; then read_only_device="$(container_unpack_xmount "$_dnbd3_dev")" |