Odroid XU4 Install on eMMC

I’m trying to install Home Assistant OS onto an eMMC (64gb) module on my Odroid XU4. I’ve downloaded the image for the XU4 and no matter how I try flashing the image to the eMMC I just can’t get it to boot.

I’ve installed the same image on an SD card then booted that up on the XU4 and it works just fine, so I know it’s not a hardware issue. But of course I’d rather have the speed/reliability of the eMMC.

Has anyone run into this issue? If so have you found a work-around? Or is there any known incompatibilities with running Home Assistant OS off of an eMMC vs an SD?

Which version of Home Assistant OS did you flash? Do you happen to have the serial console available (https://www.hardkernel.com/shop/usb-uart-module-kit/)?

It’s the Odroid-XU4 5.9 image from the “Installing Home Assistant OS” page.

I don’t have that serial console. I’m using this (https://ameridroid.com/products/usb-3-0-emmc-module-writer) with this 64gb module (https://ameridroid.com/products/emmc-5-1-module-xu3-xu4-linux-blue-dot?variant=7245855817762).

were you able to get the Home Assistant working on the eMMC module? i also have the same module with XU4

I was wondering if you managed to install HA OS on the eMMS of an ODroid XU4? I have the same system that I want to dedicate to HA. I am not finding any definite comments that it works on the eMMS.

It definitely works, I’m running it on an XU4 with a 32GB eMMC now. I switched to it after my Supervised in Docker install wouldn’t let me upgrade anymore.

I had to flash to the eMMC AND and SD card, plug both in and boot from the SD card with a keyboard and monitor plugged in, then follow the instructions on this page is what got mine working.

Unfortunately I liked the old system better (seemed quicker, more reliable, access to a full linux system on the box), might have to revisit it someday or just give up on supervised

Thanks for the info.

I followed the instruction, had to load the image on both my 64GB eMMC and SD card and installed HassOS and booted from the eMMC.
Unfortunately, it does not complete the install of home assistant. It reports early in the boot that there is insufficient space for installing the docker image. It reports repeatedly “Updating image homeassistant/odroid-xu-homeassistant:landpage to 2021.1.5”, “Downloading docker image …”, “Can’t install homeassistant/odroid-xu…:2021.1.5 … 404 Client error … no such image” .
I would of thought that the image install would of allocated correctly and there would be sufficient space with a 64GB eMMC. Is there something else that needs to be setup?

Suggestions from anyone would be appreciated.

Did you follow the instructions from the linked page for working or not working previous boot partition?

I used the “working” instructions because I previously had flashed an Armbian XU4 image and had it running to verify the eMMC, so i knew prior to flashing HassOS there was a working boot partition.
Then booted with a HassOS SD card, while also having a HassOS flashed eMMC attached typed the following commands in the console once the SD booted, then powered off and switched to the eMMC

echo 0 > /sys/block/mmcblk0boot0/force_ro
dd if=/dev/mmcblk0 of=/dev/mmcblk0boot0 bs=512 skip=63 seek=62 count=1440
echo 1 > /sys/block/mmcblk0boot0/force_ro

Yes I followed those instructions. No go. You would think it should work when home assistant promotes using dedicated systems. It seems it doesn’t like a 64GB eMMC .

I managed to get home assistant HassOS running on my Odroid XU4 with a 64GB eMMC.

First setup the Odroid to boot from the eMMC as per https://github.com/home-assistant/operating-system/blob/038f1b4bd69c952769fd020db0eae0f511570d19/Documentation/boards/hardkernel/odroid-xu4.md. Had to flash both eMMC and SD and use echo etc… Booted odroid on eMMC and waited for HomeAssistant CLI to come up to check that it works.
Shutdown the Odroid. Attach a second storage device, hard drive or USB and start up the Odroid. When HA CLI comes up, login to the linux prompt. Follow the instructions on https://github.com/home-assistant/operating-system/blob/038f1b4bd69c952769fd020db0eae0f511570d19/Documentation/partition.md to move the data partition to the storage device. Reboot and wait for everything to load. Access HA from the web interface.

I used a 32GB USB. Hopefully this will provide enough storage into the future.

You mentioned that HA isn’t quick on your Odroid. Is it running entirely on the eMMC or do you have a SSD set up for the data partition? I was wondering if it would be beneficial to have a SSD to get quicker response when accessed from the web interface?
I want to get HA off of my Ubuntu server. I have the option of going with the Odroid XU4 and get a SSD or run HA on a legacy PC exclusively with Debian.

Anyone else have recommendations

It’s not that it isn’t quick, more a feeling that things like system reboot are slower than when running in the Supervised Docker install. I think it is just more of a difference between HassOS and Armbian.

It is running entirely on eMMC. On these boards I haven’t found a lot of gain for moving to SSD from eMMC

Having the same problems.

Flashed the image from the HA website on a 64GB eMMC (I have tried with 2, one being hardware version 0.3, the other 0.2) and it won’t boot. The images were flashed using the hardkernel adapter in a microSD USB dongle using dd in 1M blocks. Adapters aren’t reliable enough, so I don’t use them.

Tried every approach above. Even flashing both a microSD and eMMC and then copy the boot block over. No go.

In the end, I had to go down the route of installing armbian and installing a supervised version instead.


I can’t see how this could work.
If you have a headless system, made by loading the hassos image, the only point of access is through the terminal add-on in home assistant. From there, the first command can’t be executed because you are writing to a read only area, and you don’t have appropriate privileges. Ssh from another computer’s terminal is refused. Help me to understand. How do you get sudo privileges to do this?

I connected it to a monitor and keyboard to access the console, but you should also be able to use a serial console connection

Hope this thread still active. I’m new to HA and have these same issues installing on XU4 with 64Gb eMMC from Hardkernel. I do have a Kbd/HDMI setup and booting from SD to a CLI that does not have access to the underlaying Linux system commands. It show’s a HA Core 7.4 installed.
How can I access Linux to try this dd fix in my system…Thanks

have an XU3 which is the XU4 in a different layout. The armbian and other distro work just find in the EMMC but the HA is failing. Would like to have HA on this unit instead of making a separate purchase.

This is what the u-boot loop is kicking out after writing to the EMMC.

In: serial
Out: serial
Err: serial
Net: No ethernet found.
Press quickly ‘Enter’ twice to stop autoboot: 0
reading /boot.ini
** Unable to read file /boot.ini **

Executing script at 43e00000

Wrong image format for “source” command
reading /boot/boot.ini
** Unable to read file /boot/boot.ini **

Executing script at 43e00000

Wrong image format for “source” command
reading /boot.scr
2640 bytes read in 2 ms (1.3 MiB/s)

Executing script at 43e00000

switch to partitions #0, OK
mmc0(part 0) is current device
loading env…

MMC read: dev # 0, block # 1222656, count 32 … 32 blocks read: OK
Unknown command ‘fileenv’ - try ‘help’
reading exynos5422-odroidxu4.dtb
64473 bytes read in 6 ms (10.2 MiB/s)
Trying to boot slot A, 2 attempts remaining. Loading kernel …
Failed to mount ext2 filesystem…
** Unrecognized filesystem type **
Trying to boot slot B, 2 attempts remaining. Loading kernel …
Failed to mount ext2 filesystem…
** Unrecognized filesystem type **
No valid slot found, resetting tries to 3
storing env…

MMC write: dev # 0, block # 1222656, count 32 … 32 blocks written: OK
resetting …

i changed the FS of partition 5 from squashfs to ext4 and it now works. will look into updaing my uboot to support squashfs.

1 Like

Can I please ask how you changed the FS of partition 5 as I’m having the same issues that it won’t boot?

1 Like