Hass IO in a Virtual Machine

Guys, I am wanting to run Hass IO in a Virtual machine - i currently run an ESXi (VMware) Cluster of HP N54Ls.

I have gone to the Install page and to the section on Virtual Machines.

However there are no instructions and a link to a VMDK file only - the link to the OVF is disabled (and listed as currently not available)

Usually if you were given a VMDK file you would create a Virtual machine, choose to define and install the OS later and then attach an existing VMDK. I have done this and the system sits there at the prompt when started saying it it trying to contact a DHCP server (which would indicate to me that the VMDK is not bootable/does not have a boot image on it.

Usually if you were provided just a VMDK you would be given info as to the expected hardware config to be defined for the virtual machine to boot to.

Has anyone else run up against this ?

regards

Craig

Does anything in this thread help?

Mathe you can find some hints/tips in this thread

I have it running fine in VirtualBox on my Gen8 Microserver but the host is Windows and before that on a MacBook so can’t directly compare.

My VM set up is…

Other Linux 64 bit
2 vCPUs
1Gb RAM
EFI boot
Bridged network adaptor

From memory I just imported the vdmk into that VM and away it went.

I had the same issue, you need to switch your VM config to EFI boot.

Unrelated to the issue you posted about.
If you have not done so already, you need to convert the VMDK. Easy way is to ssh into ESXi, cd to the uploaded vmdk file and run the following command.

vmkfstools -i hassos_ova-1.12.vmdk desiredvmdkname.vmdk

After that, add the “desiredvmdkname.vmdk” to the VM settings.

I just set this up myself a few minutes ago and still waiting for initial boot to complete after 30 minutes… so other issues may be present.

1 Like

This is where im getting stuck.

What am i converting it to - according to the vmkfstoools page - the I option allows me to import/clone a disk so not really seeing what this is achieving - really just copying what they have provided.

Craig

Yep about where i got to so far.

I started off with an ESXi 5.5 compatible VM that i built on Workstation 14.13.

I have tried almost all the options - the most progress was changing to the EFI BIOS.

I have redefined the VM as a Workstation 14 format and it still makes no difference at this point.

I think the image they have up there may be borked.

Craig

My initial attempts to use just the vmdk threw an error message that I cant recall. When I looked into the error, it was referring to VMware workstation rather than VMware ESXi. But that was before I discovered the EFI boot requirement. So you may not need to the conversion. I’m running ESXi6.0.

That thread gave the link to Github - which lists a number of issues (most recent as of 10 days ago with the same non booting problems)

Changed the BIOS type to EFI and removed the CD ROM - seems to have gotten one step further

Will let it sit there for the next 1.2 hour or so and see if it progresses in its boot

Craig

Yeah - the conversion is to simply bring it upto the Workstation 14/ESXI disk format - not needed as VMFS.3 is fine still.

Working my way through it now

Craig

I am actually trying to set it up iniitally on Workstation 14.13 under Windows 10 and will then move it across to my cluster once operational - i have setup the system the same as you have listed (tried both NAT and Bridged networking)

Nothing yet

Craig

Yeah, I removed the CDROM several hours ago and tried a few different storage controllers. I let it sit for about an hour an nothing. I was planning on trying it in Workstation when I got home from work, sounds like same issue there. I might try in oraclebox (whatever their hypervisor is called).

Think you are right though, think its a bad vmdk.

This might help, I have not had time to go through it yet.
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1308264

Nah that looks like Kernel 3.x issues - we are dealing with Version 4.

Mine is sitting at

This is with the following settings in Vmware Workstation 14.13
VM Machine type - Linux (Other) 64-bit - Kernel 4.x
1 processors - two cores
2GB RAM
IDE hard disk type (on LSI controller)
removed CD ROM
Bridged networking

OK we are all going to feel pretty stupid here (although it is an easy mistake to make)

Have a look at my last screen shot - after you have left it there for a couple of minutes - give the VM focus and then hit enter on your keyboard - the Login screen pops up !!!

I have found a OVA file and put it on here for others to use - only thing you need to do is edit it for the name of the disk image you are downloading.

I will shortly test it pulling the disk image down from Github (which is what a OVA should do)

<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by VMware ovftool 4.3.0 (build-7948156), UTC time: 2018-07-22T04:01:33.443599Z-->
<Envelope vmw:buildId="build-7948156" xmlns="http://schemas.dmtf.org/ovf/envelope/1" xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <References>
    <File ovf:href="hassos_ova-1.12.vmdk" ovf:id="file1" ovf:size="132748800"/>
  </References>
  <DiskSection>
    <Info>Virtual disk information</Info>
    <Disk ovf:capacity="6" ovf:capacityAllocationUnits="byte * 2^30" ovf:diskId="vmdisk1" ovf:fileRef="file1" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" ovf:populatedSize="270336000"/>
  </DiskSection>
  <NetworkSection>
    <Info>The list of logical networks</Info>
    <Network ovf:name="nat">
      <Description>The nat network</Description>
    </Network>
  </NetworkSection>
  <VirtualSystem ovf:id="vm">
    <Info>A virtual machine</Info>
    <Name>HassOS 1.8</Name>
    <OperatingSystemSection ovf:id="102" vmw:osType="otherGuest64">
      <Info>The kind of installed guest operating system</Info>
    </OperatingSystemSection>
    <VirtualHardwareSection>
      <Info>Virtual hardware requirements</Info>
      <System>
        <vssd:ElementName>Virtual Hardware Family</vssd:ElementName>
        <vssd:InstanceID>0</vssd:InstanceID>
        <vssd:VirtualSystemIdentifier>HassOS 1.8</vssd:VirtualSystemIdentifier>
        <vssd:VirtualSystemType>vmx-14</vssd:VirtualSystemType>
      </System>
      <Item>
        <rasd:AllocationUnits>hertz * 10^6</rasd:AllocationUnits>
        <rasd:Description>Number of Virtual CPUs</rasd:Description>
        <rasd:ElementName>2 virtual CPU(s)</rasd:ElementName>
        <rasd:InstanceID>1</rasd:InstanceID>
        <rasd:ResourceType>3</rasd:ResourceType>
        <rasd:VirtualQuantity>2</rasd:VirtualQuantity>
      </Item>
      <Item>
        <rasd:AllocationUnits>byte * 2^20</rasd:AllocationUnits>
        <rasd:Description>Memory Size</rasd:Description>
        <rasd:ElementName>2048MB of memory</rasd:ElementName>
        <rasd:InstanceID>2</rasd:InstanceID>
        <rasd:ResourceType>4</rasd:ResourceType>
        <rasd:VirtualQuantity>2048</rasd:VirtualQuantity>
      </Item>
      <Item ovf:required="false">
        <rasd:Address>0</rasd:Address>
        <rasd:Description>USB Controller (EHCI)</rasd:Description>
        <rasd:ElementName>usb</rasd:ElementName>
        <rasd:InstanceID>3</rasd:InstanceID>
        <rasd:ResourceSubType>vmware.usb.ehci</rasd:ResourceSubType>
        <rasd:ResourceType>23</rasd:ResourceType>
        <vmw:Config ovf:required="false" vmw:key="ehciEnabled" vmw:value="true"/>
      </Item>
      <Item>
        <rasd:Address>1</rasd:Address>
        <rasd:Description>IDE Controller</rasd:Description>
        <rasd:ElementName>ideController1</rasd:ElementName>
        <rasd:InstanceID>4</rasd:InstanceID>
        <rasd:ResourceType>5</rasd:ResourceType>
      </Item>
      <Item>
        <rasd:Address>0</rasd:Address>
        <rasd:Description>IDE Controller</rasd:Description>
        <rasd:ElementName>ideController0</rasd:ElementName>
        <rasd:InstanceID>5</rasd:InstanceID>
        <rasd:ResourceType>5</rasd:ResourceType>
      </Item>
      <Item>
        <rasd:AddressOnParent>0</rasd:AddressOnParent>
        <rasd:ElementName>disk0</rasd:ElementName>
        <rasd:HostResource>ovf:/disk/vmdisk1</rasd:HostResource>
        <rasd:InstanceID>6</rasd:InstanceID>
        <rasd:Parent>5</rasd:Parent>
        <rasd:ResourceType>17</rasd:ResourceType>
        <vmw:Config ovf:required="false" vmw:key="connectable.allowGuestControl" vmw:value="false"/>
      </Item>
      <Item ovf:required="false">
        <rasd:AddressOnParent>0</rasd:AddressOnParent>
        <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
        <rasd:ElementName>cdrom0</rasd:ElementName>
        <rasd:InstanceID>7</rasd:InstanceID>
        <rasd:Parent>4</rasd:Parent>
        <rasd:ResourceType>15</rasd:ResourceType>
        <vmw:Config ovf:required="false" vmw:key="connectable.allowGuestControl" vmw:value="true"/>
      </Item>
      <Item>
        <rasd:AddressOnParent>1</rasd:AddressOnParent>
        <rasd:AutomaticAllocation>true</rasd:AutomaticAllocation>
        <rasd:Connection>nat</rasd:Connection>
        <rasd:Description>E1000 ethernet adapter on &quot;nat&quot;</rasd:Description>
        <rasd:ElementName>ethernet0</rasd:ElementName>
        <rasd:InstanceID>8</rasd:InstanceID>
        <rasd:ResourceSubType>E1000</rasd:ResourceSubType>
        <rasd:ResourceType>10</rasd:ResourceType>
        <vmw:Config ovf:required="false" vmw:key="wakeOnLanEnabled" vmw:value="true"/>
        <vmw:Config ovf:required="false" vmw:key="connectable.allowGuestControl" vmw:value="true"/>
      </Item>
      <Item ovf:required="false">
        <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
        <rasd:ElementName>video</rasd:ElementName>
        <rasd:InstanceID>9</rasd:InstanceID>
        <rasd:ResourceType>24</rasd:ResourceType>
      </Item>
      <Item ovf:required="false">
        <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
        <rasd:ElementName>vmci</rasd:ElementName>
        <rasd:InstanceID>10</rasd:InstanceID>
        <rasd:ResourceSubType>vmware.vmci</rasd:ResourceSubType>
        <rasd:ResourceType>1</rasd:ResourceType>
      </Item>
      <vmw:Config ovf:required="false" vmw:key="firmware" vmw:value="efi"/>
      <vmw:Config ovf:required="false" vmw:key="tools.syncTimeWithHost" vmw:value="false"/>
      <vmw:Config ovf:required="false" vmw:key="tools.afterPowerOn" vmw:value="true"/>
      <vmw:Config ovf:required="false" vmw:key="tools.afterResume" vmw:value="true"/>
      <vmw:Config ovf:required="false" vmw:key="tools.beforeGuestShutdown" vmw:value="true"/>
      <vmw:Config ovf:required="false" vmw:key="tools.beforeGuestStandby" vmw:value="true"/>
      <vmw:ExtraConfig ovf:required="false" vmw:key="virtualHW.productCompatibility" vmw:value="hosted"/>
    </VirtualHardwareSection>
    <AnnotationSection ovf:required="false">
      <Info>A human-readable annotation</Info>
      <Annotation>Hass.io OS based on buildroot. It&apos;s a hypervisor for Docker and supports various kind of IoT hardware. It is also available as virtual appliance. The whole system is optimized for embedded system and security. You can update the system simple with OTA updates or offline updates.</Annotation>
    </AnnotationSection>
  </VirtualSystem>
</Envelope>

Craig

Lol, so you’ve been trying to fix something that was up and running fine then, if only you’d tried sticking the IP in a browser :slight_smile:

Glad to hear you got there in the end.

Using VMware Workstation you can use these steps: https://www.ivobeerens.nl/2019/01/15/install-home-assistant-hass-io-in-vmware-workstation/

I followed this instructions and it was working for me:

Anybody try this with an Aeotec Z-Stick? Wondering if usb-passthrough works and I can make the switch, or if I’m heading into uncharted waters … :stuck_out_tongue: