Install a Gentoo nspawn Container on Ubuntu 17.04 on Digital Ocean.
Spin up an Ubuntu 17.04 droplet, because nspawn containers are slightly
more difficult with Ubuntu 16.04. Install systemd-container. (This will also
work on your local workstation or laptop running Ubuntu 17.04.)
After installing systemd-container you will discover a new directory,
/var/lib/machines, and you can create a directory there for a new container.
You'll need a systemd stage3 tarball for gentoo and you can get those from the
Gentoo Website
After checking the hash you can extract it to your new folder
Start the container so you can create a root password
Because of how Digital Ocean and Ubuntu set up networking, if you want to subnet
the container, start systemd-network (systemd-resolved is probably already running).
And optionally it's also pretty straightforward to create a /usr/portage directory
on the host operating system, and then bind that directory to the container.
You should have a root command line on the container, and there really are only
two further things to consider: the container probably inherits timezone
from the host, but not locale. And your MAKEOPTS="-j", some things
seem to not compile if your MAKEOPTS j number is more than the number of
cores on the host.
Testing this on a local machine, the nspawn container does not inherit the
correct time-zone, so from the container's command line
And here is what the Gentoo wiki has to say about setting the locale if you're concerned about that,
again from the container's command line.
Your systemd-nspawn command will open up one root console, but if you use
a multi-plexer like byobu you can run additional sessions with machinectl
commands
Before you can install anything, you'll need to update your portage tree,
and emerge-webrsync
takes care of that easily enough.
If you want to update everything: emerge -avDuN @world
By default, any overlays will end up in /var/lib/layman.
If you need to build mono, it needs a kernel config. Depending on the host
operating system you might be able to find one at /proc/config.gz, or in the
/boot directory.
If you find yourself fetching git repos repeatedly,
you can add EVCS_OFFLINE=1
temporarily in make.conf, and any ebuild that
depends on git-r3.eclass will stop fetching from git.