abort if getSystemID doesn't return valid id
[sysadmin-cookbook] / recepies / dell / flash-bios.sh
index 50ee7af..820de72 100755 (executable)
@@ -1,6 +1,16 @@
 #!/bin/sh -x
 
-bios=`ls -d linux.dell.com/repo/firmware/bios-hdrs/*0x0211*/bios.hdr | iselect -a -t 'select bios'`
+system_id=`getSystemId | grep 'System ID:' | cut -d: -f2 | sed 's/ //g'`
+version=`getSystemId | grep 'BIOS' | cut -d: -f2 | sed 's/ //g'`
+
+dir=linux.dell.com/repo/firmware/bios-hdrs
+
+bios=`ls -d $dir/*0x0211*/bios.hdr | cut -d/ -f 5 | iselect -a -t "BIOS $version - select version to upgrade"`
+
+test -z "$bios" && exit
+
+bios="$dir/$bios/bios.hdr"
+
 dellBiosUpdate -i -f $bios || exit
 dellBiosUpdate -t -f $bios || exit