d280c03a1d
Supermicro puts "Super Server" into their product_name DMI value for a whole slew of products, making this value about as useful as not having been filled in at all. Instead, fall back on the board_name instead. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
39 lines
779 B
Text
39 lines
779 B
Text
sanitize_name_x86() {
|
|
sed -e '
|
|
y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;
|
|
s/[^a-z0-9_-]\+/-/g;
|
|
s/^-//;
|
|
s/-$//;
|
|
' "$@"
|
|
}
|
|
|
|
do_sysinfo_x86() {
|
|
local vendor product file
|
|
|
|
for file in sys_vendor board_vendor; do
|
|
vendor="$(cat /sys/devices/virtual/dmi/id/$file 2>/dev/null)"
|
|
[ -n "$vendor" ] && break
|
|
done
|
|
|
|
for file in product_name board_name; do
|
|
product="$(cat /sys/devices/virtual/dmi/id/$file 2>/dev/null)"
|
|
case "$vendor:$product" in
|
|
"Supermicro:Super Server")
|
|
continue
|
|
;;
|
|
?*:?*)
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
|
|
[ -n "$vendor" -a -n "$product" ] || return
|
|
|
|
mkdir -p /tmp/sysinfo
|
|
|
|
echo "$vendor $product" > /tmp/sysinfo/model
|
|
|
|
sanitize_name_x86 /tmp/sysinfo/model > /tmp/sysinfo/board_name
|
|
}
|
|
|
|
boot_hook_add preinit_main do_sysinfo_x86
|