mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 09:39:00 +00:00
abc2821286
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>
66 lines
1.3 KiB
Plaintext
66 lines
1.3 KiB
Plaintext
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)"
|
|
case "$vendor" in
|
|
empty | \
|
|
System\ manufacturer | \
|
|
To\ [bB]e\ [fF]illed\ [bB]y\ O\.E\.M\.)
|
|
continue
|
|
;;
|
|
esac
|
|
[ -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
|
|
?*:empty | \
|
|
?*:System\ Product\ Name | \
|
|
?*:To\ [bB]e\ [fF]illed\ [bB]y\ O\.E\.M\.)
|
|
continue
|
|
;;
|
|
"PC Engines:APU")
|
|
product="apu1"
|
|
break
|
|
;;
|
|
"Sophos:SG"|"Sophos:XG")
|
|
local product_version
|
|
product_version="$(cat /sys/devices/virtual/dmi/id/product_version 2>/dev/null)"
|
|
case "$product_version" in
|
|
105*|115*|125*|135*)
|
|
product="${product}-${product_version}"
|
|
break
|
|
;;
|
|
esac
|
|
;;
|
|
"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
|