| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- 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*|85*|86*)
- 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
|