ODROID N2+ loads the N2 .dtb due to a typo in boot.ini

I recently started looking at using EnOS on my ODROID N2+ again, now the ARM editions are back. However, I noticed that there is a typo in /boot/boot.ini in the section about detecting the board variant and subsequently loading the correct *.dtb file.

In the line starting with 'If test “&{variant}” ', that should be “n2_plus” with an underscore instead of a hyphen. The SBC is then properly detected as the “plus” variant and the right DTB loads.

So I am fine now I edited boot.ini, but I suppose it would be nice if the newer images get this addressed. :slightly_smiling_face:


welcome and thanks for the hint :enos:

i will check asap… and @Pudge will be happy to fix the next image i bet


On an old install i see the underscore was used.
New image does have hypen indeed this needs to get corrected if its not a change in general.

1 Like


Line 1 has an arrow pointing to “n2_plus” change that to “n2-plus”
Line 2 specfies the Odroid N2+ meson driver for mesa.
“meson64_odroidn2_plus.dtb” change to " meson-g12b-odroid-n2-plus.dtb"
Line 4 specifies the Odroid N2 meson driver for mesa
“meson64_odroidn2.dtb” change to “meson-g12b-odroid-n2.dtb”

" Any new installations on a Odroid N2 or Odroid N2 Plus will utilize the linux-eos-arm kernel."

"n2-plus " is correct


before use " n2_plus "
that was for " meson64_odroidn2_plus.dtb " + “meson64_odroidn2.dtb” for n2

EDit … @Peter1986C i do fast install on N2+ , confirm your find . if change to “n2_plus” info shown is correct


Thanks for the info on that post by Pudge.

  • This is what fastfetch tells me with the underscore in place:

    Host: Hardkernel ODROID-N2Plus
    Kernel: Linux 6.9.7-1-eos-arm

    lscpu tells this about the max clock speeds of the CPU cores. I think they are correct for the “plus” but I could be wrong.
    Model name: Cortex-A53
    CPU max MHz: 1800.0000
    Model name: Cortex-A73
    CPU max MHz: 2208.0000

  • With the hyphen instead:
    Host: Hardkernel ODROID-N2
    Kernel: Linux 6.9.7-1-eos-arm

    Model name: Cortex-A53
    CPU max MHz: 1992.0000
    Model name: Cortex-A73
    CPU max MHz: 1908.0000

So I do not get entirely what is going on, given that the hyphen thus seems deliberate (based on that post by Pudge).


Welcome to the EndeavourOS forum. I hope you enjoy your time here.

Thank you very much for the feedback. I remember this snafu, but don’t remember which is correct now. The - or the _

I will check into this tomorrow. Right now I am doing testing on the new image for a headless server on the Odroid N2 / N2+ platform. I hope to have this tested and on github before I go to bed.

Thanks again for your interest in EnOS ARM.


Just out of curiosity, which Desktop Environment or i3wm did you choose?


The image is now available on github. I am sure @Bryanpwo will shortly add the download URLs to the EnOS main website for this. Thank you Bryan :pray:

Install on a uSD card, then follow the How-to’s at
Go to our Discovery ARM articles page and use the following How-to’s to set up a Linux LAN file server:
Homeserver 1, Homeserver 2, Homeserver 3, and Homeserver 7
There are additional how-to’s for SAMBA and miniDLNA.

And on your client Linux computer, you will get

enosServer is my RPi 4b server that contains all my important files.
enosServer2 is the test Odroid N2 server.

enosServer and enosServer2 can be Auto launched during login, see the How-to Homeserver 3. That way all your files are immediately available when logging in.

Here I simply did a ssh from my client computer into enosServer2 which is how one would do maintenance. Such as pacman -Syu updates, backups, etc. Or even a neofetch


Notice the memory used. 139 MiB


1 Like

BACK ON TOPIC. Sorry everyone.

Looking back, I did change the _ to - intentionally. However, I don’t know how to test what is working and what is not.


with “n2-plus” a inxi -G looks good as far as I can tell .

inxi -G
  Device-1: meson-g12a-vpu driver: meson_drm v: kernel
  Device-2: meson-g12a-mali driver: panfrost v: kernel
  Device-3: meson-g12a-dw-hdmi driver: meson_dw_hdmi v: kernel
  Display: x11 server: X.Org v: 21.1.13 with: Xwayland v: 24.1.0 driver: X:
    loaded: modesetting dri: meson gpu: meson-drm resolution: 1366x768~60Hz
  API: EGL v: 1.4,1.5 drivers: meson,panfrost,swrast
    platforms: gbm,x11,surfaceless,device
  API: OpenGL v: 4.5 compat-v: 3.1 vendor: mesa v: 24.1.2-arch1.1
    renderer: Mali-G52 (Panfrost)

After looking at this some more, I am convinced that the “n2_plus” is correct.
Just looking at the if statement,

if test "${variant}" = "n2_plus"; then
    load mmc ${devno}:1 ${dtb_loadaddr} /dtbs/amlogic/meson-g12b-odroid-n2-plus.dtb
    load mmc ${devno}:1 ${dtb_loadaddr} /dtbs/amlogic/meson-g12b-odroid-n2.dtb

the if condition
if test “${variant}” = “n2-plus”
doesn’t ever come up as true thus it goes to the else statement and always uses the n2 dtb no matter what.

the if condition of
if test “${variant}” = “n2_plus”
does come up as true and does set the n2-plus dtb

I have changed this in the boot.ini here

and I will issue a new server-odroid-n2-image and odroid-n2-image as soon as possible.

A big thanks to @Peter1986C for finding this bug. :beetle:

Somewhere in a closet, on a shelf, I have an Odroid N2 (not plus)
Tomorrow after I issue the new odroid-n2-image, I will burn a new uSD and try it on both the N2 and the N2+ and see if it recognizes the difference in a fastfetch & neofetch.



Done! :wink:


As promised. From fastfetch
Running on the Odroid N2+
Host: Hardkernel ODROID-N2Plus
CPU: Cortex-A53 + Cortex-A73 (6) @ 2.21 GHz

Running on the Odroid n2
Host: Hardkernel ODROID-N2
CPU: Cortex-A53 + Cortex-A73 (6) @ 1.99 GHz

The latest Odroid N2 image with the fix should on github soon.



This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.