Novena

This document describes the Gentoo installation on Novena, an open hardware and FOSS-friendly computing platform (see Novena main page www.kosagi.com).

Prerequisites
The easiest way for installing Gentoo without initial bootstrapping is using the already shipped and working Debian installation, following a stage3 standard-installation on a second drive e.g. connected via USB. This guide focuses on the more complicated/Novena-unique parts and references to the original documentation whenever possible.

A Second hard disk has to be connected to USB (using the USB directly connected to the mainboard). This disk is further on referred to be found at in the booted Novena/Debian system. After successfully booting the new Gentoo system later on, will become.

Base system
Follow the standard installation for the architecture found in the x86 Handbook with the following differences:

Partitioning
The bootloader and Linux kernel is stored on the internal SD-card of the Novena platform. After loading the kernel, the standard procedure is to mount the root partition by searching for an unique disk-ID 0x4e6f7653 (see http://www.kosagi.com/w/index.php?title=Novena_Main_Page#Bootloader). The boot process is as follows: SD-card (u-boot → Linux kernel) → hard drive (root filesystem). Because of this, the disk-ID of the new hard drive has to be changed accordingly, e.g. using :

The partition layout on the hard disk for the new installation is as follows:

The present partition on the SD-card is:

The device naming has become confusing in the Gentoo handbook. The translation from partition used in this guide to the on in the handbook is:

Installing a stage tarball
The following information can be used to find the correct stage3 archive:


 * Architecture = arm
 * Subarchitecture = armv7a_hardf
 * Common subdirectory on mirror: [host][prefix]/releases/arm/autobuilds/current-stage3-armv7a_hardfp/

Configuring compile options
Save CFLAGS for Novena can be found at: https://wiki.gentoo.org/wiki/Safe_CFLAGS#ARMv7-A.2FCortex-A9_MPCore. The following changes in work for Novena:

Choosing the right profile
Choose: default/linux/arm/10.0 (or newer)

Configuring the USE variable
Depends on individual needs, when in doubt leave it unchanged.

systemd
Nope, nobody needs it.

Installing the sources
The kernel is installed independent from the portage version, so no need to emerge it. See: https://github.com/xobs/novena-linux

Additional notes
Installing ccache is a good idea as compiling on Novena can take some time.

After finishing the installation, shut down the system and connect the drive containing the newly installed gentoo installation to the SATA port. Gentoo should boot up successfully. If not, you still have Debian to check for errors (

Bootloader update
A configuration and installation guide can be found at: http://www.kosagi.com/w/index.php?title=U-boot-novena

Kernel update
Novena uses the original Linux kernel extended by custom patches. Sources:


 * Kernel sources: https://github.com/xobs/novena-linux
 * Kernel modules: https://github.com/xobs/gpu-viv

A configuration and installation guide can be found at: http://www.kosagi.com/w/index.php?title=Novena_linux-kernel. The new kernel is installed by mounting the SD-card copying the resulting kernel:

MyriadRF
This is a Software Defined Radio (SDR) module which is plugable to the high speed interface of the Novena board. The following guide describes the installation of the drivers and simple usage demonstrations.

Further installation information:

[TODO: detailed description]
 * Myriadrf driver for Novena: https://github.com/myriadrf/Novena-RF/tree/master/driver
 * Myriadrf info: https://myriadrf.org/blog/installing-the-novena-rf-driver-and-gnu-radio/
 * Soapy: https://github.com/pothosware/SoapySDR/wiki/
 * Importand: Install UHD and SoapySDR, SoapySDR allone is not enough!