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

Check all the names as *nix commands are case sensitive.

Could you post printscreens for the Zvol (Storage->Pools->Edit Zvol)?

You have created Hassio Zvol under Vms Dataset and Iā€™m unsure if a Zvol should be created directly on the pool or if it is ok as part of a dataset.

If it works on the dataset then the above command should be:

dd if=/mnt/TBG7200/Vms/isos/hassos.img of=/dev/zvol/TBG7200/Vms/Hassio

Does the command (run it on FreeNAS) ls /mnt/TBG7200/Vms/isos show the same files as those from the printscreen?

1 Like

Iā€™ll try to create a new zvol directly on the pool and yes it shows the same files. thank you for the help

oh thank you so much I feel like an idiot, your command worked. I thought zvol was weird and only needed the name and pool, not the path

hey all
not sure this thread is still alive, but i need some help too plz with this topic :slight_smile:

when i run the DD command (in FreeNAS-11.3-U4), it creates a new file with the name of the zvol i mentioned in the command, but it does not actually deploying the image to the zvol i had created.
i can run the command even without creating a zvol in the GUI beforehand, and it will still create a file with the name i specified in the DD command, at the pool/dataset/volume i specified.
any ideas?

Hi,

It is quite difficult to figure it without additional info.

Could you post (and, if the case, blur out sensitive info, but really there shouldnā€™t be any) printscreens from GUI (for the zvol) and from ssh client (for the FULL location of the .img file)?

hey!
thank you for the quick reply
thats the command:

ā€˜dd if=/mnt/RaidZ2/DataSet_I/hassos.img of=/mnt/CrucialVM/CrucialVM/hassOsā€™

all pics in same frame in the end (new members rule of 1 pic)
a pic from the gui, as to where i keep my zvols of vms
SSH image after the command finishes:
and the file that was created on that dataset - just a little less than 6.5 GB

as i said - it create this file regardless if there is a zvol with this name or not

how abnormal is this??? should i call mulder and scully, or ghostbusters??

:slight_smile:

I donā€™t see any zvol in your printscreen (see below; it needs to state zvol to be able to flash to it, then get the locations of both source and destination and you should be fine)

image

hi!
you were correct!

i just learned that the zvol path was wrong, as the actual file path is under ā€œdevā€ folder. and not under ā€œmntā€

now, i have a different problem as i run this command:
dd if=/mnt/RaidZ2/DataSet_I/hassos.img of=/dev/zvol/CrucialVM/CrucialVM/HAssOs

i get this message:
dd: /dev/zvol/CrucialVM/CrucialVM/HAssOs: Operation not supported

any thought on that?

Hi,

I think there are several problems:

  • there is no zvol created (in your yesterday printscreen you had the CrucialVM dataset under the CrucialVM root dataset); see in my original post the differences between datasets and zvols;
  • the path to img or to zvol are wrong.

In your printscreen from FN dataset name was CrucialVM however you used RaidZ2 for the img file location (/mnt/RaidZ2/DataSet_I/hassos.img).

If you havenā€™t changed anything from your post yesterday it should something like dd if=/mnt/CrucialVM/CrucialVM/hassOs.img of=/dev/zvol/CrucialVM/NameOfZvolYouNeedToCreateInThePool

hi Patrica

first of all - you are my hero
i did as you said and magically enough - all worksā€¦

YEY YOU!!!

now, iā€™d love to pick that wonderful brain of yours for a tad longer if you pleaseā€¦ so i can fully understand what i got wrong in the first place.

under ā€œ/mnt/RaidZ2/DataSet_I/ā€ i had a copy of the ā€œhassos.imgā€ file.

however, only after i had copied that file to the ā€œ/mnt/CrucialVM/CrucialVM/ā€ (where i created the zvol), the DD command worked.

why is that? do the SORCE img file and the ZVOL need to be under same path for that command to work?
is that why i got an error in the first place?

original command was:
dd if=/mnt/RaidZ2/DataSet_I/hassos.img of=/dev/zvol/CrucialVM/CrucialVM/HAssOs

and i add a pic for you to see the LS command under that path, so you can see i had the IMG file there as well.
sorece

cheers!
(now the real work of figuring out the world of HA is just beginning. but im so happy im not walking that path by myself. so thanks again :slight_smile:

I think it was a typo (should remember that *nix systems are case sensitive and ā€œtestā€, ā€œTestā€, ā€œtEstā€, ā€œTESTā€ are all different thus a single capitalized letter can make the difference). I got the info needed for the command from your printscreens.

understoo:D

thanks for your help !!!

Hi Petrica
Fantactic project I have been wnating to do this for a while. I am running TrueNAS-12.0-RELEASE.
I have followed all the instructions as per your aritcle. I get all the steps to work and except the last step to start the VM. When I start and go to the VNC, it just comes up to the UFEI boot screen and wont continue.


I have made screen shots of the other steps as well. Any ideas?

Thanks
Doug

Hi Doug,

I donā€™t think it would work as the destination is used as dataset mapped under mnt, not as zvol (see my initial post).

Assuming ā€œStorageā€ is the name of the pool, ā€œHass_OSā€ the name of the zvol and the location of img file is correct, then the command to burn the image would be (if it still doesnā€™t work post prinscreens from Storage->Pools and for the location of the img file):
dd if=/mnt/Storage/Home/hassos_vm.img of=/dev/zvol/Storage/Hass_OS

I think that the confusion rests with the fact that, in TrueNAS Core 12, the datasets are described as filesystem and zvols as volume (which is different from what Iā€™ve used in the initial post with FN11). I havenā€™t used TrueNAS before version 12 (only FreeNAS) thus I donā€™t know if these names were specific to the TrueNAS side or they only appeared with the unification.

image

image

1 Like

Hi Petrica

I can confirm it work perfectly on TrueNAS 12.0. I just had to set the NIC toVirtIO, for me to get access.

Thanks for a brillaint project.

Doug

Havenā€™t tried this with the TrueNAS 12 however I will try to update the original post as Iā€™ve seen there are differences between the two (and also include printscreens).

And probably, next year, TrueNAS SCALE would make running VMs much easier.

Thanks for this guide. Everything worked up until I booted the VM. I can get into the Hass web UI which says ā€œPreparing Home Assistantā€

The log shows the same error over and over again:

Updating image homeassistant/qemux86-64-homeassistant:landingpage to homeassistant/qemux86-64-homeassistant:0.118.5
Downloading docker image homeassistant/qemux86-64-homeassistant with tag 0.118.5.
Can't install homeassistant/qemux86-64-homeassistant:0.118.5 -> 500 Server Error: Internal Server Error ("Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)").

Error on Home Assistant installation. Retry in 30sec