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") case "$(cat /sys/devices/virtual/dmi/id/product_version 2>/dev/null)" in 105*) product="${product}-105" 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