The Other Gentoo Install Guide

Once your done with your install.. Take a look at LinkieME.com

So you want to install Gentoo Linux.
The first thing you want to know is that its a very hands on Linux distribution, its not easy.
Gentoo takes a long time to install because your building everything from source and is being built for YOUR computer.
This guide is setup for a very basic Linux system, nothing else like kde or gnome, thats up to you.
Its setup not to give you to much information, but enough to make the right choices needed to get the system up and running.

The Offical Gentoo Linux install guide is HERE
But its way to much information for most people.
There is also this one that you shouldn't use.

The new 2006.1 handbook uses a "install" script though X or a text based installer.
Lots of people have had issues with this new setup, so thats why I've made this one.

Basic guide lines:
1: READ EVERYTHING, don't skip around. don't skim the text
2: Use your brain! Stop and think about what its saying.
3: If you have a problem, try to solve it yourself by using the forum or wiki.

Your going to need some sort of Linux Live CD.
This can be the Gentoo Live CD or even knoppix, it doesnt really matter as long as its running the 2.6 Linux Kernel.

You can get the minimal Gentoo Live-CD HERE Or the Knoppix Live-CD HERE
The Knoppix CD has more drivers, and wireless drivers then the Gentoo CD.

Table of Contents

#1 The Basics

Green boxes are Notes that you should read, they could save you a lot of time.
Red boxes are things you miss or don't do, will screw up your install.

Everything in blue boxes you should be able to copy and paste right into the command line.
If it has () or BOLD in the line do what it says.

Next you need to know what type of hardware is in your computer.
The most basic thing you need to know is if your hard drive is sata or the old 80pin sytle.
If its sata remember this > sda
If not > hda

Second thing is, do you have winblows already installed on this harddrive? If so YOU need to partition it with a windows program like partition magic.
There is a free partition Live-CD called GParted, you can download it from HERE
If you do this your going to need around 10GB of diskspace for Gentoo. And you do not need to format it or anything just leave it "raw" or unused.

#2 The Partitions

Boot to the Live CD, If you cant get this far, go back to windows.
If your using knoppix, boot with: knoppix 2
For any other Live CD you want to get to a term, and from that term you need to get to root, it should have a # sign.

If you have more then one harddrive the "a" part on sda or hda may change
a = the 0 hard drive, 0 in the Linux would pretty much means the frist.
For this step hda1 is going to mean the first partition, on the first harddrive.
So if your going to install Gentoo on the 2nd harddrive it would be hdb or sdb.

If you already have windows install your going to need to shift one nuber higher on the partitions.
Windows will be on hda1 or sda1, so you need to start with the number 2 for the partitions.
This next part will be undoable so choose wisely.

fdisk /dev/(hda or sda)
n
p
1
[enter]
+25M
n
p
2
[enter]
+256M (Its up to you, but the max is +4096M)
n
p
3
[enter]
[enter]
p (view to make sure everything looks good so far)
t
2
82
a
1
(last chance to back out)
w

#3 Formatting

Remember if you already have a partition, you need to +1 on the partition numbers.
Also note if your using a sata drive its not going to be hda, its going to be sda.

mke2fs /dev/hda1
mke2fs -j /dev/hda3
mkswap /dev/hda2
swapon /dev/hda2
mkdir /mnt/gentoo
mount /dev/hda3 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/hda1 /mnt/gentoo/boot
cd /mnt/gentoo

#4 Basic Package Setup

The date format is a bit weird but here is the format:
date MMDDhhmmYYYY syntax (Month, Day, hour, minute and Year)
Try to get the time as close as possible.

This would be a very good time to see if your internet connection is working.
Try: ifconfig
Look for eth0 or eth1, they should have an IP address, if not, run: net-setup
Try: ping www.google.com
If that doesnt work, you may have to try another Live cd or something else isnt right on your network.

date 120114032006

wget http://gentoo.mirrors.easynews.com/linux/gentoo/releases/x86/2006.1/stages/stage3-i686-2006.1.tar.bz2
(If your going to do a 64bit install use this next line)
wget http://gentoo.mirrors.easynews.com/linux/gentoo/releases/amd64/2006.1/stages/stage3-amd64-2006.1.tar.bz2

http://www.gentoo.org/main/en/mirrors.xml More Links

tar xvjpf stage3-*.tar.bz2
wget http://gentoo.mirrors.easynews.com/linux/gentoo/snapshots/portage-latest.tar.bz2
tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr

mount -t proc none /mnt/gentoo/proc
cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf

#5 Gentoo Env Setup

This part will setup how you want to run your system.
If setup the right way the first time, you shouldnt have any issues.

chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile

mkdir -p /etc/portage
echo "sys-libs/glibc nptl nptlonly" >> /etc/portage/package.use

cp /usr/share/zoneinfo/America/ (hit tab for a list) /etc/localtime

nano /etc/conf.d/hostname (you can leave this at localhost, this is your computer name)
nano /etc/conf.d/clock (set this to local)
nano /etc/locale.gen (Only enable en_US ISO-8859-1 and en_US.UTF-8 UTF-8 (remove the #))

make.conf this will make or break your system.
Read the green.

make.conf can be very tricky to anyone new to Gentoo.

CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
-O2 is ohh two the letter O not the number
pentium-m
      Low power version of Intel Pentium3 CPU with MMX, SSE and SSE2 instruction set support. Used by Centrino notebooks.
pentium4, pentium4m
      Intel Pentium4 CPU with MMX, SSE and SSE2 instruction set support.
prescott
      Improved version of Intel Pentium4 CPU with MMX, SSE, SSE2 and SSE3 instruction set support.
nocona
      Improved version of Intel Pentium4 CPU with 64-bit extensions, MMX, SSE, SSE2 and SSE3 instruction set support.
athlon, athlon-tbird
      AMD Athlon CPU with MMX, 3dNOW!, enhanced 3dNOW! and SSE prefetch instructions support.
athlon-4, athlon-xp, athlon-mp
      Improved AMD Athlon CPU with MMX, 3dNOW!, enhanced 3dNOW! and full SSE instruction set support.
k8, opteron, athlon64, athlon-fx
      AMD K8 core based CPUs with x86-64 instruction set support. (This supersets MMX, SSE, SSE2, 3dNOW!, enhanced 3dNOW!.)

Intel Core Solo Duo (Yonah) -march=prescott -msse3 -O2 -fomit-frame-pointer -pipe
Intel Core Solo Duo 2       -march=pentium-m -msse3 -mfpmath=sse -O2 -fomit-frame-pointer -pipe

If your CPU supports SSE3 add -msse3 to your CFLAGS line
Even more information HERE
CHOST="i686-pc-linux-gnu" If you want a 32bit Install
CHOST="x86_64-pc-linux-gnu" If you want a 64bit Install
Once your CHOST is set NEVER CHANGE IT!
This is also the part wher you make the choice on if you want a 64bit install of Gentoo or not.
You can have a 64bit cpu running only x86(32bit) code, there are a few pluses for this reason, like Flash.

ACCEPT_KEYWORDS="x86" OR "amd64" If your using a 64bit CPU
x86 if your chost is i686-pc-linux-gnu, or amd64 if your using x86_64-pc-linux-gnu

INPUT_DEVICES="keyboard mouse evdev"
All possible options:
keyboard mouse acecad aiptek calcomp citron digitaledge dmc dynapro elo2300 elographics evdev fpit hyperpen jamstudio joystick magellan magictouch microtouch mutouch palmax penmount spaceorb summa synaptics tek4957 ur98 vmmouse void wacom
VIDEO_CARDS="nvidia" fglrx for ATI video cards
All possible options:
nvidia apm ark chips cirrus cyrix dummy fbdev fglrx glint i128 i740 i810 imstt mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo
The USE Flags.
There are already some global USE flags already set.
#1 rule: In Gentoo always check your USE flags before installing anything. -pv OR -av
#2 rule: If you dont know what the USE flag does/is for dont enable it.

Theres so much information about USE flags HERE
Make sure you READ IT ALL!

THIS is the master list of all use flags, which is very usefull

nano -w /etc/make.conf

( use settings from above )
CFLAGS=""
CHOST=""
CXXFLAGS="${CFLAGS}"
ACCEPT_KEYWORDS=""
MAKEOPTS="-j2"
INPUT_DEVICES="keyboard mouse evdev"
VIDEO_CARDS=""
USE="X bzip2 tk threads symlink" ( Use these and keep these, DO NOT add anymore untill you reboot. )

#6 BASE COMPILE

This part will take 2-3 hours, its about 83 packages.

emerge --sync

emerge portage

emerge -epv world
( These are your base packages, and their use flags. DONT set any useflags. Just use the defaults for now. )

emerge -uDN world

#7 Kernel Compile | Not Done

For now you can use this guide to build your kernel. Gentoo Handbook- Kernel Section
This guides Kernel config guide -- Not done yet, but you can take a look.

If you use genkernel, your grub setup will be differnt then what is on this guide, READ the whole section on that page.

#8 Grub and fstab

If you have windows on hda1, its going to be hd0,1 for root
Also if your using sata use sda not hda

emerge grub

grub
root (hd0,0)
setup (hd0)
quit

nano /boot/grub/grub.conf

#-------------------------------------------------
default 0
timeout 30
title Gentoo
root(0,0)
kernel /boot/bzImage root=/dev/hda3
#-------------------------------------------------

nano /etc/fstab

#-------------------------------------------------
/dev/hda1/bootext2noauto,noatime1 2
/dev/hda3/ext3noatime0 0
/dev/hda2noneswapsw0 0
#-------------------------------------------------

#9 Services and Final setup

How to setup your network if you want to setup a static IP and or other configurations read THIS page.

emerge dhcpcd vixie-cron syslog-ng mirrorselect

rc-update add net.eth0 default
rc-update add vixie-cron default
rc-update add syslog-ng boot
rc-update add sshd default

mirrorselect -H -o >> /etc/make.conf

passwd

adduser -g users -G wheel,cron,cdrom,users,audio -m your_user_name
passwd your_user_name

You can really screw up your install with /etc updates.
This is just a few things you DO NOT UPDATE with dispatch-conf or etc-update.
ANYTHING with /etc/conf.d
/etc/fstab
/etc/rc.conf
/etc/make.conf

etc-update

exit

umount /mnt/gentoo/boot
umount /mnt/gentoo/proc
umount /mnt/gentoo (Might not unmount, its ok)
reboot

#10 Few Last Things...

If your going to install kde use 'emerge -av kdebase-meta'
Same with gnome use 'emerge -av gnome-light'
This will save you A LOT of time. It will install just the basics.

  Always check and set your use flags before you install or update anything.  

I dont know how much I can stress this fact. You will have to repeat -pv after you change your use flags because they may have added more packages to the listing, which they have use flags.

IF and when you get a VFS error when the kernel is loading...
its 3 things... missing kernel driver, bad grub , bad fstab
It can be one of thouse or it can be a combo, at times all three.
What you need to do is:
boot to the live cd
mount and chroot the drive(s), /boot and /
and fix your errors
I dont think anyone could make a guide on helping you though that error, its up to you.

You can contact me about this site at:: mrecho AT gmail DOT com
or
MrEcho in #gentoo @ irc.efnet.net