HAOS AIO USB Creator enables you to create a bootable USB that installs Home Assistant OS onto a dedicated generic x86-64 PC. It handles the image download and USB setup for you, so you do not need deal with Ubuntu or manual disk-writing steps.
Added Linux .appimage, macOS (universal)
The basic idea is:
Run the app.
Select a USB drive.
The app creates a bootable HAOS installer USB.(Alpine Linux based)
The app downloads the latest Home Assistant OS generic x86-64 image and copies it to the USB. (it will also keep a copy on the PC for future use)
Boot the target PC from the USB.
The Linux installer checks for online for updates for the HAOS image.
Select the internal disk to install HAOS to.
The installer writes the official HAOS generic x86-64 image to that disk.
Reboot into Home Assistant OS.
HAOS images are always verified before any deleting or writing
There is a unattended mode which will automaticly write to the disk, install will halt if more than one is detected and to protect from install loops it will try to set efi to next boot device, also a file is place on USB to catch it just incase (only effect new installs)
You can enable SSH while creating the installer if you still need to access the installer headless - root@ip
You can enable legacy boot for installing on older systems without UEFI through the Installer but if booting from the iso there is a prompt with timeout
The installer iso can also be used as is to create bootable media directly or used in VM’s. Internet access will be needed for the installer to download the HA image
No Home Assistant images are distributed with the software nor are they modified in anyway.
Project is open source AGPL-3
You are my Hero! i tried yesterday the complete day to create a usb stick with balena etcher. nothing worked.
Found your AIO Installer and it performed so good on the first try. Thank you so much!
fyi: the generic x86-64 image is not bootable... it needs to be wrote directly to the drive you wish to have HA installed on, thats actually what the customised linux installer does
The Windows app downloads the Home Assistant OS image and copies it to the USB, so the booted installer only needs network access to check whether a newer image is available. If that check fails, it can safely continue using the image already on the USB.
If the installer cannot get network access, the same network interface may also be unsupported once the machine boots into Home Assistant OS. Is the network failure happening inside the installer, and/or after it reboots into HAOS?
When you say, “Running through different distributions blindly in headless mode, without a monitor, turns into a vicious cycle,” do you mean the installer is running repeatedly because the machine keeps booting from the USB? If the installer cannot switch the UEFI boot target after installation, the next boot should not silently reinstall. It should stop rather than continue into another install loop.
Thanks, worked like charm for my NUC with integrated NVMe which was hard to remove otherwise
Best and keep going and creating, JR
BTW You could refine instructions a little bit to indicate which .zip is needed for using this AIO solution.
Hardware: I am using an industrial mini-PC OnLogic Helix HX310 (Intel Elkhart Lake platform, dual Intel LAN ports).
The Goal: I need to perform a 100% headless installation of HAOS to the internal SSD because I do not have a monitor or keyboard connected to this machine.
The Problem with HAOS-USB-Creator:
The booted installer never gets network access on this machine.
When I flash the USB drive using HAOS-USB-Creator-win-x64.exe on Windows 10, insert it into the OnLogic PC, connect the LAN cable to the main port (LAN 1), and power it on, the machine never requests an IP address from my router's DHCP server.
I monitor my router's active DHCP client list constantly. The device simply never appears in the network under any hostname (like haos-installer or alpine), making it impossible to reach the stage where I can SSH into it and select the internal drive.
(Note: In previous manual experiments with other clean Linux distros like Ubuntu Server, the hardware was able to get an IP, but with the HAOS-USB-Creator Alpine-based image, the network interface remains completely dead/unreachable).
Regarding the "vicious cycle":
No, it is not an installation loop. By "vicious cycle," I meant my own manual, blind attempts to flash various other Linux distributions just to get SSH access to write the HAOS image manually, since the dedicated installer fails to bring up the network.
My main question:
It seems that the underlying Linux kernel/drivers of the HAOS-USB-Creator boot image do not automatically support or initialize the Intel network interface on this specific Elkhart Lake board. Is there any way to pre-configure static network settings or inject network drivers onto the USB drive before booting the machine?
P.S. Since your utility is Alpine-based, the network issue is most likely caused by Alpine's default behavior. Unlike Ubuntu, Alpine does not automatically launch DHCP client on all available interfaces (like eth1 or enp1s0), which is critical for multi-LAN devices like the OnLogic HX310. Implementing a global interface fallback (like setup-interfaces -a or a systemd/openrc udev rule to trigger udhcpc on any hotplugged link) inside the boot image would fix this headless blind-spot completely!
For a headless install, the intended to use the unattended option in the Windows USB creator. That writes the installer configuration to the USB and the booted installer should proceed without prompts and ONLY if it detects one internal disk. In that mode, network is still optional since the HAOS image is already on the USB. The attended install was not designed for SSH as it expects user input before it ever reaches the network check or DHCP attempt.
unfortunately if you can't use unattended because you have more than one internal disk then this is not going to work. I will look into enabling headless SSH installs in a next release.
Hi, you made a great job !
Do you think it’s possible to make installs on non UEFI ?
I’ve seen these docs, but perhaps it’s possible to make it from you installer ?
How fast !
Thank you very much !
I installed HomeAssistant with the “normal” installation on a UEFI PC, but was not able on non UEFI.
Thanks to your installer, I now have an old non-UEFI laptop ready to make a spare HA !
Curiously, I had to remove the installed OS (ubuntu) on it because the USB key did’nt want to boot (other bootable USB was working). But after that, all worked !