[[!meta title="NetBSD/evbarm on Hardkernel ODROID-C1"]] [[!toc levels=2]] # Supported hardware - CPU: Cortex-A5: S805 (4-core) at 1.5GHz - CPU frequency scaling is supported with machdep.cpu sysctl tree - SMP supported - PL310 L2 cache controller - GIC - A5 watchdog timer - A5 global timer - SD/MMC controller (DMA) - Serial console - USB host (OTG) - Gigabit Ethernet (GMAC) - RTL8211F PHY - Hardware random number generator # TODO - USB device mode - Simultaneous SD card and eMMC usage - SD/MMC UHS-I support (needs sdmmc(4) changes) - HDMI / framebuffer - IR receiver - GPIO - I2C # Installation * Start with an ARMv7 image from *evbarm-earmv7hf/binary/gzimg/* such as *beagleboard.img* * Build U-Boot for ODROID-C1 * Pre-built binaries here: * Write the bootloader to the empty space at the start of the base image: [[!template id=programlisting text=""" # dd if=bl1.bin.hardkernel of=beagleboard.img bs=1 count=442 conv=notrunc # dd if=bl1.bin.hardkernel of=beagleboard.img bs=512 skip=1 seek=1 conv=notrunc # dd if=u-boot.bin of=beagleboard.img bs=512 seek=64 conv=notrunc """]] * Write the image to an SD card. * Copy the kernel (netbsd.ub) for your board to the root of the MS-DOS partition on the SD card. * Create or edit boot.ini on the MS-DOS partition: [[!template id=programlisting text=""" ODROIDC-UBOOT-CONFIG setenv m "1080p" setenv vout_mode "hdmi" setenv m_bpp "32" setenv disableuhs "disableuhs" setenv bootargs "root=ld0a awge0.mac-address=${ethaddr}" setenv bootcmd "fatload mmc 0:1 0x21000000 netbsd.ub; bootm 0x21000000" run bootcmd """]] # ODROID-C1 UART pins From [ODROID Forum](http://forum.odroid.com/viewtopic.php?f=115&t=7684): [[!template id=programlisting text=""" ___UART____ |Pin 4 - GND| |Pin 3 - RXD| |Pin 2 - TXD| |Pin 1 - VCC| \___________| 3.3V LVTTL """]]