Open jrgerber opened 3 years ago
It may help triage to know why it would be important for WSL2 to expose an SMBIOS table!
It may help triage to know why it would be important for WSL2 to expose an SMBIOS table!
It is the normal configuration on Linux systems and some distributions of Linux come with dmidecode inbox. In my case I am developing a port of dmidecode to Rust and using WSL2 as a development platform. This bug relates to the original dmidecode (not my port).
For validation this capability should be maintained, see also Issue #4545 WSL2: dmidecode missing /dev/mem -> /sys/firmware/dmi/tables/smbios_entry_point No such file or directory.
In that case /dev/mem was completely missing and therefore /sys/firmware/dmi/ was missing. In this case /dev/mem exists but is missing the 000F0000 range and therefore /sys/firmware/dmi/ is missing.
Since WSL2 is a virtual machine, much of this information isn't relevant. What happens when you run dmidecode on a traditional VM?
Since WSL2 is a virtual machine, much of this information isn't relevant. What happens when you run dmidecode on a traditional VM?
Virtual Machines present a BIOS to the OS and dmidecode works as expected (Windows, Linux, FreeBSD, etc.)
What happens when you run dmidecode on a traditional VM?
It'll pretend there is one. Because it is pretending to be an IBM PC.
much of this information isn't relevant
Or maybe the phrase might be "not applicable". In a more perfect (and likely mythological) universe, the WSL kernel wouldn't know what an 'ACPI' or "PCI bus" was either. And would "boot" in 100ms. [Hey we can dream. I just wanted to second the sentiment.]
Chalking OP ask as feature - doable.
I also need this feature; subscribed to the issue.
+1
SerialNumber seems like it would be a common usage of this data. Some applications will collect this as part of registration/orchestration
Nailed it for me, @MenaceSan ... Porting and testing; had used getting SerialNumber previously and unexpected results (re: entry point error) led me here. Subscribing but also adding my voice just in case. Sure there are other ways - suffice to say unexpected behavior is rarely a good thing. Consistent, reliable, cross-platform = better imho. Thanks, all.
I would need this too. I follow the post. +1
+1
+1
+1
+1
+1
+1
In best case, I would expect WSL is able to allow control over what system information is presented to the guest. Like: https://libvirt.org/formatdomain.html#smbios-system-information
If it is an ubuntu docker container running on Linux, as long as the /dev/mem of the host is mounted, it can be executed normally. But I don’t know what to do with the windows+wsl2+ubuntu docker container
Windows Build Number
Microsoft Windows [Version 10.0.19042.928]
WSL Version
Kernel Version
Linux version 5.4.72-microsoft-standard-WSL2
Distro Version
Ubuntu 20.04 and openSUSE-Leap-15.2
Other Software
No response
Repro Steps
The reason is a hole in the range 000F0000 to 000FFFFF where SMBIOS entry point and table is normally found.
Expected Behavior
Normally SMBIOS is found in /dev/mem in the 000F0000-000FFFFF range. Azure Ubuntu example:
Correspondingly /dev/mem (use hd to dump) contains the SMBIOS entry point and table in the expected range:
Actual Behavior
The range 000F0000-000FFFFF is empty.
Diagnostic Logs
No response