From abc2821286e4d9ccc98146a5bc3cf3f8e1ff4b9f Mon Sep 17 00:00:00 2001 From: Stefan Lippers-Hollmann Date: Thu, 30 Dec 2021 03:52:07 +0100 Subject: [PATCH] x86: improve sysinfo handling of dummy values Fall back to using board_vendor and board_name, if known dummy values are used for sys_vendor and product_name. Examples: To be filled by O.E.M.:To be filled by O.E.M. --> INTEL Corporation:ChiefRiver System manufacturer:System Product Name --> ASUSTeK COMPUTER INC.:P8H77-M PRO To Be Filled By O.E.M.:To Be Filled By O.E.M. --> ASRock:Q1900DC-ITX Gigabyte Technology Co., Ltd.:To be filled by O.E.M. --> Gigabyte Technology Co., Ltd.:H77M-D3H empty:empty --> TYAN Computer Corporation:TYAN Toledo i3210W/i3200R S5211 To Be Filled By O.E.M.:To Be Filled By O.E.M. --> ASRock:H77 Pro4-M Signed-off-by: Stefan Lippers-Hollmann --- target/linux/x86/base-files/lib/preinit/01_sysinfo | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/target/linux/x86/base-files/lib/preinit/01_sysinfo b/target/linux/x86/base-files/lib/preinit/01_sysinfo index 498b0769988..97e8e003f34 100644 --- a/target/linux/x86/base-files/lib/preinit/01_sysinfo +++ b/target/linux/x86/base-files/lib/preinit/01_sysinfo @@ -12,12 +12,24 @@ do_sysinfo_x86() { 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