1.5 Gentoo - Additional Packages
Overview
I've put a list here of some additional packages I've tried installing
Layman Overlay
Initial Setup
Next we're going to setup overlays, via layman. It's best to check the git use flag is enabled as a starting point. Next if layman isn't already installed
emerge layman
Syncronise the latest set of available layman sources (this also allows us to add the other overlay later on)
layman -S
Next we need to make sure the overlays are picked up by portage
echo "source /var/lib/layman/make.conf" >> /etc/portage/make.conf
Grbd Github Overlay
To add the custom overlay I've setup
cd /etc/layman/overlays/
wget https://raw.githubusercontent.com/grbd/GBD.Rpi2.Gentoo/master/GBD.Rpi2.Gentoo.xml
layman -a GBD.Rpi2.Gentoo
Quick Command Reference
To get the latest version of any overlays that have been setup (similar to emerge sync)
layman -S
To list available overlays
layman --list
To add a new overlay
layman -a <overlayname>
To remove an overlay
layman -d <overlayname>
Rpi Specific
RPi Userland Tools
Next to install the RPi userland tools
emerge --autounmask-write =media-libs/raspberrypi-userland-0_pre20150325
etc-update
emerge raspberrypi-userland
RPI VideoCoreIV
There's also a bunch of libs and binary files as part of the firmware package that is usefull. This includes edidparser for parsing edid files, and VideoCoreIV for accelerated graphics / accessing the GPU
emerge --autounmask-write =media-libs/rbpi-videocore-bin-0_pre20150325
etc-update
emerge =media-libs/rbpi-videocore-bin-0_pre20150325
It's possible to select a different opengl implementation with eselect
eselect opengl list
eselect opengl set
I found that the default xorg implementation needed to be selected in order to get cairo to compile.
TODO the files for VideoCore are installed under /opt/vc/, is there something we need to do for the ebuild to make eselect aware of it's presence?
RPi Monitor
TODO currently getting a 400 bad request error There seems to be problems with the paths in the config file under /etc/ and I think permissions for the web server
emerge rpi-monitor
/etc/init.d/rpimonitor start
Go to:
http://RPI_Ip_Address:8888/
Misc
Text to Speech
Lets try text to speech (make sure oss / alsa use flags are enabled)
emerge flite
Simple test
flite -t "Hello World"
To list available voices
flite -lv
Lets try out a new voice
flite -voice slt -t "Hello World"
TODO are these hts voices?
Mono
To run some .Net apps lets install mono
emerge --autounmask-write mono
etc-update
emerge mono
Watchdog
TODO look into http://pi.gadgetoid.com/article/who-watches-the-watcher
TODO MonoGame Library / .Net Cross compatibility for a 3D library
Systemd
Most of the systemd info is already covered here Link
This is just info specific to the rpi setup
with the default linux config for the rpi2 I got a warning about CONFIG_DMIID not being set but so far I've ignored this since it's probably just something related to the arm
First step
Make sure mtab is a symbolic link ln -sf /proc/self/mounts /etc/mtab
Enable the systemd use flag, disable the consolekit use flag (I use ufed)
Update World
emerge -avDN @world
Note we don't have to use systemd for the boot init process, it's only required as a depend for Gnome. To use it in place of openrc (the default gentoo init system) we just need to modify the command line parameters passed to the kernel.
TODO list kernel command line parameters / test
Hardware Random Number Generator
The RPi should have a hardware random number generator (also true for rpi2)
First lets install the tools / load the kernel module into memory
emerge --autounmask-write rng-tools
etc-update
emerge rng-tools
modprobe bcm2708-rng
Next let's alter a config settings
nano -w /etc/conf.d/rngd
RNGD_OPTS="-o /dev/random -r /dev/hwrng"
This initial result should be slow for the random number output
cat /dev/random
Lets restart rngd
/etc/init.d/rngd restart
This should now be a lot faster
cat /dev/random
To add the rngd service to boot
rc-update add rngd boot