[Guide] Home Assistant on Apple Silicon Mac using HA OS AArch64 Image

Ever since I saw the new generic AArch64 image being mentioned in the Home Assistant OS 8 release note, I knew it would make running HA on Apple Silicon Mac a lot easier. And it DID!

Here’s what I did to make it happen:

1. Download & Install UTM


Download & install UTM (https://mac.getutm.app/), you can download it from the official site for free, or get it from the App Store (not free, but you can support the dev, and the App Store version also updates automatically)



2. Download the Home Assistant OS AArch64 Image


Download the disk image file from the official Github page (GitHub - home-assistant/operating-system: 🔰 Home Assistant Operating System), download the .qcow2 image from the release section. (e.g. haos_generic-aarch64-x.x.qcow2.xz)



3. Create the VM


Create a new VM (virtualization not emulation), import the qcow2 image as the disk drive, I use bridged mode for the network interface, you need to manually input the desired network interface otherwise you won’t have Internet access.


Click on the “Create a New Virtual Machine”

Select “Other”

Follow through or play around the settings as you like


We will remove this virtual disk in the process, just use the default for now

Check “Open VM Settings”

Now go to the “Network” page, select “Bridged (Advanced)”, in the “Bridged interface” input field, enter the interface you would like to use, in my case, “en0” is the default Ethernet port.

Delete the virtual disk created in the process



Add a new virtual disk, then click on “Import”

Select the .qcow2 disk image we downloaded before, and make sure the disk image is made for the right architecture (AArch64)

4. Start the VM


Now start the VM, and the rest is pretty much the same as on other platforms.

After you’ve completed the installation, you will find the VM’s disk size is too small. Follow the instruction mentioned on this page (Resizing a disk - BluDood's Guides) to resize the virtual disk (I expand it to 32GB), and that’s about it. [Update: UTM now comes with UI options to resize the disk image, so you no longer need to use the command line utility.]

Enjoy!


20 Likes

I try this but I only come on a command line:

Shell>

I double-checked my installation process, and everything went smoothly. I’ve added more screenshots to the tutorial, hope it’s easier to follow through.

1 Like

Worked now. Only at step 2 I downloaded the file again. But also extract the file. Add the one with .xz didn’t work.

3 Likes

Anyone know why I’m getting “Your Network is probably not using the DHCP protocol”? My router definitely uses DHCP. I’m using wireless and haven’t tried wired yet. I tried assigning a static IP using the MAC address but still nothing.

You can also resize the virtual disk directly in the UTM disk settings after you imported the .qcow2 file.

Yes, that’s added in a later release, which wasn’t available at the time of writing. Tks!

2 Likes

I think one super minor step is missing, you select “virtualize” and not “emulate” at the beginning :wink: :+1:

Thanks a lot for the guide, helps a lot for beginners! Was searching for M1 macOS guides, it took way too long until I found this one!

I got 2 issues.

Part 1: QEMU

On boot, I got this error here:
image

Then I checked the official guide again and there it said

  • https:// home-assistant . io / installation / macos
  1. Click “Add Hardware” (bottom left), and select “Channel”
  2. Select device type: “unix”
  3. Select name: “org.qemu.guest_agent.0”
  4. Finally select “Begin Installation” (upper left corner)

But did not figure out how to do that on UTM instead of virt-manager until I found this:

So I added this to the Qemu-settings:

-chardev socket,port=4321,host=127.0.0.1,server,nowait,id=qga0
-device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0

Part 2: Wifi

I thought that did it, but on the next boot 2 more errors appeared:

[FAILED] Failed to start Network Manager Wait Online.
See 'systemctI status NetworkManager-wait-online.service' for details.

So I switched the network from bridged to shared. Will this be a issue? Is it really necessary to have it bridged?

MacOS is connected over Wi-Fi only, which is probably the issue: Network | UTM Documentation

Bridged Interface

Only applicable for “bridged” network mode. Note that bridging with an Wifi interface may require additional configuration.

If so, I need to find the necessary “additional configuration” :smiley:

Many thanks for this guide, have got it setup and imported my rpi4 backup config in under 15mins.

Has anyone tried a USB bluetooth dongle with this setup?

2 Likes

are you on macos with apple silicon? did it work for you in bridged mode? I got errors :frowning:

Yes M1 MacBook Air in bridged mode.
I’ve got a usb-c ethernet adaptor and for me I needed to add en6 to UTM network settings. ( I’ve turn off wifi)

To find which device yours is, open terminal on macOS, run ifconfig then look for your ip address and the en? device will be listed just above it.

I’m not having any joy with bluetooth with HASSOS in UTM.

I’ve added a sabrent USB BT4 dongle and enabled it for UTM but despite the device being seen in HA, it can’t see any BT devices.

This procedure works for Ventura / m1 apple silicon. Thank you for putting this together!

UTM 4.1.5 (74)

Home Assistant 2023.1.5
Supervisor 2022.12.1
Operating System 10.0.dev20230116
Frontend 20230110.0 - latest

great documentation by @edwinwang , thanks for spending time and effort on such thorough guide. I followed a slightly different guide by Siytek, also very good and thorough.

I managed to get HA working in supervised mode on my M1 Mac Mini. I had to apply a few modifications along the way. I also restored from the full back up tar file from my Debian box that I redepoy to run other applications.

The only thing I cannot get it to work is the Sonoff USB dongles Plus (E). I tried plug and play, did not work. I even turned on USB sharing from host. I installed the driver but somehow it was blocked by Ventura. I looked through the Mac settings (aka preference) screen and I cannot find where the driver file was blocked. As usual on Mac Ventura, once it is blocked not matter how many times to re-install the driver, it would not be unblock

Just wondering anyone using UTM on Apple Silicon Mac has this experience and more importantly the solution. For now, all my Zigbee devices are offline :unamused:

Hi I am brand new to HomeAssistant and still wrapping my head around the nuances of OS vs Container vs Core vs Supervised.

I have worked a little with linux, VMs, and a lot of command line stuff within MacOS - but sometimes I know enough to get myself very lost rather than enough to solve my own problems. :smiley:

I was hoping to run in a VM on my M1 Mac rather than get a separate machine, if possible.

I am confused that when I install following this method, on the screen in the virtual machine it says

OS Version: Home Assistant OS 9.4
Home Assistant Core: 2023.1.6

Which led me to believe this is a full Home Assistant OS running in VM, and I should be able to get add ons, but I do not see any way to add add-ons, only integrations.

Specifically I am trying to add this Adaptive Lighting add-on, which wants me to add HACS, but none of the directions I have found work.

The prompt I have within the VM is a “ha >” prompt not a normal linux prompt.

Are there simply some additional steps I need to perform to get these parts running, or have I started down a path with a dead end in terms of add-ons?

just an update. I unplugged the Zonoff USB dongle, then plug in again. I now able to see a pop up window on the UTM terminal and ask me to agree to connect one time or permanent.

I saw no change. After a day or so, I had to restart the UTM session after the HA core update. After that, I found all Zigbee related working again.

So I am happy now

Ok, and this is what fuzzygel said just above me, this thread you end up with “Core” only and not supervisor…so need to follow this other method.

Any chance you got the connection over wifi working? I’m in the same boat at the moment.

Thanks. Getting HA working was easy.

I am unable to get skyconnet working. Any of you have a guide for that?

Thanks.