Openembedded Test for Odroid C2


This is a test release only based on Openembeded Linux and will not be maintained. It comes with absolutly no warranty. License info for respectivie packages can be found here http://repo.builtonline.net/testing/licenses/

How to install
==============

1) Firstly you need an sd card (or emmc) which has been imaged with a standard hardharnel image. Eg:
http://odroid.in/ubuntu_16.04lts/ubuntu64-16.04-minimal-odroid-c2-20160815.img.xz

2) Next we need to remove the Ubuntu root filesystem and replace with the Openembedded rootfs, there are a number of ways to achive this but in this example we will mount the Ubuntu rootfs on a Linux host machine rm the existing filesystem and extract out the new Openembedded root filesystem.

- Mount the existing rootfs on a host linux machine (im assuming /dev/sdb2 is the location of the existing rootfs on your sdcard)
WARNING: ensure you have the correct filesystem mounted or you may destroy your host machine or wrong partitiona

$ sudo mkdir /mnt/c2_root
$ sudo mount /dev/sdb2 /mnt/c2_root

- Remove Ubuntu files on the existing rootfs partition

$ sudo rm -r /mnt/c2_root/*

- Download new Compressed Openembeded rootfs

$ wget http://repo.builtonline.net/testing/images/hardkernel-odroidc2/amlogic-image-sato-hardkernel-odroidc2-20170422124424.rootfs.tar.bz2

- Extract files to the clean rootfs we mounted on the sd card

$ sudo tar -xvjf amlogic-image-sato-hardkernel-odroidc2-20170422124424.rootfs.tar.bz2 -C /mnt/c2_root
$ sudo sync

- Unmount the rootfs from the sdcard

$ sudo umount /mnt/c2_root

3) Setup the fat boot partition on the sdcard with the new kernel (uImage format), device tree and boot.ini

- Mount the fat boot partition on the sdcard

$ sudo mkdir /mnt/c2_boot
$ sudo mount /dev/sdb1 /mnt/c2_boot

- Remove existing boot files from the boot partition

$ sudo rm /mnt/c2_boot/*

- Download new required files for the boot partition (uImage, dtb & boot.ini)

Note: If you are installing to emmc you will need to modify the boot parameter in the boot.ini to be boot=/dev/mmcblk0p2
$ cd /mnt/c2_boot
$ wget http://repo.builtonline.net/testing/images/hardkernel-odroidc2/uImage--4.10.10+git0+e6925852d5-r0-hardkernel-odroidc2-20170422124424.bin -O uImage
$ wget http://repo.builtonline.net/testing/images/hardkernel-odroidc2/uImage--4.10.10+git0+e6925852d5-r0-meson-gxbb-odroidc2-20170422124424.dtb -O meson-gxbb-odroidc2.dtb
$ wget http://repo.builtonline.net/testing/custom/boot.ini.v1 -O boot.ini
$ cd -
$ sudo umount /mnt/c2_boot
$ sudo sync

4) Try it out, place sd into Odroid C2 and boot. This version is built with hdmi and sato support so you should be presented with a very basic sato x window session and not much else for the moment. Development tools are not included, will look at adding more tools in another build in the future.

5) If you like you can add in my testing prebuilt rpm channels to add some extra packages (if what you need current exists) or you can add in your own channels. These commands are done on the odroid C2

# smart channel --add aarch64 type=rpm-md baseurl=http://repo.builtonline.net/testing/rpm/aarch64
# smart channel --add hardkernel_odroidc2 type=rpm-md baseurl=http://repo.builtonline.net/testing/rpm/hardkernel_odroidc2
# smart channel --add all type=rpm-md baseurl=http://repo.builtonline.net/testing/rpm/all
# smart update

Documentation on smart package manager usage can be found here (Please note the smart gui interface is not currently working only command line)

http://labix.org/smart/user-guide/Command%20Line%20Interface