X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fhooks%2Fpartition.DEFAULT;fp=fai%2Fconfig%2Fhooks%2Fpartition.demohost;h=2632da4a990c4e6685a72a5afbe656ecc49bfc9c;hb=eae06d9028e4e70a211afef4a73b971067203da1;hp=2adaad9a48d41578f37df46c5365d8a945a57084;hpb=bba7eb6d061e8a98ffb744acb957cb9f725996cb;p=automated-distro-installer diff --git a/fai/config/hooks/partition.demohost b/fai/config/hooks/partition.DEFAULT similarity index 91% rename from fai/config/hooks/partition.demohost rename to fai/config/hooks/partition.DEFAULT index 2adaad9..2632da4 100755 --- a/fai/config/hooks/partition.demohost +++ b/fai/config/hooks/partition.DEFAULT @@ -5,9 +5,8 @@ trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?"' ERR # # fai's setup-storage won't do btrfs on luks, # # so we do it ourself :) -skiptask partition -repartition=false +partition=false # keyfiles generated like: # head -c 2048 /dev/urandom | od | s dd of=/q/root/luks/host-demohost @@ -17,13 +16,26 @@ letters=(a) if ifclass VM; then d=/dev/vd - letters=(a b) else d=/dev/sd fi -devs=() -for letter in ${letters[@]}; do - devs+=($d$letter) + +if ifclass TWO_DISK; then + skiptask partition + devs=(${d}{a,b}) + [[ -e /dev/md127 ]] || partition=true +elif ifclass ONE_DISK; then + skiptask partition + devs=(${d}a) +else + exit +fi + +# somewhat crude detection of wehter to partition +for dev in ${devs[@]}; do + for part in ${dev}{1,2,3,4}; do + [[ -e $part ]] || partition=true + done done @@ -47,7 +59,7 @@ fi swap_end=$(( $(grep ^MemTotal: /proc/meminfo| awk '{print $2}') * 3/(${#letters[@]} * 2 ) / 1000 + boot_end ))MiB shopt -s nullglob -if $repartition; then +if $partition; then mkdir -p /tmp/fai for dev in ${devs[@]}; do for x in /dev/md*; do [[ -d $x ]] || mdadm --stop $x; done