Add support for Odroid M1S

Thank you @darkxst for making this happen. I have not tested it yet as I was considering this board only if it was officially supported. I just purchased the last stock of 4GB with UK plugs and will test it right after it arrives.

1 Like

Can you explain why we would need to install the official release when this build is integrated? I noticed there are upgrades offered already in this build, can we also just upgrade to a final release? Not sure if I need to wait or if I can already migrate to my m1s

HA Core and Supervisor updates will continue just fine with these test builds, but you will not receive any HAOS updates. Updates can be done via USB though, and maybe I could use one of those to transition back to official builds. But if not you will need take a backup, reinstall then restore backup from on-boarding page,

1 Like

I have rebased Odroid M1s on HAOS 11.5rc2. This build should receive OTA updates once official build is released.

You can upgrade using the rauc image copied to a USB drive labeled “CONFIG”, make sure the file is owned by root if using EXT4.

Then just run
ha os import


Thanks, I successfully updated via the rauc/usb method.

@darkxst is NVMe also supported? Just asking because I saw your order boot patch and I am wondering if only internal eMMC and SD slot is supported.

Thanks for your continued work on this @darkxst, updated successfully.

NVMe seems to have broken with this update (even kernel support), will fix this in next update. Regardless of that however NVMe boot is currently not possible since the u-boot.scr is hard coded to search only MMC devices.

In theory though, if that was fixed, u-boot installed on eMMC should be able to boot into the NVMe. The Rockchip BootROM can’t boot directly to NVMe or USB.


HAOS 11.5rc2. is running for 2 days straight without any issues, thanks!

Would this apply for other flavors of Odroid? For example the M1?

I would sleep much more calmly having only some boot code on the emmc (which i assume is written only once?), opposed to having the whole system on the emmc with only /data the nvme (which is the best we can do for now if i understand correctly)

Yes, it should probably work on M1 also, however it could be installed on SPI flash replacing petitboot there.

HAOS itself is largely readonly, once you move the datadisk, writes on the eMMC should be very infrequent. So you probably dont need to worry much about wear in this case.

Here is a new build, synced up with my open PR [1] on the official HAOS repo.

This changes partition layout slightly (which USB updates wont fixup), so a full re-install is recommended either now, or when moving to an official release.


My work on adding Odroid M1S support has now been merged into the official HAOS repo. Thanks to everyone who helped with testing!

The first dev builds are available here:

This changes partition layout slightly (which USB updates wont fix up), so a full re-install is recommended (unless you already did that with my previous update from a few days ago).

The new official build will receive OTA OS updates starting soon.

There is no documentation as yet, perhaps one of you early testers might like to help with updates on that for Home Assistant site?

@darkxst Thank you really much for your effort! This is highly appreciated! I have a M1S here and will install the image this week.
What help is needed regarding the documentation? I would like to support!


@Jojo-A Mainly just the installation process.

Does this work on Odroid M1S? I’ve long wiped the builtin petitboot :wink:

Otherwise document the USB sd image

Currently I would think that my eMMC petitboot is not wiped, yet! For first tests I just installed the original Hardkernel Ubuntu via the USB install method. I would now go for the same approach with the HAOS image:

  • prepare SD card to let the M1S be recognized as mass storage
  • “boot” up the M1S to be detected as mass storage by my host system
  • dd the HAOS image to the mass storage device (which is the eMMC on the M1S)

So quite straight forward, I think. Booting HAOS from SD card directly should work in any case as SD card has higher boot priority than eMMC.

Before you wipe it can you test the Odroid-N2 instructions for enabling USB mode?

Sd card with USB image works well for initial install, however if a user tries to use it adter HAOS is installed, it wont boot without unless you short maskROM pad

I’d probably recommend Balena Etcher or Rufus(win only) on any online guide!

The SD Card has higher priority but the different u-boot versions cause grief. Hardkernel use Rockchip u-boot and HAOS uses mainline u-boot. These can’t boot each other, so an SD card with HAOS will fail to boot when using petitboot. Same applies in reverse a Hardkernel SD image wont boot when running HAOS.

I think a USB recovery mode will get added to HAOS later though.

Thanks again for all your work on this @darkxst it’s great to see it now included in official builds. I’m currently running 11.6.dev1706439573 on my system and looking above seems a full re-install is needed.
Is this as simple as putting the 12.0.rc1 image onto a USB and booting as the petitboot was already changed?

Hi Brad,
Good question, you can’t boot off a USB however. Also the Hardkernel USB SD image wont boot from HAOS u-boot. I guess there are few options here:

  1. Boot the Hardkernel SD image for USB by shorting the 2 maskROM pads near the 40 pin connector.

  2. Nuke uboot on eMMC from the running system, after this you can boot the Hardkernel SD image for Etcher install over USB.
    dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=64 count=6080

  3. My very final unofficial build has UMS enabled on the OTG port, so in theory you can try flash directly over the existing OS with Balena etcher (I would recommend you unmount the data partition first though)

This last feature was removed from the initial official release due to concerns around concurrent disk access, but it will be coming back in future release in a slightly safer version.

Thanks Tim, booting the HardKernel SD while shorting the 2 maskROM pads worked perfectly for me.

1 Like

Oh, it feels like being put back to school so badly :joy: . I have to confess that I seem to have a significant lack of knowledge regarding all this bootloader stuff!

Even if I would really like to contribute to the installation docs I think I should first try to get familiar with the technical background. Otherwise any contribution would be too unreliable, I think…

So if I understood it correctly: as long as I stay in the Hardkernel world on both SD card and eMMC, everything is fine. And as soon as I mix up HK stuff and other stuff, it will become tricky…

So what can I do in the current state? My M1S has the HK Ubuntu installed on eMMC through the USB mass storage method described by HK. There is no SPI flash to switch to USB-OTG mode. So for what I understand is that the only way to get the eMMC appear as a mass storage device is to use the specific SD card image by HK - or am I wrong here?