-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HAOS for ARM/AArch64 CPU (ESXi Arm Edition) #1050
Comments
@shirou93 patch welcome 😄 Yeah you can convert the disk image to a vmdk and try create a machine which boots. The utility |
I tried building a generic arm vm image, but I couldn't get a bootloader working. Best I can tell barebox doesn't support arm EFI. GRUB could be an option, but I don't know if it supports the A/B partitions. |
Hm, yeah bootloader is a problem: We use U-Boot in all Arm builds. It seems that ESXi Arm is expecting a UEFI bootloader such as Grub2. Gleening at this blog post it seems that booting something else is possible in theory, but it seems that requires some hacking: https://blogs.vmware.com/arm/2020/10/23/uefi-less-vms-with-esxi-arm-fling-1-1/ |
anyone try to follow this guideline for HA? |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
I am interested in this too. Would be so nice to run HA OS on ESXi ARM! |
As noted in #1549, there are now images named There are development builds available at https://os-builds.home-assistant.io/8.0.dev20220223/. |
Just tried it with the same settings as HAOS runs on ESXi-ARM, without any luck. |
@Grandma-Betty you did use the |
Yes, I used the said images. |
Can you configure the UEFI BIOS in ESXi somehow? Maybe secure boot or something? |
Also tired with both (latest) generic vmdk and ova vmdk.
|
Yes, I had the same issue. Just forgot to report back, apologies @agners. |
Any news on this? Seems pretty interesting! |
No updates, I don't plan to look into ESXi Arm myself. Home Assistant OS uses regular GRUB2 built for aarch64. The bootloader is present on the ESP (EFI System Partition) as it is common in UEFI boot flows. ESXi really should be able to pick up that GRUB2 and start booting, it's unclear to me why it can't. Unfortunately I haven't seen a useful log so far. If that is really all ESXi is logging, then its pretty useless to be honest 😢 I recommend using KVM, as it works and offers also logging which helps us developer to debug the problem. Plus its open source 💪 |
@agners Well, I was able to get the time now to try again. I located more VM specific logfiles which I attached. Maybe this gives you any hints in any way? |
Are those multiple boots? In log 1-3 it seems to crash similarly every time:
From the logs, it seems there are two disks attached?
Can you try attaching just the vmdk and just the img once? Ideally, as a S-ATA drive, but it probably doesn't matter. |
Yes, those are multiple boots. I tried to boot with IDE controller first, but the VM does not even start with IDE. Seems like the "Other 4.x or later Linux (64-bit)" template does not support IDE controllers: At last I tried SATA controller and then the VM started but never reached the GRUB2 bootloader. |
Wait, let me create the VM again and only boot once with the correct settings. I'll post the new logs in a minute. |
The last log (vmware-3.log) does has that vdmk file still, I am not sure what that is/if that interferes maybe:
Is |
|
@agners Does this image already include open-vm-tools and your latest NVMe driver commits? https://os-builds.home-assistant.io/9.0.dev20220518/ EDIT: I tested it now. NVMe controller indeed works now in my case but open-vm-tools seems not to be recognized by ESXi yet: Also all features that open-vm-tools are providing are not working so it's not implemented correctly yet. |
Tested the latest dev image from here: |
Hm, open-vm-tools should be part of that build. Can you get OS shell access (using
|
Hm, I see, the build system prevents the package from being selected under AArch64 🙈 should be a easy fix. |
Let me know when the next image is ready. |
I can confirm open-vm-tools and nvme boot works now with the latest 8.1 update. |
Now I also run home assistant 8.1 with "vmware tools" on my esxi on arm. so far I had my ha running on an intel NUC as vm under esxi 7. https://github.com/home-assistant/operating-system/releases/tag/8.0 Create a vm as "other 4th linux-system 64-bit", but without disk vmkfstools -i /vmfs/volumes/iso/haos_generic-aarch64-8.0.dev20220223.vmdk /vmfs/volumes/datastore1/haos/haos.vmdk Include vmdk in ha's configuration |
oh I need to upgrade to 8.1 then! Detecting VMware virtualization is possible by looking at the device tree. e.g. I added those lines to systemd: https://github.com/systemd/systemd/blob/df423851fcc05cf02281d11aab6aee7b476c1c3b/src/basic/virt.c#L134 |
@mondface Well I don't use zwave, but it's kinda common that you have to use a USB 3.1 controller. I was never able for any distribution running on ESXi ARM to make USB 2.0 controller working reliably. But since USB 3.1 controller never gave me any issues it's not really a disadvantage to me. I think the USB backwards compatibility is always given so I don't care. You just have to know it, that's all ;-) I remember once writing an issue about this according to Debian distro which may also be interesting to you: |
@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: |
@agners As the aarch64 image went stable now it would make sense to include it here, wouldn't it? |
@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 😄 Tips like the USB 2.0/3.1 issue etc, can then be collected there. The #1050 (comment) 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. |
https://community.home-assistant.io/t/installing-haos-on-vmware-flings-esxi-arm/426604 |
Hi @Grandma-Betty, this guide is very well written! Thank you very much. |
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. |
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) |
Not sure about that. The ESXi hypervisor does not consume much resources. 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. |
Dang, didn't see that, thanks! ... but it works anyway. :)
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. |
@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 |
@thiscantbeserious Maybe use |
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?
The text was updated successfully, but these errors were encountered: