ac3e05c5d7
For targets using the generic board detection and board specific settings in diag.sh, the board name is still unset at the time the set_state() provided by diag.sh is called by 10_indicate_preinit. Change the execution order to ensure the boardname is populated before required the first time. Do the target specific board detection as early as possible, directly followed by the generic one to allow a seamless switch to the generic function for populating /tmp/sysinfo/. Signed-off-by: Mathias Kresin <dev@kresin.me>
28 lines
652 B
Text
28 lines
652 B
Text
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)"
|
|
[ -n "$product" ] && break
|
|
done
|
|
|
|
[ -n "$vendor" -a -n "$product" ] || return
|
|
|
|
mkdir -p /tmp/sysinfo
|
|
|
|
echo "$vendor $product" > /tmp/sysinfo/model
|
|
|
|
sed -e '
|
|
y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;
|
|
s/[^a-z0-9_-]\+/-/g;
|
|
s/^-//;
|
|
s/-$//;
|
|
' /tmp/sysinfo/model > /tmp/sysinfo/board_name
|
|
}
|
|
|
|
boot_hook_add preinit_main do_sysinfo_x86
|