x86: improve sysinfo handling of dummy values

Fall back to using board_vendor and board_name, if known dummy values
are used for sys_vendor and product_name.

Examples:
	To be filled by O.E.M.:To be filled by O.E.M.
-->	INTEL Corporation:ChiefRiver

	System manufacturer:System Product Name
-->	ASUSTeK COMPUTER INC.:P8H77-M PRO

	To Be Filled By O.E.M.:To Be Filled By O.E.M.
-->	ASRock:Q1900DC-ITX

	Gigabyte Technology Co., Ltd.:To be filled by O.E.M.
-->	Gigabyte Technology Co., Ltd.:H77M-D3H

	empty:empty
-->	TYAN Computer Corporation:TYAN Toledo i3210W/i3200R S5211

	To Be Filled By O.E.M.:To Be Filled By O.E.M.
-->	ASRock:H77 Pro4-M

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
This commit is contained in:
Stefan Lippers-Hollmann 2021-12-30 03:52:07 +01:00 committed by Christian Lamparter
parent 62a2bfaff8
commit abc2821286

View File

@ -12,12 +12,24 @@ do_sysinfo_x86() {
for file in sys_vendor board_vendor; do for file in sys_vendor board_vendor; do
vendor="$(cat /sys/devices/virtual/dmi/id/$file 2>/dev/null)" vendor="$(cat /sys/devices/virtual/dmi/id/$file 2>/dev/null)"
case "$vendor" in
empty | \
System\ manufacturer | \
To\ [bB]e\ [fF]illed\ [bB]y\ O\.E\.M\.)
continue
;;
esac
[ -n "$vendor" ] && break [ -n "$vendor" ] && break
done done
for file in product_name board_name; do for file in product_name board_name; do
product="$(cat /sys/devices/virtual/dmi/id/$file 2>/dev/null)" product="$(cat /sys/devices/virtual/dmi/id/$file 2>/dev/null)"
case "$vendor:$product" in case "$vendor:$product" in
?*:empty | \
?*:System\ Product\ Name | \
?*:To\ [bB]e\ [fF]illed\ [bB]y\ O\.E\.M\.)
continue
;;
"PC Engines:APU") "PC Engines:APU")
product="apu1" product="apu1"
break break