microsoft/openvmm
Publicmirrored fromhttps://github.com/microsoft/openvmmAvailable
Guide/src/user_guide/openhcl/troubleshooting.md
42lines · modecode
| 1 | # OpenHCL Troubleshooting |
| 2 | |
| 3 | This page includes a miscellaneous collection of troubleshooting tips for common |
| 4 | issues you may encounter when running OpenHCL. |
| 5 | |
| 6 | If you are still running into issues, consider filing an issue on the OpenVMM |
| 7 | GitHub Issue tracker. |
| 8 | |
| 9 | ## \[Hyper-V] VTL2/VTL0 failed to start |
| 10 | |
| 11 | VTL2/VTL0 fails to boot is when either VTL2 or VTL0 has crashed. When the crash happens, they will emit an event to the Hyper-V worker channel. |
| 12 | |
| 13 | First, check `Hyper-V worker events` at `Applications and Services Logs -> Microsoft -> Windows -> Hyper-V-Worker-Admin` |
| 14 | |
| 15 | Alternatively, some queries you can use to get Hyper-V-Worker logs: |
| 16 | - Display the `{n}` most recent events - `wevtutil qe Microsoft-Windows-Hyper-V-Worker-Admin /c:{n} /rd:true /f:text` |
| 17 | - Export events to file - `wevtutil epl Microsoft-Windows-Hyper-V-Worker-Admin C:\vtl2_0_crash.evtx` |
| 18 | |
| 19 | ## Checking OpenHCL logging output |
| 20 | |
| 21 | OpenHCL logging output can be useful for debugging issues with startup or runtime behavior. |
| 22 | |
| 23 | See [OpenHCL Tracing](../../reference/openhcl/diag/tracing.md) for more details about how to enable OpenHCL logging. |
| 24 | |
| 25 | ## DeviceTree errors or warnings in the VTL2 kernel log |
| 26 | |
| 27 | 1. Retrieve the DeviceTree blob from OpenHCL: |
| 28 | |
| 29 | ```powershell |
| 30 | uhdiag-dev.exe linux-uhvm00 file --file-path "/sys/firmware/fdt" > uh.dtb |
| 31 | ``` |
| 32 | |
| 33 | 2. Install the DeviceTree compiler and convert the blob to the textual representation: |
| 34 | |
| 35 | ```sh |
| 36 | sudo apt-get install dtc |
| 37 | dtc -I dtb -o uh.dts uh.dtb |
| 38 | ``` |
| 39 | |
| 40 | Check on the errors and warnings and should any have been produced, fix them in the |
| 41 | DeviceTree generation code. If that doesn't resolve the issues, inspect the DT parsing |
| 42 | code in the Linux kernel. |
| 43 | |