3c21c07615e31a0a4be5124418403e000bf31cf3
[openwrt/staging/lynxis.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 [ -n "$product" ] && break
21 done
22
23 [ -n "$vendor" -a -n "$product" ] || return
24
25 mkdir -p /tmp/sysinfo
26
27 echo "$vendor $product" > /tmp/sysinfo/model
28
29 sanitize_name_x86 /tmp/sysinfo/model > /tmp/sysinfo/board_name
30 }
31
32 boot_hook_add preinit_main do_sysinfo_x86