openwrt/target/linux/x86/base-files/lib/preinit/01_sysinfo
Stan Grishin ffab23d99d x86: add/improve support for Sophos SG/XG products
* Better product ID for Sophos SG/XG-105 models
* Add support for Sophos SG/XG-135 r1, r2 with/without wireless

Signed-off-by: Stan Grishin <stangri@melmac.ca>
[Changed subject to x86 - probably eaten somewhere, the PR had it]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2021-12-11 00:50:02 +01:00

54 lines
1.1 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)"
[ -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
"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*|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