Alternative way of running HassOS (full OS) on FreeNAS (without iocage or Docker)

I got it loaded up and started, but now I’m having network issues. I don’t think this would be related to the image I used, but who knows.

If it matters- I have no internet connection in the VM. I’m getting a DHCP reservation on my router, but not getting that same address to show on the vm. I’ve tried both the VirtIO and Intel e82545 options in the FreeNAS VM options.

I’ll keep playing with it and see what I can get.

Intel E82545 emulation I used for other operating systems and would ensure compatibility.

Do you use multiple NICs in your system (showing in the attach NIC option)?

So, I restarted FreeNAS and I can now access the web interface. :thinking:

For what it’s worth- I double checked on the command line, and the HA command “core info” is still giving me a weird IP address… Completely different that what I see on my router, or what I’m accessing by the web interface. I use a 10.x.x.x for my home network, and the vm says it’s a 172.x.x.x address. I’m guessing this is some kind of docker translation shenanigans.

Yes, all the Docker addons inside that VM are using 172.x.x.x addresses. The “external” (not really external because is still inside your lan) ip of the VM will be in the 10.x.x.x subnet and you use that one for access.

If you want to do mac binding you can see the mac of the VM in Devices menu of the VM in FN (mac shown in the ssh addon of not-hassio-anymore is not the one that gets the ip from the router).

Hi Petrica,

Thanks for your help.

You’re welcome.

Unfortunately, with this method of running in VM on FreeNAS, USB devices (Z-Wave/Zigbee,etc. gateways) cannot be attached to Home Assistant.

For Zigbee (Using Conbee2 USB), I’ve setup the resberry pi 3 with Installed deCONZ already. Now I need to communicate 2 instances of HA.

I think I’ll try MQTT Statestream soon. Any suggestion?

  • Klang

I had initially set MQTT Statestream myself but I’ve overhauled the setup and I don’t need it anymore (Zigbee2MQTT sits on the non-FreeNAS install I just set the sensors and switches on both systems). You can also have a look here (HACS enabled). Just to warn you that I’m not using autodiscovery (I have everything set manually) and I don’t know how a two instances setup would fare with autodiscovery.

Hi Petrica,

Thanks a lot for your suggestion. The Remote Home-Assistant is super easy. Links 2 home-assistant instances together with a few clicks. And I’ve added MQTT Eventstream to sync events too. Works great so far.


Had an issue with 11.3/OVA version being very slow. Took 5 minutes to boot. Going to try intel nuc image.

You don’t need a separate device for zigbee2mqtt. I set up and installed this in a new jail - works perfectly.

On FN11.3? I tried (not really hard enough :slight_smile: ) on 11.2 and the jail broke on subsequent FN update.

I’ve used intel nuc image. Took less than 10 seconds to reboot. Never tried the ova version though.

I thought jail cannot pass USB devices. Can you tell me how you’ve setup your zigbee2mqtt?

Passthrough works on jails, but not really on VMs.

This is the link for the setup (I was too lazy to follow up after the FN11.2 U2 :slight_smile: and then went with the VM setup which doesn’t allow passthrough)




to the dd command to speed up the process. For me it was a change of ~800 seconds to 30.
Also, I had difficulties getting it to write to the zvol - it just created a file on the path. If you (like me) created the zvol below another (sub) dataset, what you think would be


should actually be;


I got my install to work fine, but noticed everything in the “supervisor” tabs runs extremely slowly.
The dashboard wont load, and when adding a new repo on the add-ons tab nothing happens.
I upgraded to HassOS 3.13 without luck.

Although FN is not specifically designed for running VMs, mine runs fine on AMD X3216. I’ve also run supervised HA on generic Linux installation on a FN VM (Pentium G4400) and haven’t seen a major performance penalty or limited functionality (except for not being able to passthrough USB devices).

***Hi i recently try to install Hassos on FreeNas i think that i follow the instructions to the point where i begin to get this error.
dd: /mnt/video/video/mylocker/hassos_vm.img/of=/dev/zvol/video/myhome: No such file or directory
i create a Pool name video in this pool i create the zvol name myhome and the Hassos file hassos_vm.img is store in a nother pool name mylocker

i try to find a part of the command that work and this part do seems to run without and error
[email protected][~]# dd if=/mnt/video
0+1 records in
0+1 records out
2 bytes transferred in 0.000034 secs (59186 bytes/sec)
i then continue to add more to the line
dd if=/mnt/pool_video/dataset_video/mylocker/hassos_vm.img if=/dev/zvol/pool_video/Zvol_myhome
and as you see the line above but each time the error No such file or directory it seems i am pointing it to the wrong direction .please can you help
thank you***


Try to navigate from terminal to the location of the hassos image and copy it exactly (at least the …/video/video/… part might be wrong and I think it should be /mnt/video/mylocker/hassos_vm.img).

Also, make a printscreen of the zvol in the Storage->Pools menu of FreeNAS.

i did try that command but get the same result, the mylocker is a pool i create , i make a screenshot but cannot attached it here
i will just type all of my pool as i see it

name type used available compression comp ratio readonly dedup c
mylocker dataset 209.78 3.51TiB lz4 1.74x false off

name type used available compression comp ratio readonly dedup c
oddone dataset 640KiB 573.5 GiB lz4 1.00x false off

name type used available compression comp ratio readonly dedup c
video dataset 11.81MiB 898.99GiB lz4 17.27x false off
myhome zvol 1.77MiB 898.99GiB inherits lz4 1.00x false off

from within file explorer i copy the hassos_vm.img from my C:/ and paste it into the freenas pool drive mylocker so it now in the \FREENAS\mylocker

when i enter dd if=/mnt/video it return
0+1 records in
0+1 records out
2 bytes transferred in 0.000033 secs (61457 bytes/sec

You need to identify the proper paths for both source and destination.

The dd command uses source (if=) from /mnt/"the pool name"/"the dataset name"/"the location and name of Hassos VM.img file"and destination (of=) /dev/zvol/"the pool name"/"the zvol name"