Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Please document Hyper-V compatibility #1603

Open
forderud opened this issue Dec 13, 2017 · 6 comments
Open

Please document Hyper-V compatibility #1603

forderud opened this issue Dec 13, 2017 · 6 comments

Comments

@forderud
Copy link
Contributor

It would be nice if the IncludeOS documentation could be updated to also cover a few sentences about Hyper-V compatibility.

I don't really know much about virtualization, but I did manage to run the IncludeOS_example image inside Hyper-V after performing the following steps:

  • Use qemu-img to convert image to vhdx format: qemu-img.exe convert IncludeOS_example.img -O vhdx -o subformat=dynamic IncludeOS_example.vhdx (see https://cloudbase.it/qemu-img-windows/)
  • Create a "generation 1" Hyper-V VM with IncludeOS_example.vhdx attached as hard drive.

The image boots nicely in Hyper-V:
image

Issues:

@ingve
Copy link
Contributor

ingve commented Dec 13, 2017

Nice! Can you get serial output from the instance that is running on Hyper-V? The IncludeOS_example outputs some information (including networking settings) to serial while running. If not, you can try enabling the vga output.

@forderud
Copy link
Contributor Author

Unfortunately, I've not been able to get any serial-port output. WinDbg complaints about "Debugee not connected" when attempting to connect to a named pipe associated with COM1 in the VM:
image
This might, however, be caused by improper usage from my side, since I've never done this before..

Any advise on how to enable VGA output when building the image?

@ingve
Copy link
Contributor

ingve commented Dec 15, 2017

To get VGA output, it should be enough to add vga_output to the drivers section in the CmakeLists.txt file and rebuild the service. Then you should get something like this instead of the #include <os> // Literally screen:

vga_output

@forderud
Copy link
Contributor Author

Thanks for the tip @ingve. I've now managed to add vga_output to the drivers section an rebuild the service.
image

Unfortunately, the VM still only displays #include <os> // Literally as before when booting. Maybe it's crashing without any visual cues(?)

@ingve
Copy link
Contributor

ingve commented Dec 18, 2017

That sounds plausible. Does Hyper-V have some (non-user initiated) logging of its own? When I run IncludeOS services in VMware, in addition to the serial output, for each instance VMware writes a very detailed log with extremely detailed information, thousands of lines like the following:

2017-12-18T14:13:25.158+01:00| vmx| I125: Vix: [775 mainDispatch.c:1073]: VMAutomation_PowerOn. Powering on.
2017-12-18T14:13:25.159+01:00| vmx| I125: VMX_PowerOn: ModuleTable_PowerOn = 1
2017-12-18T14:13:25.159+01:00| vmx| A100: ConfigDB: Setting cleanShutdown = "FALSE"
2017-12-18T14:13:25.159+01:00| vmx| A100: ConfigDB: Setting softPowerOff = "FALSE"
2017-12-18T14:13:25.159+01:00| vcpu-0| I125: VTHREAD start thread 4 "vcpu-0" tid 2593563
2017-12-18T14:13:25.162+01:00| vcpu-0| I125: MonTimer APIC:1/1 vec: 221
2017-12-18T14:13:25.162+01:00| vcpu-0| I125: APIC: version = 0x15, max LVT = 6, LDR = 0x4000000, DFR = 0xffffffff
2017-12-18T14:13:25.163+01:00| svga| I125: SVGA thread is alive
2017-12-18T14:13:25.163+01:00| vcpu-0| I125: CPU reset: hard (mode 2)
2017-12-18T14:13:25.164+01:00| vcpu-0| W115: VSOCKET 1 Failed to create socket: Network is unreachable (51)
2017-12-18T14:13:25.164+01:00| vcpu-0| I125: GuestRpc: Could not create RPCI listening socket: Network is unreachable
2017-12-18T14:13:25.164+01:00| vcpu-0| I125: GuestRpc: Using vsocket for TCLO messaging is disabled.
2017-12-18T14:13:25.165+01:00| vcpu-0| I125: PIIX4: PM Resuming from suspend type 0x0, chipset.onlineStandby 0

@forderud
Copy link
Contributor Author

Unfortunately, I haven't been able to find a way to activate detailed logging. The only logs I've found are high-level events in the Windows event viewer:
image
The folders containing the IncludeOS VM doesn't seem to contain any log files either....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants