From fe2c7424b019136abdfade69f50fc5c47c98e812 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Tue, 6 Mar 2018 14:44:17 +0100 Subject: fixes --- .../modules.d/openslx_tmp_format/module-setup.sh | 4 +-- .../scripts/format_openslx_tmp.sh | 38 ---------------------- .../scripts/openslx_tmp_format.sh | 38 ++++++++++++++++++++++ .../modules.d/openslx_tmp_mount/module-setup.sh | 2 +- .../openslx_tmp_mount/scripts/mount_newroot_tmp.sh | 9 ----- .../openslx_tmp_mount/scripts/openslx_tmp_mount.sh | 9 +++++ 6 files changed, 49 insertions(+), 51 deletions(-) delete mode 100755 builder/modules.d/openslx_tmp_format/scripts/format_openslx_tmp.sh create mode 100755 builder/modules.d/openslx_tmp_format/scripts/openslx_tmp_format.sh delete mode 100755 builder/modules.d/openslx_tmp_mount/scripts/mount_newroot_tmp.sh create mode 100755 builder/modules.d/openslx_tmp_mount/scripts/openslx_tmp_mount.sh (limited to 'builder') diff --git a/builder/modules.d/openslx_tmp_format/module-setup.sh b/builder/modules.d/openslx_tmp_format/module-setup.sh index c20eb1dd..551d2d8e 100755 --- a/builder/modules.d/openslx_tmp_format/module-setup.sh +++ b/builder/modules.d/openslx_tmp_format/module-setup.sh @@ -9,8 +9,6 @@ depends() { echo dnbd3-rootfs } install() { - # must be *after* the download of the openslx config - # which is currently 00-fetch-config.sh - inst_hook pre-mount 10 "$moddir/scripts/format_openslx_tmp.sh" + inst_hook pre-pivot 20 "$moddir/scripts/openslx_tmp_format.sh" inst_multiple mkfs.xfs mkfs.ext4 } diff --git a/builder/modules.d/openslx_tmp_format/scripts/format_openslx_tmp.sh b/builder/modules.d/openslx_tmp_format/scripts/format_openslx_tmp.sh deleted file mode 100755 index 26b6cb81..00000000 --- a/builder/modules.d/openslx_tmp_format/scripts/format_openslx_tmp.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env bash -# -# Formats the partition used for "${NEWROOT}/tmp" -# using filesystem given as SLX_TMP_PARTITION_FILESYSTEM -# if possible. If not, it tries xfs and ext4 as fallbacks. - -command -v emergency_shell >/dev/null || source /lib/dracut-lib.sh - -. /etc/openslx - -if [ -z "${SLX_TMP_PARTITION_IDENTIFIER}" ]; then - emergency_shell "[${BASH_SOURCE[0]}] \ - SLX_TMP_PARTITION_IDENTIFIER not set!" -fi -SLX_TMP_PARTITION_DEVICE="/dev/disk/by-partlabel/${SLX_TMP_PARTITION_IDENTIFIER}" -if [ ! -b "$(readlink -f ${SLX_TMP_PARTITION_DEVICE})" ]; then - emergency_shell "[${BASH_SOURCE[0]}] \ - '${SLX_TMP_PARTITION_DEVICE}' does not point to a block device" -fi - -if [ -z "${SLX_TMP_PARTITION_FILESYSTEM_CREATE_COMMAND}" ] || \ - ! command -v "${SLX_TMP_PARTITION_FILESYSTEM_CREATE_COMMAND%%\ *}" >/dev/null; then - if command -v mkfs.xfs >/dev/null; then - SLX_TMP_PARTITION_FILESYSTEM_CREATE_COMMAND="mkfs.xfs -f" - elif command -v mkfs.ext4 >/dev/null; then - SLX_TMP_PARTITION_FILESYSTEM_CREATE_COMMAND="mkfs.ext4 -F" - else - emergency_shell "[${BASH_SOURCE[0]}] No suitable mkfs command found!" - fi -fi - -if ! ${SLX_TMP_PARTITION_FILESYSTEM_CREATE_COMMAND} "${SLX_TMP_PARTITION_DEVICE}"; then - emergency_shell "[${BASH_SOURCE[0]}] \ - Failed to format '${SLX_TMP_PARTITION_DEVICE}' using: \ - ${SLX_TMP_PARTITION_FILESYSTEM_CREATE_COMMAND}" -fi - -exit 0 diff --git a/builder/modules.d/openslx_tmp_format/scripts/openslx_tmp_format.sh b/builder/modules.d/openslx_tmp_format/scripts/openslx_tmp_format.sh new file mode 100755 index 00000000..26b6cb81 --- /dev/null +++ b/builder/modules.d/openslx_tmp_format/scripts/openslx_tmp_format.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash +# +# Formats the partition used for "${NEWROOT}/tmp" +# using filesystem given as SLX_TMP_PARTITION_FILESYSTEM +# if possible. If not, it tries xfs and ext4 as fallbacks. + +command -v emergency_shell >/dev/null || source /lib/dracut-lib.sh + +. /etc/openslx + +if [ -z "${SLX_TMP_PARTITION_IDENTIFIER}" ]; then + emergency_shell "[${BASH_SOURCE[0]}] \ + SLX_TMP_PARTITION_IDENTIFIER not set!" +fi +SLX_TMP_PARTITION_DEVICE="/dev/disk/by-partlabel/${SLX_TMP_PARTITION_IDENTIFIER}" +if [ ! -b "$(readlink -f ${SLX_TMP_PARTITION_DEVICE})" ]; then + emergency_shell "[${BASH_SOURCE[0]}] \ + '${SLX_TMP_PARTITION_DEVICE}' does not point to a block device" +fi + +if [ -z "${SLX_TMP_PARTITION_FILESYSTEM_CREATE_COMMAND}" ] || \ + ! command -v "${SLX_TMP_PARTITION_FILESYSTEM_CREATE_COMMAND%%\ *}" >/dev/null; then + if command -v mkfs.xfs >/dev/null; then + SLX_TMP_PARTITION_FILESYSTEM_CREATE_COMMAND="mkfs.xfs -f" + elif command -v mkfs.ext4 >/dev/null; then + SLX_TMP_PARTITION_FILESYSTEM_CREATE_COMMAND="mkfs.ext4 -F" + else + emergency_shell "[${BASH_SOURCE[0]}] No suitable mkfs command found!" + fi +fi + +if ! ${SLX_TMP_PARTITION_FILESYSTEM_CREATE_COMMAND} "${SLX_TMP_PARTITION_DEVICE}"; then + emergency_shell "[${BASH_SOURCE[0]}] \ + Failed to format '${SLX_TMP_PARTITION_DEVICE}' using: \ + ${SLX_TMP_PARTITION_FILESYSTEM_CREATE_COMMAND}" +fi + +exit 0 diff --git a/builder/modules.d/openslx_tmp_mount/module-setup.sh b/builder/modules.d/openslx_tmp_mount/module-setup.sh index 77c8f40b..cb110467 100755 --- a/builder/modules.d/openslx_tmp_mount/module-setup.sh +++ b/builder/modules.d/openslx_tmp_mount/module-setup.sh @@ -9,5 +9,5 @@ depends() { echo dnbd3-rootfs } install() { - inst_hook pre-mount 50 "$moddir/scripts/format_newroot_tmp.sh" + inst_hook pre-pivot 30 "$moddir/scripts/openslx_tmp_mount.sh" } diff --git a/builder/modules.d/openslx_tmp_mount/scripts/mount_newroot_tmp.sh b/builder/modules.d/openslx_tmp_mount/scripts/mount_newroot_tmp.sh deleted file mode 100755 index 48e733c7..00000000 --- a/builder/modules.d/openslx_tmp_mount/scripts/mount_newroot_tmp.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -. /etc/openslx - -if [ -n "$SLX_TMP_PARTITION_IDENTIFIER" ]; then - mount -t auto "/dev/disk/by-partlabel/$SLX_TMP_PARTITION_IDENTIFIER" "$NEWROOT/tmp" - chmod a+rwxt "$NEWROOT/tmp" - # TODO fstab -fi diff --git a/builder/modules.d/openslx_tmp_mount/scripts/openslx_tmp_mount.sh b/builder/modules.d/openslx_tmp_mount/scripts/openslx_tmp_mount.sh new file mode 100755 index 00000000..48e733c7 --- /dev/null +++ b/builder/modules.d/openslx_tmp_mount/scripts/openslx_tmp_mount.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +. /etc/openslx + +if [ -n "$SLX_TMP_PARTITION_IDENTIFIER" ]; then + mount -t auto "/dev/disk/by-partlabel/$SLX_TMP_PARTITION_IDENTIFIER" "$NEWROOT/tmp" + chmod a+rwxt "$NEWROOT/tmp" + # TODO fstab +fi -- cgit v1.2.3-55-g7522