home-assistant / operating-system

:beginner: Home Assistant Operating System
Apache License 2.0
5.01k stars 982 forks source link

HAOS for ARM/AArch64 CPU (ESXi Arm Edition) #1050

Closed shirou93 closed 2 years ago

shirou93 commented 3 years ago

Why not release hassos ova for arm? VMware released ESXi Arm Edition and RPI4 8gb make sense.

Is it possible convert rpi.img to working vmdk?

Grandma-Betty commented 2 years ago

@mondface @claplace Off-topic but the following issue also might be interesting to you as I am not the only one struggling with NUT on ESXi since months now: https://github.com/networkupstools/nut/issues/1004 This might be useful to be aware of as you can read there are also users struggling with NUT runnig on Home Assistant running on ESXi. Also one of the latest posts of the user running 29 ESXi servers which are all affected in the same way about the USB issue proofs that there is something wrong.

Grandma-Betty commented 2 years ago

@agners As the aarch64 image went stable now it would make sense to include it here, wouldn't it? https://www.home-assistant.io/installation/ I mean the more people are aware of it, the more people will use it, the more it gets the chance to get "matured". I can only tell it works like a charm in my case and I really did many(!) tests over the weekend with the add-ons/integrations I have mentioned above. Nothing to complain about compared to my previous x86 virtual setup. In fact I am really more happy now with HA running on a Raspberry Pi based ESXi hypervisor.

agners commented 2 years ago

@Grandma-Betty @claplace the "Virtual Environment" information is from Home Assistant Core, and indicates if the installation makes use of a Python Virtual Environment. So it is unrelated to the virtualization technology we are discussing.

@Grandma-Betty I'd still count aarch64 virtualization quite niche still. If we would add it to the official documentation would add maintenance load on our end. At this point I don't think we would accept it to the official documentation.

I recommend starting with a Community Guide for now. A good title and it will be the first Google search result :smile: Tips like the USB 2.0/3.1 issue etc, can then be collected there. The https://github.com/home-assistant/operating-system/issues/1050#issuecomment-1133594465 is probably a good start already.

I'll close the issue here as there is nothing open on HAOS side at this point. If you create a community guide, feel free to link it here. If more work is to be done on HAOS side, please create a new issue.

Grandma-Betty commented 2 years ago

I recommend starting with a Community Guide for now.

https://community.home-assistant.io/t/installing-haos-on-vmware-flings-esxi-arm/426604

claplace commented 2 years ago

Hi @Grandma-Betty, this guide is very well written! Thank you very much.

thiscantbeserious commented 1 year ago

Just in case: I used the generic-aarch64 image successfully including USB-Passtrought with a Zigbee-Stick (HAOS 9.3) on Pimox 7 - with a Raspberry Pi 4/8GB ... works surprisingly smooth. Used the installer from here:

https://github.com/tteck/Proxmox/blob/main/vm/haos-vm-v4.sh

Simply replaced ova with generic-aarch64 image in it and afterwards coverted the disks to qcow2 (also had to remove the EFI boot disk and readd it).

Works surprisingly smooth - even with just 2 cores assigned.

Might be a better Option then ESiX in terms of performance, specifically on something as limited as ARM SBCs.

Just be sure to not use a Board like the NanoPi M4v2 with BIG.little architecture - because that's something KVM/QEMU refuses to work with - multiple different core types.

tteck commented 1 year ago

There's actually a PiMox script to install HAOS at https://tteck.github.io/Proxmox/

(https://github.com/tteck/Proxmox/raw/main/vm/pimox-haos-vm-v4.sh)

Grandma-Betty commented 1 year ago

Might be a better Option then ESiX in terms of performance, specifically on something as limited as ARM SBCs.

Not sure about that. The ESXi hypervisor does not consume much resources. But indeed it is a very interesting option and I'm very impressed by the progressive process of virtualization generally. Also it's nice that PiMox is open source and it does not have any license limitations as the annoying 180 days ESXi ARM limitation, which you only can get around when assigning a license via vCenter to it.

Because of license reasons I was considering too about jumping my homelab from vSphere to a Proxmox environment, but the missing ARM part for Proxmox was holding me back currently. Now I can think it over again. So thanks for sharing!

thiscantbeserious commented 1 year ago

There's actually a PiMox script to install HAOS at https://tteck.github.io/Proxmox/

(https://github.com/tteck/Proxmox/raw/main/vm/pimox-haos-vm-v4.sh)

Dang, didn't see that, thanks! ... but it works anyway. :)

Might be a better Option then ESiX in terms of performance, specifically on something as limited as ARM SBCs.

Not sure about that. The ESXi hypervisor does not consume much resources. But indeed it is a very interesting option and I'm very impressed by the progressive process of virtualization generally. Also it's nice that PiMox is open source and it does not have any license limitations as the annoying 180 days ESXi ARM limitation, which you only can get around when assigning a license via vCenter to it.

Because of license reasons I was considering too about jumping my homelab from vSphere to a Proxmox environment, but the missing ARM part for Proxmox was holding me back currently. Now I can think it over again. So thanks for sharing!

Just be carefull: Any BIG.little architecture will give you troubles - as long as its a Raspberrypi with 4 Cores of the same type it wont have any troubles.

thiscantbeserious commented 1 year ago

@tteck if you modify your create_lxc.sh script to actually be able to select a locally stored images you can actually use all lxc scripts also with aarch64/arm64 on the Raspberry Pi 4B for example with Pimox (because the tool shipping with promox only having and downloading amd64 variants - which will obviously also fail to start because of the wrong architecture) ... currently running a hard coded variant over here to test them ... zigbee2mqtt and homeassistant lxc work all fine too including usb passtrought

tteck commented 1 year ago

@thiscantbeserious Maybe use uname -m to detect the architecture. If aarch64/arm64 is detected, download the appropriate image. 🤷🏻‍♂️