This is a joint topic/post. There are comments from @4dandl4
interleaved with the text.
There is nothing quite like an adventure.
It has to be new, it has to involve some risk,
it has to be intreagueing and there must be some goal.
One of the best Linux adventures you can have is
to try installing and using Gentoo.
I took the plunge into Gentoo over the last 2-3 weeks.
I did have a try once before, in an old 32 bit laptop.
I got as far as getting the CLI running, then gave up.
The old hardware was simply too slow.
It is a different story today. Modern hardware copes
with the demands of compiling Gentoo quite efficiently.
The challenge today is the learning curve. Gentoo does
not have an installer - you install it by hand using Linux
CLI commands. The Gentoo package system ( called portage)
is radically different from what you get with apt
or rpm
.
Once you get Gentoo working, its usage is just like any
other rolling release Linux - the adventure is over.
What you get is an ultra fast Linux tailored to your usage.
Some words of advice for any Gentoo novice wanting
to try an install
- use the Gentoo Handbook
(There is a lot information, about on how to install Gentoo, but
the Gentoo Handbook is the best that I have found.)
https://wiki.gentoo.org/wiki/Handbook:AMD64
It contains everything you need. You need it by you
on another computer, while you install. It is at least
as good as the Arch documentation. Follow it closely.
- get some help. My NoviceMaster was @4dandl4. Even with
the Handbook, I needed explicit guidance at several critical
places. The handbook will not rescue you when you make a mistake .
A real helper is needed for that. - allow some time. You need to soak this in, not skip
thru it learning nothing. Just to get to a bootable Gentoo with
a CLI meant leaving my computer on for many days, tying it up
completely. You need a spare computer for other tasks while
installing Gentoo. - be prepared to learn. There is a lot of learning. It is
not all done for you by a fancy install script. You have to
drive it, step by step.
What follows is an outline of what happened during my
Gentoo install. This is a story, not a set of install instructions.
- start with what is referred to as a
minimal install CD
.
The one I used was calledinstall-amd64-minimal-20230108T111708Z.iso
.
This is a bootable iso file containing alive
Linux which you use to
(If one is installing to real hardware one can use the live gui iso and
boot it using Ventoy or make a bootable usb. You can then copy and
paste commands from the Handbook to your Gentoo install. )
issue Linux commands needed to carry out the install. In the first
stages of the install you are āinā this Linux issueing CLI commands.
- the live cd will make an internet connection if you have ethernet,
and it allows you to use Linux to do some fundamental things like
set a root password, define a swap partition. mount the partition
to be used for the Gentoo root filesystem, set the date and time.
I installed to an SSD on which the partitions had already been set up.
You can see I have 7 partitions. Debian is on sda4, and Gentoo is to go onto sda5.
(Concerning filesystems and partitioning> About the only thing I do is use
lsblk to know where I am at and cfdisk to make partitions, just make sure
you partition the correct drive. For the record, although Gentoo can be installed
using one / root partition, it really likes to have /boot for the first
partition on the drive, that is bootable, also it does very little good to set
a /home partition.)
- the next stage involves downloading what is called a
stage 3 tarball
.
Here you get to choose . There is a list of available tarballs here
AARNet Mirror
or at any other Gentoo mirror site. I chose
current-stage3-amd64-desktop-openrc/
because I wanted OpenRC, not systemd, and I wanted multilib
capability because I have some 32 bit software.
The tar file simply downloads straight into your āliveā system.
What it contains is all the basic software needed by Linux,
except the kernel. Yes Gentoo builds everything except the kernel
first, then adds a kernel. - The tarball contents have to be compiled. Here is where the
fun starts. ThePortage
system controls the compiling, and
has to be configured. The configuration file is `/etc/portage/make.confā.
(I cannot stress enough the importance of the Gentoo make.conf. It is the
heart and soul of gentoo, yes you can leave it as it is, but I doubt
you will get a working Gentoo. Do some research, know your machine, for the
make.conf controls the tone of what will be compiled.)
Here is an example of a /etc/portage/make.conf file
COMMON_FLAGS="-march=haswell -O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
# NOTE: This stage was built with the bindist Use flag enabled
# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C
MAKEOPTS="-j4"
CHOST="x86_64-pc-linux-gnu"
CPU_FLAGS_X86="mmx mmxext sse sse2"
#ACCEPT_LICENCE="*"
ACCEPT_LICENCE="@FREE @BINARY-REDISTRIBUTABLE"
GENTOO_MIRRORS="https://mirror.aarnet.edu.au/pub/gentoo/"
GRUB_PLATFORMS="efi-64 pc"
INPUT_DEVICES="evdev keyboard mouse synaptics libinput"
VIDEO_CARDS="intel"
ACCEPT_KEYWORDS="amd64"
USE="bindist X alsa pulseaudio"
I made a mess of configuring it first try, and had to be rescued by @4dandl4.
The handbook was not sufficient at this point, I needed working
examples of make.conf files.
- before compiling there is some more configuring, and some mounting
of filesystems. Then one sets up portage and does a
build using theemerge
command. At this stage one should go to lunch -
it took about 2 hours in my computer. - the next stage is called āChrootā in the Gentoo handboot.
It involves setting the root of the filesystem to the ā/ā directory
of the newly compiled Gentoo. There are many other details, including
and update, setting USE variables, timezones, and selecting a āprofileā .
My profile was `default/linux/amd64/17.1/desktop(stable). - then we are ready to install firmware ie driver modules) and compile a kernel. I
fell over at the firmware step and had to be helped setting
ACCEPT_LICENCE and package.licence.
(ACCEPT_LICENSE=ā" that I have
used, is being phased out and replaced with ACCEPT_LICENSE="- @FREE @BINARY-
REDISTRIBUTABLEā in make.conf, you will then have no license issue
installing sys-kernel/linux-firmware.)
Compiling the kernel though, was easy - I used genkernel, but one can
hand configure it . Compiling took about an hour.
(I can still remember my first manual kernel install, although I got
the machine to boot, it wasnāt after several trips back to the
āmake menuconfigā. There are other options also for kernel config.)
- There follows some tidying up - setting hostname, installing
dhcpcd
so a network would come up when it boots, setting passwords,
installing grub if wanted . I declined, I already had grub. - then I am ready to boot the new Gentoo. Come out of chroot, back
to the livecd system and do reboot. I get a grub menu and can boot my
Debian and doupdate-grub
. Then reboot and I get grub menu containing
Debian and Gentoo, and I can boot Gentoo. It comes up with a CLI
login prompt - there is no X11 or DM or DE yet. - time for a backup
- final step is installing vi, Xorg-drivers, Xorg-server, xfce4,
and lightdm. Then I have a Gentoo with graphical login and DE.
It looks like the following screenshot
It is a conventional Xfce screen with bottom panel popup, top panel withh App Menu, and filesystem icons on left. The terminal window is doing an emerge --search
command.
- Not quite done. I needed Firefox. Gentoo has firefox-bin available so you
dont need to compile. It does however require some dependencies such aspulseaudio
andalsa
. When I first tried it said āCircular dependenciesā - ie some of the dependencies of firefox depend on each other in a circular fashion. Then followed something like a game of āDungeons and Dragonsā trying to break the dependency cycle. I did succeed, again with some help. I am writing this now in Firefox in Gentoo.
Summary:
The whole business took more than a week (not full time by me,
but it tied up a machine for a week). I learnt a lot, I needed help,
I like the result and I think next install I may graduate to Novice
Grade 2 and get by with minimal coaching.
Here are some impressions
- Compiling is the least worry. On a modern machine compile times
are reasonable. Downloads of source code are smaller and faster than binaries. - following the Gentoo Handbook steps is like a game of
āSnakes and Laddersā . I had to go back several times and
correct things - Gentoo boot is lightning fast - faster than Void. Something less
than 10 sec in my machine. - When you finally get a running Gentoo system,
it looks like any other Linux. You can have your familiar DE, it has
all the options. - Portage is a big learning curve. You have to use it. It controls
downloading and compiling and installation of updates. - Gentoo is rolling release - you need regular upgrades.
- What you get is a system containing exactly what apps you asked for,
and very little more. The apps and kernel will be optimised for
your machine. That is the advantage over binary installs.
Time will tell whether it is worth the effort.
(Is it worth the effort? I believe this answer lies within the user whom may
want to give Gentoo a try. If you like pre-built software, then hell, you
might as well be running Windows. I started my adventure with Gentoo over 5yrs
ago, using an old hand-me-down 32bit PC that took a week just to compile
Gentoo to a CLI. Now I will not set here and blow smoke up your xxxxx, but
learning just the basics of Gentoo takes time and for some, even a lifetime.
Does that make Gentoo any better than any other Linux Distro or even
Windows? In two words, hell no, but it is different and fun and sometimes
even impossible, to work with.
I want to thank @nevj for the acknowledgment and for the confidence in my
advice. You had me thinking on a couple of issues. I feel like I have made
a friend, through Gentoo, so the pleasure has been all mine.)
I would like to conclude with a thank you to @4dandl4 for his
patience and guidance.