Add support for Odroid M1

Migration from Raspberry Pi4 4GB to Odroid M1 8GB ist done. :grinning:
Home Assistant OS on eMMC, Data on NVME M.2 SSD (1TB WD Blue :grinning:)
The highest effort was to update the boot loader.

I had trouble to restore the Studio Code Server Addon. SCS was not restored as well all other Addonā€™s below in the list. Partially restore of SCS was also not successful. I had to install the Addon manually. For all other Addonā€™s I was able to restore it from the Backup.
But now everything works fine. Less ennergy cunsumption than the Pi4, only 4W.
Prozessor Temperatur 42Ā°C.
Overall i would say everythink is working a little bit smoother.

1 Like

I did same but for both nvme and sd device. After restart (before nvme status led is on and after power led is on) quickly eject sd card. For some reason itā€™s start booting from nvme (like from mmc?. boot.scr written to work only with mmc/sd only, as I understand)
Video example: https://youtube.com/shorts/dL1r5bQM9l0?feature=share

I can see I didnā€™t post what I found out. Itā€™s my impression that HassOS is built on a bootloader called ā€œubootā€, which seemingly doesnā€™t support NVMe. But Iā€™m not sure why they would use this loader, if the loader weā€™re using (petitboot?) already supports all the things.

Put another way. If we use the Debian XX provided by Odroid, we can install HA Supervised on that and be all good on NVMe. Iā€™m hoping we eventually get a HassOS image that does thatā€¦ :slight_smile:

I got a reply from the HA moderator:

HAOS uses a special boot flow to fallback to the previously installed OS in case of errors (A/B scheme). This requires our own boot loader U-Boot to be started directly.

Ubuntu does not have such recovery mechanism, and I assume they provide boot scripts which Petitboot starting from the on-board SPI ROM can read directly from the NVMe.

Weā€™ve considered that option, but it would mean a departure from our boot scheme for that particular platform, which we rather prefer not to doā€¦

Did you restore the backup during the onboarding of the new HA OS on the odroid or did you first install an empty HA OS and ran the backup/restore function from within the settings of HA installation?

I seem to struggle with the restore of the backup (but I come from an installation on debian OS with supervised install on odroid m1.

another question; how long did the restore take (and how big was the backup file in size?)

sorry to add to an ā€˜oldā€™ thread.

I am also trying to use Odroid M1 to run Home Assistant supervised. I have a Samsung 512GB NVME in the M1 but I have no luck to boot up in Debian. I am getting conflicting information whether the lates Petiboot supports booting from NVME.

I also have trouble updating the Petitboot based on this and this articlea.

These are the steps I used (or intended to)

  1. etch the Debian bootable image to SSD

  2. boot up Petiboot

  3. exit to shell

  4. enter ā€˜ums /dev/nvme0n1ā€™

  5. enter udhcpc

  6. enter netboot_default

  7. enter exit

  8. select Debian netbook installer from boot list

  9. install Home Assistant as per Installing Home Assistant Supervised using Debian 12

However, once I finished installing Debian 11 , M1 started with Petitboot and not Debian

Can anyone point me to the right direction as people on this forum has done this such as

I am only able to inatall Ubuntu 22.04 but not Debian 11, not sure why

Any help is appreciated

Itā€™s my impression that you still cannot install HAOS on the NVMe.

I just updated my install from Debian 10 to 11 though, and it went ok. I installed Debian 11 on a different machine though (also an M1) as Iā€™ve previously had issues. So I made it work there first, and then I migrated a backup.

My main issue was that after the supervised install had run, and HA was running - it did not have internet access at all. I figured out that Debian 11 apparently comes with nftables rather than iptables, but docker insists on the latter. Once I removed nftables, all worked out. I do not know why my Debian 10 did not have nftables - because Debian 10 apparently is the first OS where nftables is default. :man_shrugging:

I cannot even get M1 to boot on Debian (tried both v10 and v11, both would not boot), but Ubuntu 22.04 LTS can boot up from NVME alone. I cannot figure out what is the difference.

I also wonder whether the pre-installed hardware (using M1) is to config to boot using 16GB microSD card or emmc to boot and the NVME for data storage.

Can anyone show me how to change the data storage from the default boot (either microSD or emmc) to NVME. Sorry for such dumb question but I am not tech savvy enough to do that

As for moving the datastorage, there should be some option in the HASS settings page - possibly under Storage - for that.

As for booting, Iā€™ve had best chances with the Hardkernel provided OSā€™s. When booting into petitboot, there is a commandline shell where you can type netboot_default. This adds the network boot options from Hardkernel, which in the original menu (exit from the shell) gives you Debian 10/11 and Ubuntu 20/22. These installs will be able to both install to and boot from the NVMe disk.

I have no experience with the MMC or MicroSD options.

EDIT: I just reread your other post and saw your process. Iā€™d make it like this:

  • Install the NVMe disk into the M1
  • Remove other disks like MicroSD/SSD/MMC
  • Boot into petitboot
  • Enter the shell and run netboot_default
  • Exit the shell and pick the OS you want
  • Install the OS onto the disk (the only disk there is), wipe any existing volumes on the disk if prompted
    • Of course, if you have data you want to preserve - donā€™t do this
  • Reboot - it should open up petitboot again, but leave it be for ~10s - and then it should boot the OS
    • You can change the timeout in petitboot settings

Is Odroid M1 better for Home Assistant than pi4 ?
I am on pi3 and i need something better/faster and pi4 was my way to go.
But now I am not sure.
If I buy M1 is 16gb emmc ok for OS (I will move data to ssd) or maybe M1 can boot Home assistant from nvme ssd?

Hi Dark10

Iā€™ve been using an M1 8gb with a 512gb nvme (is overkill but was a spare for a 5-6 months now and have been very happy with it. I can;t say i need the 8gb, as it rarely goes over 2gb ram usage with a lot of devices, logging plus addons. Runs at approx 3watts. Iā€™ve used 15gb of storage BUT 3gb of that are backups iā€™ve yet to tidy. Iā€™d be cautious about running with only 16gb of data storage due to risk of filling it if you have a busy system)

I actually wanted to buy a 2nd as part of building a HA box for a friend.
As the 4gb version is currently out of stick from the main odroid seller in the UK, i actually ended up buying one of these, an intel N3050 based system, $gram/64gb storage currently reduced to Ā£100.

Iā€™ve just setup it up and it the thing absolutely flies along. Id never considered an intel cpu based SBC beforeā€¦ It is much noticeably faster when rebooting and the in the GUI but whether it is actually faster when running automations (responding to inputs etcs) is very hard to tellā€¦ Idles at 4watts, which is much better than expected.

Iā€™m tempted to swap but the ability to move my data to a separate nvme on the Odroid M1 really appeals (it just uses the sd card for booting).

cheers

1 Like
MACHINE=odroid-m1 dpkg --force-confdef --force-confold -i homeassistant-supervised.deb