ACPI ERST support

Here you can provide suggestions on how to improve the product, website, etc.
Post Reply
AndrewByte
Posts: 3
Joined: 17. Nov 2022, 12:10

ACPI ERST support

Post by AndrewByte »

It seems that VBox still does not support ACPI ERST function for pstore erst backend working.

Oracle made a great post "Pstore, The Linux Kernel Persistent Storage File System", but its not working on latest virtual box 7.0.2 (win10) Linux guest:

Code: Select all

 dmesg | grep ERST
[    0.305806] ERST DBG: ERST support is disabled.
I did not find any words about ERST in documentation or even in the internet about VirtualBox and ACPI ERST, it would be great if this feature get working in VBox.

QEMU already has support of this function.
scottgus1
Site Moderator
Posts: 20965
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: ACPI ERST support

Post by scottgus1 »

AndrewByte wrote:It seems that VBox still does not support ACPI ERST
Has anyone ever asked for this? Your post count says you haven't before.

A web-search "ACPI ERST" site:virtualbox.org shows only one result with "ERST" getting mentioned in a Linux syslog. So this hasn't been a hot subject for request.
AndrewByte
Posts: 3
Joined: 17. Nov 2022, 12:10

Re: ACPI ERST support

Post by AndrewByte »

Yes, this technology is not well known yet but becoming popular now. I was wondered that there's no simple method to write kernel panic logs. Most everyone say that system can not write to disk after panic not to corrupt it. But after some exlporations I found info about ACPI ERST with memory proposed by motherboard BIOS exactly for such purposes, where error logs can be written. Most modern boards have esrt support. So why not to support it in vbox ?

Here is an Oracle article from 2022 year about this technology support:
https://blogs.oracle.com/linux/post/pst ... ile-system

Also here is qemu doc, they already have its support:
https://www.qemu.org/docs/master/specs/acpi_erst.html

Microsoft Windows also supports ERST:
https://learn.microsoft.com/en-us/windo ... -mechanism

According to these articles this is very interesting technology.
I appreciate for advise If someone could propose another simple working solution to write kernel panic logs without crashkernel, analyzing kdump binaries or other monster stuff.
scottgus1
Site Moderator
Posts: 20965
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: ACPI ERST support

Post by scottgus1 »

This is an interesting concept. Curiously, Windows can write its BSOD diagnosis data to disk. I wonder if a kernel panic is equivalent to a BSOD?

I'd suggest an enhancement request in the Bugtracker. Please know that this may take some time to get going, as the devs are busy debugging 7.0. User code is considered for inclusion, however. The "AndrewByte ACPI ERST support" source code addition may be quite appreciated.

Also interesting is this from the Oracle link above:
Oracle has been working to improve the usability of the Linux kernel pstore feature.
This could be in the works in Virtualbox already, just not announced yet.
AndrewByte
Posts: 3
Joined: 17. Nov 2022, 12:10

Re: ACPI ERST support

Post by AndrewByte »

Curiously, Windows can write its BSOD diagnosis data to disk. I wonder if a kernel panic is equivalent to a BSOD?
Yes, kernel panic is equivalent to BSOD, mostly triggered on hardware or driver errors. Basically system writes logs to screen and freezes. Writes to disk after panic are refused, because filesystem may be corrupted when error in kernel occurred (there is no belief to kernel any more).
However there are some methods to write panic logs in Linux:
- Kdump. System is booted to crash kernel (another copy of kernel) automatically after panic. Most serious method, used not only to read logs, but to analyze binary data and debug the kernel. Analytic tools required even to get simple logs, cause its a binary dump. Also it needs to reserve some RAM for crashkernel, that's why I do not like it for just writing logs.
- ACPI ERST. As we already know, using special memory block from motherboard/bios
- persistent ram (ramoops) and pstore block device (pstore-blk) modules. The last one can use block devices/partitions for writing logs, but I'm not sure it will work after panic occurred and did not find info who successfully deployed it. don't know, maybe using separate drive is ok for it.

That is what I discovered during last few days.

I don't know how it us done on BSOD, maybe Windows boots its crash kernel, mount and writes to disk from it.

I have created request in the Bugtracker https://www.virtualbox.org/ticket/21282
Post Reply