Nixos on Odroid M1S

Hey everyone,
I bought the odroid-m1s, and I am trying to run nixos on it.

@K900 pointed me to an upcoming linux patch that adds support for it in Linux.

I tried to create a bootable image here but without success.

Currently I am running
nix build --impure '.#images.odroid-m1s'
to build the image and then I just dd the image to the eMMC of the Odroid-m1s using their mass storage mode image.

But it won’t start.
The blue LED lights up but not the red one, so I guess I am missing some boot config, or my image is just totally wrong.

Can you tell me how to go from this point ?
What should I try ?

FYI from the flake in my repository, I tried 3-4 different linux kernels, including the one from the patch) and nixos-23.11 / nixos-unstable.

Thank you

Looks like GitHub - ldicarlo/nixos-on-odroid-m1s is a private repo?

sorry, indeed, fixed.

EDIT: (oh also reading again my original post, I made a mistake, the red LED lights up but not the blue one)

Are you seeing any on the serial or hdmi output?

I just ordered a cable to read the serial output.
HDMI shows nothing.
I’ll keep you updated once I can see the serial output, thanks.

So, 24 days later.
I received the cable, and I have no output.
I clearly see what I am expecting since I have another Odroid M1S with Ubuntu and I get the output.

Here on the one with nixos, it stays black with no output.

I’ll spend a little bit of time trying to debug that since now I have this cable.

So FYI, now I am stuck here:

** Unable to read file / **
Scanning mmc 1:2...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
724 bytes read in 9 ms (78.1 KiB/s)
------------------------------------------------------------
1:      NixOS - Default
Enter choice: 1
1:      NixOS - Default
Retrieving file: /boot/extlinux/../nixos/s958q61dp67dwrixw6a0886aq5m7svcm-initrd-linux-6.7.5-initrd
11207872 bytes read in 944 ms (11.3 MiB/s)
Retrieving file: /boot/extlinux/../nixos/i0pwc8a0bwj3zqdajclcsqp8wnh3q0zn-linux-6.7.5-Image
64838144 bytes read in 15263 ms (4.1 MiB/s)
append: init=/nix/store/nkbmjxx3qsq0lin1n79l15w7h61n5qs5-nixos-system-nixos-24.05.20240223.cbc4211/init console=ttyS0,115200n8 console=ttyAMA0,115200n8 console=tty0 console=ttyS2,1500000 loglevel=7
Retrieving file: /boot/extlinux/../nixos/gfaha89vwafcwawz5y378i61mx7glg4w-dtbs/rockchip/rk3566-odroid-m1s.dtb
160974 bytes read in 31 ms (5 MiB/s)
Fdt Ramdisk skip relocation
No misc partition
## Flattened Device Tree blob at 0x08300000
   Booting using the fdt blob at 0x08300000
   Using Device Tree in place at 0000000008300000, end 000000000832a4cd
## reserved-memory:
  ramoops@110000: addr=110000 size=f0000
Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000)
Adding bank: 0x09400000 - 0xf0000000 (size: 0xe6c00000)
Adding bank: 0x100000000 - 0x200000000 (size: 0x100000000)
Total: 19112.208/19157.23 ms

Starting kernel ...

I/TC: Secondary CPU 1 initializing
I/TC: Secondary CPU 1 switching to normal world boot
I/TC: Secondary CPU 2 initializing
I/TC: Secondary CPU 2 switching to normal world boot
I/TC: Secondary CPU 3 initializing
I/TC: Secondary CPU 3 switching to normal world boot

Still trying to figure it out.

Out of curiosity, did you have any success getting it running?
I’ve one sitting on my desk and I’m still contemplating on whether I should just wait for the ODroid patches to go mainline.

I am still on it, I use a patched version of linux and a patched version of u-boot, and it still does not work. My repo is up to date if you want to try on your side.

Got it, thanks. No luck with plain HDMI, as you said. Any tips on where to source the cable? I don’t really want to ship it all the way from Korea again :smile:

Yes, so I bought a cheap cable for uart from Amazon but it seemed to be broken after one use. Then I bought the one from hardkernel (and waited one month).

As of now, HDMI produces no output on my side, so I am still on it.
(Also, currently working here trying to move to patches options).

1 Like