ODROID N2 mainline now working (unofficially/partly)

After some to and fro, tobetter from HK has kindly taken the time and produced a working boot.ini for the N2 that I can confirm works with a Manjaro install produced by the current manjaro-arm-installer (at least the CLI option).


Nice :slight_smile:
Thanks for sharing.

We are still looking into this.

So far we have found out that it boots fine, when we make an image with our Manjaro ARM Tools.
But it fails when an install is created with the Manjaro ARM Installer.

So we are trying to fix the Installer so the Odroid N2 once again works with the installer. :slight_smile:


Any News? :slightly_smiling_face:

Our last couple of tests have worked with both the Tools and the Installer.

But some still don't have it working for some reason.

1 Like

There have been conflicting reports about whether the newer 20.01 N2 image works or not. Confirmation from more folk either way would be nice.

If anyone likes poring through relevant threads from the HK forum;

Manjaro ARM for Odroid N2

Any plan for basic mainline linux support?

Petitboot, yet another bootloader based on KEXEC

1 Like


For the second time this week I build an image for the n2

sudo buildarmoem -d on2 -e kde-plasma -v 19.12 -n

Black screen on first boot.

Today I flash the newer 20.01 N2 image, same issue, black screen on first boot

My n2 is a rev 0.4

This n2 is actually running with a 19.08 image up to date.

I got mainline working by using manjaro-arm-installer script and swapping out the boot.ini for the one linked to in the fp (and separately with the buildarmoem method by loopback mounting after the image was made to replace the boot.ini).

A little update.

I finally got an Odroid N2 for testing. The exact same revision as @nl.smart.
And I have the exact same issue as you guys. The old boot.ini does not boot the device fully.

But the boot.ini you linked in the first post does work. So we are working to see if we can swap them out somehow.


Thanks for your message and the N2 users :slight_smile:
If needed I have time for some tests. (do you remember? I tested the Manjaro ARM Preview1 for Odroid N2 and Manjaro ARM Preview2 for Odroid N2...)

Have a good day.

post scriptum: Please start your N2 without display plugged to check if the DE (KDE) start without display, unfortunately the C2 (19.12 image up to date) DE don't start without display plugged and I don't know how to solve it... the C2 is working well with the 19.12 image.

Wonderful to see there is progress on bringing back Odroid N2 support. Can't wait for the new release! :smiley:


Please start your N2 without display plugged to check if the DE (KDE) start without display

Indeed! The current Manjaro images seems to specifically wait for a 1080p monitor. I've hooked it up to another monitor (a Samsung 1400x1050) and refuses to boot with that connected. Even though the mainline kernel supports this 1400x1050 resolution, Manjaro ARM appears to specifically want to see a 1080p monitor. I've tested and experienced this behaviour both on Odroid N2 and the RockPro64.

Also, anyone know if the audio/sound issues are fixed?

Did you try the boot.ini from the first post?
We do not set any resolution demands at all.

No, audio is still not working on mainline.

Tried 19.08 on Odroid N2 and 19.12 on RockPro64, didn't boot unless connected to a 1080p monitor specifically.
I never got 19.10 or 19.12 booting on the ON2. The 20.01 minimal image sorta booted a couple of times, based on multiple tries each time. Wasn't stable enough to boot dependably, later on it refused to boot completely. Didn't test that one for monitor supported.

Thanks for your continued support of the ON2!

Update: Would a USB sound card thingy work for adding audio to the ON2?

N2 and C2 boot both without display plugged, but, the C2 DE (Desktop Environment) need a display plugged to start the DE, not the N2.

To solve this C2 issue after a boot without display, I plugg a display on the C2 and use the ssh with the command line :
sudo systemctl restart display-manager
the C2 DE start :slight_smile:
I Hope a day it will be possible to start the C2 DE without Display plugged or without the trick above.


Today I updated c2 and n2, the n2 does not boot anymore, the blue led stay fixe...
The c2 is working, but need a screen plugged to start the DE.

The n2 image is a 19.08 up to date, I can't ssh the n2.

Please post the content of your /boot/boot.ini of the Odroid N2.

We updated the u-boot package to include a new boot.ini to be used with mainline kernels instead of the old odroid kernel.
It should have made a backup of the file though...

1 Like

Thanks for your message

n2 boot.ini see below


# Default Console Device Setting
setenv condev "console=ttyAML0,115200n8"   # on both

# Boot Args
setenv bootargs "root=/dev/mmcblk${devno}p2 rootwait rw ${condev} ${amlogic} no_console_suspend fsck.repair=yes net.ifnames=0 clk_ignore_unuse bootsplash.bootfile=bootsplash-themes/manjaro/bootsplash

# Set load addresses
setenv dtb_loadaddr "0x20000000"
setenv loadaddr "0x1080000"
setenv initrd_loadaddr "0x3080000"

# Load kernel, dtb and initrd
load mmc ${devno}:1 ${loadaddr} /Image
load mmc ${devno}:1 ${dtb_loadaddr} /dtbs/amlogic/meson-g12b-odroid-n2.dtb
load mmc ${devno}:1 ${initrd_loadaddr} /initramfs-linux.uimg
#fdt addr ${dtb_loadaddr}

# boot
booti ${loadaddr} ${initrd_loadaddr} ${dtb_loadaddr}

During the n2 update something was wrong line 19 (not the c2)

SyncFirst = manjaro-system manjaro-keyring manjaro-arm-keyring

# /etc/pacman.conf
# See the pacman.conf(5) manpage for option and repository directives

# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
HoldPkg      = pacman glibc manjaro-system
# If upgrades are available for these packages they will be asked for first
SyncFirst    = manjaro-system manjaro-keyring manjaro-arm-keyring
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = aarch64

#IgnorePkg   =
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options

# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required

# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Manjaro Linux
# packagers with `pacman-key --populate archlinuxarm manjaro-arm`.

#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.

Include = /etc/pacman.d/mirrorlist

Include = /etc/pacman.d/mirrorlist

Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

That one works with the mainline kernel.

I believe the 19.08 install comes with linux-odroid-n2, so you should change:

load mmc ${devno}:1 ${dtb_loadaddr} /dtbs/amlogic/meson-g12b-odroid-n2.dtb


load mmc ${devno}:1 ${dtb_loadaddr} /dtbs/amlogic/meson64_odroidn2.dtb

Save the file and try booting again.

Remove this line from the conf file. It's no longer supported. :slight_smile:

Forum kindly sponsored by