14 KiB
Install Home Assistant Operating System
{% assign release_url = "https://github.com/home-assistant/operating-system/releases/download" %}
{% if site.installation.types[page.installation_type].board %}
Follow this guide if you want to get started with Home Assistant easily or if you have little to no Linux experience
{% if page.installation_type == 'raspberrypi' %}
Suggested Hardware
We will need a few things to get started with installing Home Assistant. Links below lead to Amazon US. If you’re not in the US, you should be able to find these items in web stores in your country.
- Raspberry Pi 4 (Raspberry Pi 3 is ok too, if you have one laying around)
- Power Supply for Raspberry Pi 4 or Power Supply for Raspberry Pi 3
- Micro SD Card. Ideally get one that is Application Class 2 as they handle small I/O much more consistently than cards not optimized to host applications. A 32 GB or bigger card is recommended.
- SD Card reader. This is already part of most laptops, but you can purchase a standalone USB adapter if you don't have one. The brand doesn't matter, just pick the cheapest.
- Ethernet cable. Home Assistant can work with Wi-Fi, but an Ethernet connection is more reliable and highly recommended.
{% endif %}
{% if page.installation_type == 'odroid' %}
Suggested Hardware
We will need a few things to get started with installing Home Assistant. Links below lead to Ameridroid. If you’re not in the US, you should be able to find these items in web stores in your country.
To get started we suggest the ODROID N2+, it's the most powerful ODROID. It's fast and with built-in eMMC one of the best boards to run Home Assistant. It's also the board that powers our Home Assistant Blue.
If unavailable, we also recommend the ODROID C4 or ODROID XU4.
{% endif %}
{% if page.installation_type == 'tinkerboard' %}
Suggested Hardware
We will need a few things to get started with installing Home Assistant. Links below lead to Amazon US. If you’re not in the US, you should be able to find it in web stores in your country.
{% endif %}
{% if page.installation_type == 'generic-x86-64' %}
This guide assumes that you have a dedicated generic x86 PC (typically an Intel or AMD-based system) available to exclusively run Home Assistant Operating System. The system must be 64-bit capable and able to boot using UEFI. Pretty much all systems produced in the last 10 years support the UEFI boot mode.
Summary
You will need to write the HAOS (Home Assistant OS) disk image directly to your boot media, and then configure your x86 to boot from this media, using UEFI boot mode.
Configure the BIOS
To boot Home Assistant OS the BIOS needs to have UEFI boot mode enabled and Secure Boot disabled. The following screenshots are from a 7th generation Intel NUC system. The BIOS menu will likely look different on your systems. However, the options should still be present and named similarly.
As a next step, we need to write the Operating System image to the target boot media (Your "boot media" is the disk, SSD, or eMMC that your x86-64 hardware will boot from when it is running Home Assistant). Depending on your system this can be a S-ATA hard disk, S-ATA SSD, a M.2 SSD or even a eMMC. Home Assistant Operating System has no integrated installer. You need to use your Desktop computer (e.g. by using a USB to S-ATA adapter) or boot a live operating system on your target system to install Home Assistant Operating System, by writing the disk image directly onto the boot media for your x86 system.
If you prefer to use a live operating system, follow the instructions of your Live distribution (e.g., this Ubuntu guide). Once you booted the live operating system, the following steps on how to write the image to your boot media can be followed.
{% endif %}
Write the image to your boot media
-
Attach the Home Assistant boot media ({{site.installation.types[page.installation_type].installation_media}}) to your computer {% if page.installation_type == 'odroid' %} If you are using a Home Assistant Blue or ODROID N2+, you can attach your device directly. {% endif %}
-
Download and start Balena Etcher
-
Get the URL for your {{site.installation.types[page.installation_type].board}}: {% if site.installation.types[page.installation_type].variants.size > 1 %} {% tabbed_block %} {% for variant in site.installation.types[page.installation_type].variants %}
-
title: {{ variant.name }} content: |
{{release_url}}/{{site.data.version_data.hassos[variant.key]}}/haos_{{ variant.key }}-{{site.data.version_data.hassos[variant.key]}}.img.xz
{% if variant.key == "odroid-n2" %} Guide: Flashing Odroid-N2 using OTG-USB {% elsif variant.key == "rpi4" or variant.key == "rpi3" %} (64-bit is recommended) {% endif %}
{% endfor %} {% endtabbed_block %} {% else %}
{% assign board_key = site.installation.types[page.installation_type].variants[0].key %}
{{release_url}}/{{site.data.version_data.hassos[board_key]}}/haos_{{ board_key }}-{{site.data.version_data.hassos[board_key]}}.img.xz
{% endif %}
Select and copy the URL or use the "copy" button that appear when you hover it.
- Paste the URL for your {{site.installation.types[page.installation_type].board}} into Balena Etcher and click "OK"
- Balena Etcher will now download the image, when that is done click "Select target"
- Select the {{site.installation.types[page.installation_type].installation_media}} you want to use for your {{site.installation.types[page.installation_type].board}}
- Click on "Flash!" to start writing the image
- When Balena Etcher is finished writing the image you will get this confirmation
Start up your {{site.installation.types[page.installation_type].board}}
{% if page.installation_type == 'generic-x86-64' %}
- If you used your Desktop system to write to your boot media, install the boot media ({{site.installation.types[page.installation_type].installation_media}}) into the target system. Otherwise, shutdown the live operating system and make sure to remove the USB flash drive you have been using for the live system.
- Make sure an ethernet cable for network is plugged in
- Power the system on. {% else %}
- Insert the boot media ({{site.installation.types[page.installation_type].installation_media}}) you just created
- Attach a ethernet cable for network.
- Attach a cable for power {% endif %}
- Within a few minutes you will be able to reach Home Assistant on homeassistant.local:8123. If you are running an older Windows version or have a stricter network configuration, you might need to access Home Assistant at homeassistant:8123 or
http://X.X.X.X:8123
(replace X.X.X.X with your {{site.installation.types[page.installation_type].board}}’s IP address).
{% else %}
Download the appropriate image
- VirtualBox (.vdi) {% if page.installation_type == 'macos' %}
- KVM (.qcow2) {% endif %} {% if page.installation_type == 'windows' or page.installation_type == 'linux' %}
- KVM (.qcow2)
- Vmware Workstation (.vmdk) {% elsif page.installation_type == 'alternative' %}
- KVM/Proxmox (.qcow2)
- VMware ESXi/vSphere (.ova) {% endif %} {% if page.installation_type == 'windows' %}
- Hyper-V (.vhdx) {% endif %}
Follow this guide if you already are running a supported virtual machine hypervisor. If you are not familiar with virtual machines we recommend installation Home Assistant OS directly on a Raspberry Pi or an ODROID.
Create the Virtual Machine
Load the appliance image into your virtual machine hypervisor. (Note: You are free to assign as much resources as you wish to the VM, please assign enough based on your add-on needs)
Minimum recommended assignments:
- 2GB RAM
- 32GB Storage
- 2vCPU
All these can be extended if your usage calls for more resources.
Hypervisor specific configuration
{% tabbed_block %}
-
title: VirtualBox content: |
- Create a new virtual machine
- Select Type “Linux” and Version “Other Linux (64-bit)”
- Select “Use an existing virtual hard disk file”, select the unzipped VDI file from above
- Edit the “Settings” of the VM and go “System” then “Motherboard” and select “Enable EFI”
- Then go to “Network” “Adapter 1” choose “Bridged Adapter” and choose your Network adapter
- Then go to “Audio” and choose “Intel HD Audio” as Audio Controller.
-
title: KVM content: |
- Create a new virtual machine in
virt-manager
- Select “Import existing disk image”, provide the path to the QCOW2 image above
- Choose “Generic Default” for the operating system
- Check the box for “Customize configuration before install”
- Select your bridge under “Network Selection”
- Under customization select “Overview” -> “Firmware” -> “UEFI x86_64: …”.****
- Create a new virtual machine in
{% if page.installation_type == 'windows' or page.installation_type == 'linux' %}
-
title: Vmware Workstation content: |
- Create a new virtual machine
- Select “Custom”, make it compatible with the default of Workstation and ESX
- Choose “I will install the operating system later”, select “Linux” -> “Other Linux 5.x or later kernel 64-bit”
- Select “Use Bridged Networking”
- Select “Use an existing virtual disk” and select the VMDK file above,
After creation of VM go to “Settings” and “Options” then “Advanced” and select “Firmware type” to “UEFI”.
{% elsif page.installation_type == 'alternative' %}
-
title: VMware ESXi/vSphere content: | Use the “E1001” or “E1001E” virtual network adapter. There are confirmed mDNS/Multicast discovery issues when using VMware’s “VMXnet3” virtual network adapter. {% endif %} {% if page.installation_type == 'windows' %}
-
title: Hyper-V content: |
Hyper-V does not have USB support- Create a new virtual machine
- Select “Generation 2”
- Select “Connection -> “Your Virtual Switch that is bridged”
- Select “Use an existing virtual hard disk” and select the VHDX file from above
After creation go to “Settings” -> “Security” and deselect “Enable Secure Boot”. {% endif %}
{% endtabbed_block %}
Start up your Virtual Machine
- Start the Virtual Machine
- Observe the boot process of Home Assistant Operating System
- Once completed you will be able to reach Home Assistant on homeassistant.local:8123. If you are running an older Windows version or have a stricter network configuration, you might need to access Home Assistant at homeassistant:8123 or
http://X.X.X.X:8123
(replace X.X.X.X with your {{site.installation.types[page.installation_type].board}}’s IP address).
{% endif %}
With the Home Assistant Operating System installed and accessible you can continue with onboarding.
{% include getting-started/next_step.html step="Onboarding" link="/getting-started/onboarding/" %}