Hardkernel ODROID-U2

From Linux Exynos
Revision as of 20:16, 11 May 2015 by Tjakobi (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This page or section is a stub. Ask how you can help improve linux-exynos.org by sending an e-mail to the mailing list, or by visiting #linux-exynos, or if you are able to contribute to the current page, then you are welcome to do so.

Hardkernel ODROID-U2
ODROID U2 top.jpg
Manufacturer Hardkernel
Dimensions 48 x 52 mm
SoC Samsung Exynos 4412 Prime
DRAM 2 GiB LPDDR2 @ 880 MHz
Power Maxim MAX77686 power management IC, Texas Instruments BQ24381 power protection IC, RICOH R5524N USB power protection IC, 5V / 2A DC 2.5mm x 0.8mm input
Video Micro-HDMI
Audio Maxim MAX98090, 3.5mm headphone jack, BSE DMO-B125T26-6P digital MEMS omni-directional microphone, HDMI
Network 10/100 Mbit ethernet via Microchip LAN9730
Storage Micro-SD slot, eMMC module socket
USB (Host/OTG) 2x USB 2.0 Host via Microchip USB3503A, 1x Micro-USB 2.0
Other NXP IP4791CZ12 HDMI transmitter interface protector with level shifter



The board name "ODROID-U" is clearly printed on the top side of the board (look near the ethernet connector).


The instructions on this page are for both the ODROID U2 and the ODROID U3.

Feature Mainline Linux Kernel
Serial Yes
Network Yes
eMMC Yes
Audio Yes
G2D (2D acceleration) Yes
Mali (3D Acceleration) No/Never
MFC (Video encoding/decoding) No/Broken

Mainline Linux is 4.0 at the moment. Mainline support for the Mali GPU is listed as 'never' since it's highly unlikely that the current opensource kernel stack by ARM is ever going to be accepted upstream.


The kernel User:Wizzup confirm to be working is Linux 3.19-rc2 (and onwards). The u-boot master as of 05-01-2015 was used.

When building these images, please look (if appropriate) at the Cross compile Guide

It is also recommended to keep a serial handy.



Assuming that you are booting from a microsd card; the first partition should start at 3072 and be formatted as FAT; this will be your boot partition. The other partitions can be anything, but a suggestion would be to format the remainder of the microSD card as a single, large ext4 file system.

Mainline u-boot

Clone the u-boot repository, master branch:


The instructions here are based upon the following file in the u-boot git repository: u-boot/doc/README.odroid


Go to the cloned repository, and type:

   make odroid_defconfig

Afterwards, you NEED the u-boot-dtb.bin file; NOT the u-boot.bin file!

Setting up u-boot

The ODROID U2 requires several signed binary blobs. You need to get them from here:


And try the below instructions first with their version of u-boot.bin. If it works, replace their u-boot.bin with your u-boot-dtb.bin

(TODO: Expand this with actual literal instructions)

SD card

Use the sd_fusing script. (TODO: Expand this)

Setting up u-boot on the eMMC

Need to change offsets in the sd_fusing script. eMMC is also more complex and typically needs to be done from the ODROID itself. (I think)

Mainline kernel

Get a Linux kernel from kernel.org which is more recent than 3.19-rc2.

Building the kernel


   make exynos_defconfig
   make menuconfig # optional
   make -j5
   cat arch/arm/boot/zImage arch/arm/boot/dts/exynos4412-odroidu3.dtb > zImage_dtb

Place the zImage_dtb (name it zImage) in your boot partition (most likely the first partition)

Now your ODROID-U2 should boot.