X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fdistro-install-common%2Fdevbyid;fp=fai%2Fconfig%2Fdistro-install-common%2Fdevbyid;h=e3443898795c52d5c8569c02e538b8765c23ecf2;hb=a027429011d313e0d9156fef9451f5a55a588163;hp=0000000000000000000000000000000000000000;hpb=442bbc2cfd5c4f81f7de11a0b5b8145204cdea32;p=automated-distro-installer diff --git a/fai/config/distro-install-common/devbyid b/fai/config/distro-install-common/devbyid new file mode 100755 index 0000000..e344389 --- /dev/null +++ b/fai/config/distro-install-common/devbyid @@ -0,0 +1,19 @@ +#!/bin/bash + +# input eg: /dev/sda1 or /dev/sda +# output: /dev/disk/by-id/model+serial, or if no link exists, the same as input + +short_dev=$1 + +# devices are identified by model+serial num, +# and wwn. model+serial gives me more info, so use that. +shopt -s extglob +for id in /dev/disk/by-id/!(wwn*); do + [[ -e $id ]] || break # if we matched nothing + if [[ $(readlink -f $id) == "$short_dev" ]]; then + printf '%s\n' "$id" + exit + fi +done +# a vm may not have a by-id link. +printf '%s\n' "$short_dev"