x86/base-files: add support for Sophos SG/XG-105
[openwrt/staging/jow.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 [ -n "$vendor" ] && break
16 done
17
18 for file in product_name board_name; do
19 product="$(cat /sys/devices/virtual/dmi/id/$file 2>/dev/null)"
20 case "$vendor:$product" in
21 "PC Engines:APU")
22 product="apu1"
23 break
24 ;;
25 "Sophos:SG"|"Sophos:XG")
26 case "$(cat /sys/devices/virtual/dmi/id/product_version 2>/dev/null)" in
27 105*)
28 product="${product}-105"
29 break
30 ;;
31 esac
32 ;;
33 "Supermicro:Super Server")
34 continue
35 ;;
36 ?*:?*)
37 break
38 ;;
39 esac
40 done
41
42 [ -n "$vendor" -a -n "$product" ] || return
43
44 mkdir -p /tmp/sysinfo
45
46 echo "$vendor $product" > /tmp/sysinfo/model
47
48 sanitize_name_x86 /tmp/sysinfo/model > /tmp/sysinfo/board_name
49 }
50
51 boot_hook_add preinit_main do_sysinfo_x86