Resin on Hyper-V

Hi!
I was trying to run resinOS on a virtual machine on Hyper-V following part of the instructions in the article https://resin.io/blog/no-hardware-use-virtualbox/.
Hyper-V is running on Windows Server 2008 SP2

These are the steps I followed:

  • I have created a new VM
  • Assigned 32GB HDD and 2GB RAM
  • Created a intel NUC application on resin.io dashboard -> downloaded the OS image
  • Using qemu-img I have converted the .img file into a .vhd disk file -> added a disk to the virtual machine with the produced disk image
  • Started the VM

At this point the virtual screen of the VM shows GRUB and then resinOS starts.

The boot procedure shows al green OKs except one reporting: Failed to start Resin init flasher service.

Finally appears a shell to login resinOS (but is really hard to write into because doesn’t recognise each keyboard input).

The device never appears in the dashboard.
Have you any idea of which could be the problem?

Thank you!

Hi,

The fact that resin-init-flasher.service is failing is probably caused by the inability of ResinOS to see the storage medium.

Not seeing the board in the dashboard is probably caused by the lack of Internet access in the virtual machine.

For debugging it would be good to see the output of journalctl -u resin-init-flasher --no-pager but you are saying that you can’t type in the console.

The instructions were tested for VirtualBox so probably there are many things that are different on Hyper-V.

I was able to run the command journalctl -u resin-init-flasher --no-pager on the console and this is the output:

I think that the problem is that in hyper-V there isn’t the option to set a SATA controller for HDDs, only IDE controller is available.
Also setting IDE controller on VirtualBox instead of SATA results in errors, the device appears on the dashboard without any information.

Hi,

Indeed, the missing SATA controller seems to be the cause here.
If there’s a way to add this in Hyper-V it will most probably work.
Did you also check the Internet connectivity?
You can use ifconfig command to see if there are network interfaces available and if they have IP address assigned.

Hi @aleph.solutions,

You are mentioning that you converted a qemu-img. However, in the blog a NUC image is used. The NUC images has always worked for me in virtualbox and the files don’t use qemu in the name.

Are you sure converted the right image?

Fokko

Hi @fokko,
I have used the standard NUC image downloaded from resin dashboard. The qemu-img I mentioned is a tool to convert the .img in a .vhd disk image.
I have also tried to produce the vhd file with the VBoxManage convertdd command but the result is the same.
In VirtualBox works fine also for me.

On VMware Workstation Pro 14 (where is possible to set the SATA as in VirtualBox) replicating the steps in the blog works fine.

Did you ever find a solution? VirtualBox and VMWare work fine, if the VM is being created with SATA devices. Unfortunately, there is no (at least to my knowledge) to use SATA with Hyper-V.