From c0713183fddc6683121e10d9d3b488599da3a5b4 Mon Sep 17 00:00:00 2001 From: Martin Pietsch <martin.pietsch@tu-dresden.de> Date: Wed, 13 Nov 2019 14:00:47 +0100 Subject: [PATCH] added function createTargetDirectoryLayout --- files/diskspreparation.sh | 56 +++++++++++++++++++++++++++++++++------ 1 file changed, 48 insertions(+), 8 deletions(-) diff --git a/files/diskspreparation.sh b/files/diskspreparation.sh index 512e89a..c96e9c9 100755 --- a/files/diskspreparation.sh +++ b/files/diskspreparation.sh @@ -266,7 +266,8 @@ formatDiskPartitions() { # generateFSTab - generate fstab file # parameter: # $1 - path of fstab file -# $2 - mount path prefix (optional) +# $2 - mount with UUID +# $3 - mount path prefix (optional) # return: # none generateFSTab() { @@ -279,10 +280,11 @@ generateFSTab() { local opts local dmp local pass + local dev - if [ $# -eq 2 ]; + if [ $# -eq 3 ]; then - mntpntpfx="$2" + mntpntpfx="$3" fi echo -e "#device mount point filesystem options dump pass\n" >$1 @@ -306,12 +308,18 @@ generateFSTab() { if [ -n "${fs}" -a -n "${mntpnt}" -a -n "${uuid}" ]; then + case ${2} in + "uuid") dev="UUID=${uuid}" ;; + *) + dev="/dev/${disk}${idx}" + ;; + esac echo "#/dev/${disk}${idx}" >>$1 - if [ ${mntpnt} != "none" ]; + if [ "${mntpnt}" != "none" ]; then - echo -e "UUID=${uuid} ${mntpntpfx}${mntpnt} ${fs} ${opts} ${dmp} ${pass}\n" >>$1 + echo -e "${dev} ${mntpntpfx}${mntpnt} ${fs} ${opts} ${dmp} ${pass}\n" >>$1 else - echo -e "UUID=${uuid} ${mntpnt} ${fs} ${opts} ${dmp} ${pass}\n" >>$1 + echo -e "${dev} ${mntpnt} ${fs} ${opts} ${dmp} ${pass}\n" >>$1 fi fi idx=$((${idx} + 1)) @@ -319,6 +327,37 @@ generateFSTab() { done } +# createTargetDirectoryLayout - create directory layout for target installation +# parameter: +# $1 - path to target directory +# return: +# none +createTargetDirectoryLayout(){ + local idx + local mntpnt + local fs + + for disk in ${DISK_DEVICES[@]} + do + idx=1 + for part in $(eval "for p in \${DISK_$(echo ${disk} | tr [a-z] [A-Z])_PARTITIONS[@]}; do echo \$p; done ") + do + fs=$(blkid -s TYPE -o value /dev/${disk}${idx}) + mntpnt=$(echo ${part} | cut -f 3 -d ";") + if [ "${fs}" = "swap" -o "${fs}" = "linux-swap" ]; + then + mntpnt="none" + fi + + if [ "${mntpnt}" != "none" ]; + then + mkdir -p $1/${mntpnt} + fi + idx=$((${idx} + 1)) + done + done +} + for disk in ${DISK_DEVICES[@]} do declare -a diskdata=() @@ -348,5 +387,6 @@ do formatDiskPartitions ${disk} done -generateFSTab "/tmp/fstab.local" -generateFSTab "/tmp/fstab.target" "/target" +generateFSTab "/tmp/fstab.local" "uuid" +generateFSTab "/tmp/fstab.target" "dev" "/target" +createTargetDirectoryLayout "/target" -- GitLab