x86: Add support for Sophos XG 85 and XG 86 devices
[openwrt/staging/stintel.git] / target / linux / x86 / base-files / lib / preinit / 01_sysinfo
1 sanitize_name_x86() {
2 sed -e '
3 y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;
4 s/[^a-z0-9_-]\+/-/g;
5 s/^-//;
6 s/-$//;
7 ' "$@"
8 }
9
10 do_sysinfo_x86() {
11 local vendor product file
12
13 for file in sys_vendor board_vendor; do
14 vendor="$(cat /sys/devices/virtual/dmi/id/$file 2>/dev/null)"
15 case "$vendor" in
16 empty | \
17 System\ manufacturer | \
18 To\ [bB]e\ [fF]illed\ [bB]y\ O\.E\.M\.)
19 continue
20 ;;
21 esac
22 [ -n "$vendor" ] && break
23 done
24
25 for file in product_name board_name; do
26 product="$(cat /sys/devices/virtual/dmi/id/$file 2>/dev/null)"
27 case "$vendor:$product" in
28 ?*:empty | \
29 ?*:System\ Product\ Name | \
30 ?*:To\ [bB]e\ [fF]illed\ [bB]y\ O\.E\.M\.)
31 continue
32 ;;
33 "PC Engines:APU")
34 product="apu1"
35 break
36 ;;
37 "Sophos:SG"|"Sophos:XG")
38 local product_version
39 product_version="$(cat /sys/devices/virtual/dmi/id/product_version 2>/dev/null)"
40 case "$product_version" in
41 105*|115*|125*|135*|85*|86*)
42 product="${product}-${product_version}"
43 break
44 ;;
45 esac
46 ;;
47 "Supermicro:Super Server")
48 continue
49 ;;
50 ?*:?*)
51 break
52 ;;
53 esac
54 done
55
56 [ -n "$vendor" -a -n "$product" ] || return
57
58 mkdir -p /tmp/sysinfo
59
60 echo "$vendor $product" > /tmp/sysinfo/model
61
62 sanitize_name_x86 /tmp/sysinfo/model > /tmp/sysinfo/board_name
63 }
64
65 boot_hook_add preinit_main do_sysinfo_x86