UPDATE: The os image was just migrated from Debian 11 to 12 to be consistent with HA.
While this topic indicates it works for Odroid N2+ the approach has been tested on a Raspberry Pi 4. There is a post that shows an individual used this method to install on a Banana Pi M5.
This topic provides an easy way to get HA up and running on an officially support version of Debian running on the Odroid N2+ platform on an eMMC hard drive. The N2+ with eMMC blows the raspberry pi 3 & 4 away from a performance perspective. The debian distro comes from this project on github. This is a clean version of debian set to work on a number of hardware platforms. The project provides an easy way to build an os image file and future updated kernel packages. If you need to talk with someone they are available on discord. The project must be installed on either Debian Bullseye or Ubuntu Jammy Jellyfish. If you have a one of these system you clone the repository and run the ./install script to get all the needed packages installed. The projects will run on either a native arm system or an intel/amd 64 bit process using a cross compiler. The install script handles getting every thing installed. I personally use a virtual machine running Debian Bullseye and installed the project on the VM.
Once you’ve run the install script you have to create a user configuration file which provides details used to to build your kernel and image files. This is handled by running “make config”. This gives you the following screen to enter your details.
The only three things you really need to update are the Name, Username and Password. The U-Boot and Branch will be different as they are updated as new releases are incorporated. So use whatever value comes in this area. Once you submit this you can then start the process of building and image with the command “make menu”. Which gives the following:
Select the Odroid N2+ and hit OK and you get this menu:
Select “Make All” and you’ll be off to the races. When it completes it’ll give you the name of your image file which you can then burn on your eMMC drive. I believe the same image will work on the SSD drive. The image is a command line only interface to the operating system. You can either connect with the console port available on the N2+, via the hdmi/keyboard interface or via ssh if you have a NIC cable connected.
When you first log in you should run “setup -r” in order to set local and timezone information. You can then run the “menu-config” command which provides this menu:
The Software option currently supports installing one product on top of the OS and that’s Home Assistant in supervised mode. Follow the prompts and home assistant, along with dockers and all other required packages will be installed. When the supervised install script runs you’ll need to select the Odroid N2 as the installation platform. Once the this install completes you will still have some time while all the HA docker containers are downloaded. You can exit the menu-config command. Once port 8123 is available on your system the install is complete.
That’s it, pretty simple. I realize some might not have a Debian Bullseye system to build the image. If requested I could look to post an image file from my build system.
If you’re wondering why you might consider using your own OS load instead of using the pre build OS/HA image provide by the Home Assistant team, I’ll give you a couple of reasons.
- Adding cellular backup requires you to make some changes at the OS level. There are other ways to do cellular backup, but this way provides cellular to back up only to your HA system. This can greatly reduce the cost for the cellular backup.
- Easy GPIO integration of existing wired door or window sensors.
- Easy integration using shell commands for a full house audio system
- If you have your own domain name, an easy way to generate a wildcard cert and us it with the HA GUI and any other service you might be trying to provide access to in HA. See the web integration from the last item to HA.
There are lots of reason having access at the OS/shell level can be useful for building out your smart house.