Base install of Gentoo system that is ready to turn into server or become a workstation. This is a basic GNU/Linux system plus other necessary and nice utilities.

This document will not list all options and only shows the choices made by the author which may not be appropriate for the readers environment. Specifically the reader must decide on the bootloader, cron and syslog daemons and other utilities, the official documentation is more complete and should be referenced along with this.

Prepare System

Gentoo already provides a good install reference so use that for an install from stage3. After booting a Gentoo CD the install is briefly this:

# Setup network
net-setup eth0
cfdisk /dev/hda
mke2fs /dev/hda1
mke2fs -j /dev/hda3
mkswap /dev/hda2 && swapon /dev/hda2
# mount and prepare location
mount /dev/hda3 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/hda1 /mnt/gentoo/boot
cd /mnt/gentoo
tar -xjpf /mnt/cdrom/states/stage3-i686.tar.bz2
mirrorselect -a -s5 -o|grep 'GENTOO_MIRRORS=' >> /mnt/gentoo/etc/make.conf
cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
mount -t proc proc /mnt/gentoo/proc
chroot /mnt/gentoo /bin/bash
env-update; source /etc/profile
emerge --sync

System Build Configuration

The system building configuration file for Gentoo and portage is /etc/make.conf. Below is a commented sample, adjust accordingly. Specifically note the addition of -pipe to CFLAGS and the changes to the USE flags.

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

# Prevents extra docs (do this on servers)
FEATURES="nodoc noinfo noman"

# On a 2xXeon
MAKEOPTS="-j5"

USE="-* alsa apache2 audiofile bash-completion bcmath bzlib cdr crypt \
cups curl dvd dvdr esd foomaticdb ftp gd imap mad mime mmap mmx oggvorbis openal \
pam pcntl pcre perl php posix postgres quicktime readline samba snmp \
soap sockets spell spl ssl usb xml xml2 zlib x86"

Necessary Utilities

After installing the base system choices need to be made about bootloader, cron, logs, runlevel configs and other utilities. The example below chooses grub, fcron and syslog-ng.

emerge udev coldplug hotplug syslog-ng fcron grub

Useful Utilities

Other nice stuff isn't installed by default so might as well add those now.

emerge nmap whois
emerge gentoolkit mirrorselect
emerge pciutils usbutils

Cleanup and Reboot

exit
cd /
umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo
reboot

See Also

Change Log