Odroid C2

64bit amlogic GbE legacy S905

Ubuntu desktop – legacy kernel
  .torrent (recommended) ?
Multimedia and desktop usage scenarios.


Debian server – legacy kernel
  .torrent (recommended) ?
Command line interface – server usage scenarios.


other download options and archive

Known issues

  • Arm64 browsers (Firefox, Chromium, Iceweasel) may crash frequently. Armhf versions of these browsers should be used instead (Iceweasel and Firefox preinstalled in desktop images should be of the right architecture out of the box)

All currently available mainline OS images for C2 are experimental

  • don’t use them for anything productive but just to give constructive feedback to developers
  • eMMC support is virtually nonexisting, there will also be troubles with some UHS SD cards. Only a few of them will work fine.
  • USB devices are sometimes not recognized. Reboot helps bring them up.


  • Comprehensive device information and various tips&tricks can be found in Hardkernel’s wiki. Please be aware that some of the information does not apply to Armbian (eg. we use a different partition table). Schematics can be found here.
  • Idle consumption with legacy image in headless mode (setenv nographics "1" defined in /boot/boot.ini) and only Gigabit Ethernet connected is between ~2300 mW (@500 MHz) and ~2400 mW (@1536 MHz). Hardkernel provides the possibility to exceed 1536 MHz max cpufreq but Armbian refrains from doing so. In case you want to change settings please keep in mind that you might have to adjust both /boot/boot.ini and /etc/defaults/cpufrequtils.
  • The legacy kernel we use implements a few different cpufreq governors that show partially strange behaviour (interactive most of the times acting like performance for example). Since idle consumption differences between different cpufreq governors are negligible choosing even performance seems to be ok. At least conservative governor that switches between upper and lower clockspeeds (for details see here) leads to some USB performance drops while not providing significant savings. In case you activate higher clockspeeds please keep in mind that switching then to performance governor is needed since otherwise you might end up with a slower system since the added cpufreq operating points will slow down switching to highest clockspeed when needed.
  • If you don’t need GbE network transfer speeds switching to Fast Ethernet with ethtool -s eth0 speed 100 duplex full saves ~230 mW. Completely disabling Ethernet saves an additional 100mW.
  • GbE Ethernet speed should reach 935 Mbits/sec in TX direction. In RX direction with defaults you should get 800 Mbits/sec but with some tuning it should be able to exceed 900 Mbits/sec:
    • echo 32768 > /proc/sys/net/core/rps_sock_flow_entries
    • echo 32768 > /sys/class/net/eth0/queues/rx-0/rps_flow_cnt
  • You can save at least 170mW by cutting power to the internal USB hub (and also all USB devices connected to any of the type A receptacles) using /sys/class/gpio/gpio126 (see description here). The same way you have full control over power consumption of a connected host powered USB disk: umount /mnt/usb && echo 0 >/sys/class/gpio/gpio126/value and echo 1 >/sys/class/gpio/gpio126/value && sleep 2 && mount /mnt/usb
  • Reducing DRAM clockspeed to reduce consumption doesn’t work (difference between default 912 MHz and 408 MHz is just ~100mW less and also requires a reboot)
  • the red led is a power led while the blue led is custom. Boot stage: as soon as u-boot is loaded the blue led lights solid and when kernel starts this changes to heartbeat blinking with default settings. Check cat /sys/class/leds/*blue*/trigger for other functionality.


Quick start | Documentation


Make sure you have a good & reliable SD card and a proper power supply. Archives can be uncompressed with 7-Zip on Windows, Keka on OS X and 7z on Linux (apt-get install p7zip-full). RAW images can be written with Etcher (all OS).


Insert SD card into a slot and power the board. (First) boot (with DHCP) takes up to 35 seconds with a class 10 SD Card and cheapest board.


Login as root on HDMI / serial console or via SSH and use password 1234. You will be prompted to change this password at first login. Next you will be asked to create a normal user account that is sudo enabled (beware of default QWERTY keyboard settings at this stage).