Libre Computer Renegade/Installing Gentoo

This guide is about installing Gentoo on the eMMC of a Libre Computer Renegade alias ROC-RK3328-CC single board computer. It assumes that the current platform is a Gentoo Linux one. The majority of steps however can be performed from any distribution, the Gentoo-specific way of doing things (such as installing software) just needs to be translated to the other distribution's practices.

Additional hardware requirements

 * USB-A male to male cable
 * USB drive (at least 2GB but not bigger than the eMMC)

Installing required tools
Install, and :

Preparing the disks
This is the recommended partition layout:

Create the partitions on the installation media:

Due to upstream providing only an old and buggy version of u-boot the rootfs partition's GUID must be set to :

The boot partition must contain a filesystem. Create the appropriate file systems and mount the partitions:

Creating a cross-compiler
Create a local overlay for the cross toolchain, cf. Custom repository for crossdev:

Then instruct Portage and to use this overlay by creating  with the content shown below.

Install and create the cross toolchain. Replace with the system tuple fitting the target architecture, i.e.  for the ARMv8-A based Libre Computer Renegade.

Finally prepare cross-compiling the kernel.

Replace with the target device's architecture,.

Replace again with the system tuple fitting the target architecture,. Mind the trailing "".

Configuring the Linux kernel
If all necessary drivers are built into the kernel (i.e. no loadable modules are needed to boot the target device) there's no need to have an initramfs, which keeps things simple. Especially if the host system's architecture differs from the target device's architecture creating an initramfs would at least involve cross-compiling busybox. With that in mind configure as usual, cf. Configuring the Linux kernel. As a reference a basic example config might be consulted.

Build the kernel and device tree binaries:

Installing the kernel
From the kernel build directory, copy the Image and the target device's device tree binary to the desired working directory. Replace with the filename of the target device's device tree binary,.

Create directory "extlinux" on the boot partition:

In this directory create the file.

Unmount the boot partition:

Creating a backup of the boot partition
For example in case someday a kernel upgrade goes wrong, backup the new boot partition.

Installing the Gentoo base system
As is not yet officially supported, get a stage3 tarball from Gentoo's experimental repository and extract it to :

Switch the new gentoo installation to unstable and adjust make.conf to utilize all four cores of the CPU. Replace with the target device's architecture,.

Provide a minimal (cf. Handbook):

Set the new installation’s root password to “gentoo”, cf. Setting a default root password:

Finish this step by unmounting the bootable media’s rootfs:

Installing the firmware
Download Firefly's Linux SDK :

Assemble the firmware files, and  and the DDR init binary  which is needed for flashing to the eMMC later on:

Finish the remaining partitions by copying the firmware files to the USB drive.

Flashing to eMMC
Download and install rkdeveloptool :

Force the Libre Computer Renegade into :


 * Pull all the USB cables (including micro USB cable and male to male USB cable) out of the board to keep the board powered off and if applicable pull out the SD card
 * Use a male to male USB cable to connect the host system and the USB OTG port (lower one of double-decker, white) of the target device, for pictures see the ROC-RK3328-CC Manual
 * Connect the eMMC and  pads with metal tweezers while plugging in the micro USB cable to power on the board. Wait about 1 second before breaking the connection of the two pads

Finally flash the eMMC with the image of the USB drive.

Finalizing the installation
Boot the Libre Computer Renegade and change the root password:

Consult the Handbook for Configuring the system, Installing system tools and Finalizing the new Gentoo installation.