ODROID-C2

The ODROID-C2 is a $40 quad-core computer, providing one of the most cost-effective ARMv8 AArch64 development boards available. Board dimensions are identical to the ODROID-C1, and it can use the same power supply or be powered through the micro USB port.

Features of the board include:

  • Amlogic S905 ARM Cortex-A53 1.5Ghz quad core CPU
  • Mali-450 MP3 GPU (OpenGL ES 2.0/1.1)
  • 2GB DDR3 SDRAM
  • Gigabit Ethernet
  • HDMI 2.0 4K/60Hz display
  • 40+7pin IO port
  • eMMC5.0 HS400 flash storage slot
  • UHS-1 SDR50 MicroSD Card slot
  • USB 2.0 Host x 4, USB OTG x 1 (power and data capable)
  • Infrared (IR) Receiver
Architecture
ARMv8 Cortex-A53
Processor
Amlogic S905 1.5GHz Quad-core
RAM
2GB
SD
Micro SD
USB
4
Ethernet
Gigabit

Micro SD and eMMC Creation

Replace sdX in the following instructions with the device name for the SD card as it appears on your computer. Use the provided micro SD to eMMC adapter card to install to eMMC.

  1. Zero the beginning of the SD card or eMMC module:
    dd if=/dev/zero of=/dev/sdX bs=1M count=8
  2. Start fdisk to partition the SD card:
    fdisk /dev/sdX
  3. At the fdisk prompt, create the new partition:
    1. Type o. This will clear out any partitions on the drive.
    2. Type p to list partitions. There should be no partitions left.
    3. Type n, then p for primary, 1 for the first partition on the drive, and enter twice to accept the default starting and ending sectors.
    4. Write the partition table and exit by typing w.
  4. Create the ext4 filesystem:
    1. For e2fsprogs < 1.43:
      mkfs.ext4 /dev/sdX1
    2. For e2fsprogs >= 1.43:
      mkfs.ext4 -O ^metadata_csum,^64bit /dev/sdX1
  5. Mount the filesystem:
    mkdir root
    mount /dev/sdX1 root
  6. Download and extract the root filesystem (as root, not via sudo):
    wget http://os.archlinuxarm.org/os/ArchLinuxARM-odroid-c2-latest.tar.gz
    bsdtar -xpf ArchLinuxARM-odroid-c2-latest.tar.gz -C root
  7. Flash the bootloader files:
    cd root/boot
    ./sd_fusing.sh /dev/sdX
    cd ../..
  8. (Optional) Set the screen resolution for your monitor:
    1. Open the file root/boot/boot.ini with a text editor.
    2. Uncomment the line with the desired resolution, and ensure all others are commented.
    3. Save and close the file.
  9. Unmount the partition:
    umount root
  10. Insert the micro SD card or eMMC module into the C2, connect ethernet, and apply 5V power.
  11. Use the serial console or SSH to the IP address given to the board by your router.
    • Login as the default user alarm with the password alarm.
    • The default root password is root.
  12. Initialize the pacman keyring and populate the Arch Linux ARM package signing keys:
    pacman-key --init
    pacman-key --populate archlinuxarm

Additional Packages

  • X.org video driver package: xf86-video-odroid-c2
    • Note: Add your user to the "video" group to be able to access /dev/mali and /dev/ump.
  • X11 Mali EGL and GLES drivers (installed with xf86-video-odroid-c2): odroid-c2-libgl-x11
    • Note: Reboot after installation for udev rules to take effect.
  • Framebuffer Mali EGL and GLES drivers: odroid-c2-libgl-fb
  • wiringPi modified for the ODROID-C2: wiring-odroid

Headless Mode

For servers (ie, no need for a display), uncomment the following in /boot/boot.ini to free up approx 300M of memory at the cost of disabling the video subsystem:

setenv nographics "1"

LEDs

ODROIDs have dual LEDs: a red power LED which is always on if power is supplied, and a blue LED which can be configured.

By default, the blue LED is a heartbeat LED, which flashes when the kernel is running. This can be configured in /sys/class/leds/blue:heartbeat/trigger.

To list available triggers:

# cat /sys/class/leds/blue:heartbeat/trigger

Replace TRIGGER with one of the available triggers. This setting will apply instantly, but be lost upon reboot.

# echo TRIGGER > /sys/class/leds/blue:heartbeat/trigger

To create a persistent configuration, edit or create /etc/tmpfiles.d/leds.conf:

w /sys/class/leds/blue:heartbeat/trigger - - - - TRIGGER

Copyright ©2009-2022 Arch Linux ARM
The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis.
The Arch Linux™ name and logo are used under permission of the Arch Linux Project Lead.