X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Ffiles%2Froot%2Ffai-check%2FVOL_BULLSEYE_BOOTSTRAP;h=1d7b5c7d296115f565f6fe379d54a56b427ce468;hb=d9993568d38dd7d2d18ced6b5007e9cc07d1e576;hp=330efcc85c8cc4a812fd5859dfb3149a75155266;hpb=f67d4b719356595b424aa3cd358abc79426583c5;p=automated-distro-installer diff --git a/fai/config/files/root/fai-check/VOL_BULLSEYE_BOOTSTRAP b/fai/config/files/root/fai-check/VOL_BULLSEYE_BOOTSTRAP index 330efcc..1d7b5c7 100755 --- a/fai/config/files/root/fai-check/VOL_BULLSEYE_BOOTSTRAP +++ b/fai/config/files/root/fai-check/VOL_BULLSEYE_BOOTSTRAP @@ -7,7 +7,7 @@ trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR usage() { cat < deadline )); then echo "fai-check: hit $NETWORK_TIMOUT_SECS s tftp server timeout" return 0 fi sleep 1 done - m pxe-kexec -n --ignore-whitelist -l fai-generated faiserver ||: + m pxe-kexec -n --ignore-whitelist -l fai-generated $faiserver ||: } +force=false case $1 in + -h|--help) + usage + ;; -f|--force) - try-kexec - exit + force=true + shift ;; esac +faiserver=${1:-faiserver} + + +if $force; then + try-kexec + exit +fi first=true for dev in $(btrfs fi show / | sed -rn 's#^\s*devid\s.*\s([^0-9 ]+)\S+$#\1#p' \ |sort); do + found=false # Decide which is my grub_ext partition. see partition.DEFAULT file - # for details - if [[ $(blockdev --getsize64 ${dev}4) == 8388608 ]]; then - # Old partition scheme - grub_extn=${dev}4 - elif [[ $(blockdev --getsize64 ${dev}5) == 8388608 ]]; then - grub_extn=${dev}5 - else - grub_extn=${dev}7 + # for details. currently it is 4 + for (( i=4; i<=7; i++ )); do + if [[ $(blockdev --getsize64 ${dev}$i) == 8388608 ]]; then + grub_extn=${dev}$i + break + fi + done + if ! $found; then + echo "$0: error: failed to find grub_ext partition." + exit 1 fi - mount $dev /mnt + mount $grub_extn /mnt if $first; then if [[ -e /mnt/grubenv ]]; then set -x