Installation Gentoo Desktop

Un article de Wiki SOS-ADMIN.

Ce guide vous est proposé par www.elginux.com

Sommaire

Avant Propos

Cette installation est faite depuis un pc desktop sous Linux.

# uname -mop
x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ GNU/Linux

Avec et depuis un liveCD ou n'importe quel système appelé "rescue", il vous suffit d'adapter les chemins.

Le système est sur le disque /dev/sda et nous installons Gentoo sur le disque /dev/sdd.
Aussi pensez à adapter les chemins et nom de disque.
Cette installation est faites depuis un stage1 Gentoo.

Partionnement du disque

On supposera que votre disque est vide, non partionné.

Méthode manuelle

# fdisk /dev/sdd
n[enter]
p[enter]
1[enter]
[enter]
+32M[enter]
n[enter]
p[enter]
2[enter]
[enter]
+2048M[enter]
n[enter]
p[enter]
3[enter]
[enter]
+8192M[enter]
n[enter]
p[enter]
[enter]
[enter]
a[enter]
1[enter]
t[enter]
2[enter]
82[enter]
w[enter]

Méthode automatisé

On peux le faire de manière plus automatique :

cat >fdisk.txt<<EOF
n
p
1

+32M
n
p
2

+2048M
n
p
3

+8192M
n
p


a
1
t
2
82
w
EOF
fdisk /dev/sdd<fdisk.txt

Explications sur le partitionnement

Quelques explications :
- /dev/sdd1 sera la partition /boot et de taille de 32Mo
- /dev/sdd2 sera la partition de swap et de taille de 2 Go
- /dev/sdd3 sera la partition de / et de taille de 8 Go
- /dev/sdd4 sera la partition de /home et avec tous le reste de l'espace disque.

Vérification du partionnement

Au final, nous obtenons ceci :

# fdisk /dev/sdd -l
Disque /dev/sdd: 80.0 Go, 80026361856 octets
255 têtes, 63 secteurs/piste, 9729 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/sdd1   *           1           5       40131   83  Linux
/dev/sdd2               6         255     2008125   82  Linux swap / Solaris
/dev/sdd3             256        1252     8008402+  83  Linux
/dev/sdd4            1253        9729    68091502+  83  Linux

Formatage des partitions

mkfs.ext2 /dev/sdd1
mkfs.reiserfs /dev/sdd3
mkfs.ext3 /dev/sdd4
mkswap /dev/sdd2
swapon /dev/sdd2

Montage des partitions

mount /dev/sdd3 /mnt/gentoo
mkdir /mnt/gentoo/boot
mkdir /mnt/gentoo/home
mkdir /mnt/gentoo/proc
mkdir /mnt/gentoo/dev
mkdir /mnt/gentoo/etc
mount /dev/sdd1 /mnt/gentoo/boot
mount /dev/sdd4 /mnt/gentoo/home

Téléchargement du stage1 et de l'arbre portage

date
date 100807002006 # (Format : MMJJhhmmAAAA)
cd /mnt/gentoo/home

Attention à bien choisir votre stage selon votre architecture,
- x86 pour les systèmes 32 bits
- amd64 pour les systèmes 64 bits

wget http://ftp.club-internet.fr/pub/mirrors/gentoo/releases/amd64/current/stages/stage1-amd64-2006.1.tar.bz2
wget http://ftp.club-internet.fr/pub/mirrors/gentoo/snapshots/portage-latest.tar.bz2

Décompression du stage1 et de l'arbre portage

cd /mnt/gentoo
tar xvfjp home/stage1-amd64-2006.1.tar.bz2
cd /mnt/gentoo/usr
tar xvfjp /mnt/gentoo/home/portage-latest.tar.bz2

Montage de /proc et /dev

mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
cp -L /etc/resolv.conf /mnt/gentoo/etc/
vi /mnt/gentoo/etc/make.conf

ou nano ou pico ou emacs ou ....

Chroot et préparation au bootstrap

chroot /mnt/gentoo /bin/bash
env-update && source /etc/profile
alias l='ls -alh --color'
l /etc/localtime
rm /etc/localtime

Bootstrap - Stage1 vers Stage2

cd /usr/portage/
scripts/bootstrap.sh -f

le -f pour faire juste le téléchargement

cd /etc
rm make.profile
ln -s ../usr/portage/profiles/default-linux/amd64/2006.1/desktop make.profile
cd /usr/portage/
time scripts/bootstrap.sh
# time scripts/bootstrap.sh
real    94m16.623s
user    76m44.932s
sys     36m42.486s

[En cas d'erreur "Can't locate ExtUtils/MakeMaker/Config.pm", il faut faire un "USE="bootstrap" emerge perl"]

Passons maintenant à l'étape suivante.

Emerge System - Stage2 vers Stage3

C'est tout simple et Gentoo nous a indiqué la marche à suivre à la fin du bootstrap :

* Please note that you should now add the '-e' option for emerge system:
*   # emerge -e system

Nous lancons donc, dans un 1er temps avec l'option -f pour juste télécharger ce dont Gentoo a besoin :

emerge -ef system

Une fois que tous est téléchargé, nous lancons le emerge system avec la fonction time devant :

time emerge -e system

voici le résultat de l'emerge system

* Regenerating GNU info directory index...
* Processed 87 info files.
* IMPORTANT: 2 config files in /etc need updating.
* Type emerge --help config to learn how to update config files.


real    167m10.152s
user    117m20.896s
sys     69m28.084s

Emerge nous indique qu'il y a 2 fichiers dans /etc à upgrader, nous lancons :

# etc-update
Scanning Configuration files...
The following is the list of files which need updating, each
configuration file is followed by a list of possible replacement files.
1) /etc/bash/bashrc (1)
2) /etc/skel/.bashrc (1)
Please select a file to edit by entering the corresponding number.
              (don't use -3, -5, -7 or -9 if you're unsure what to do)
              (-1 to exit) (-3 to auto merge all remaining files)
                           (-5 to auto-merge AND not use 'mv -i')
                           (-7 to discard all updates)
                           (-9 to discard all updates AND not use 'rm -i'): -5

Replacing /etc/bash/bashrc with /etc/bash/._cfg0000_bashrc

Replacing /etc/skel/.bashrc with /etc/skel/._cfg0000_.bashrc

Exiting: Nothing left to do; exiting. :)

Voilà, nous avons une Gentoo Stage3 sur mesure, optimisé selon nos choix, etc...
Il nous reste à configurer quelques fichiers, installer quelques softs important et indispensables, puis nous faire un noyau.

Finalisation de l'installation

# cd /etc
# l /etc/localtime

lrwxrwxrwx 1 root root 29 oct 8 07:05 /etc/localtime -> ../usr/share/zoneinfo/Factory

# rm /etc/localtime
# ln -s ../usr/share/zoneinfo/Europe/Paris localtime
# date

Passons à l'installation des softs importants dont certains indispensables :

echo "sys-kernel/vanilla-sources symlink">>/etc/portage/package.use
emerge -av grub vim reiserfsprogs metalog fcron openntpd vanilla-sources slocate lynx \
gentoolkit gentoolkit-dev mailx tmpwatch pciutils lsof strace coldplug

On édite quelques fichiers :

vi /etc/fstab
vi /etc/conf.d/net
vi /etc/conf.d/hostname
vi /etc/conf.d/keymaps
vi /etc/hosts
vi /etc/conf.d/ntpd
vi /etc/cron.daily/tmpwatch
vi /etc/rc.conf

On ajoute au niveau de démarrage "default" :

rc-update add sshd default
rc-update add net.eth0 default
rc-update add ntpd default
rc-update add metalog default
rc-update add fcron default
rc-update add coldplug boot

On fixe le pass root :

passwd

On installe le bootloader dans le mbr

grub

A l'invite :

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

Compilation du noyau

Afin de connaitre notre matériel, la commande 'lspci' du package pciutils va nous aider :

lspci

Le résultat donné vous permettra de savoir quel driver installé selon votre matériel.
Passons à la compilation du noyau :

cd /usr/src/linux
make menuconfig

Je n'explique pas ce qu'il y a à faire, les choses à selectionner ou non, ce n'est pas le but de ce guide.

make
make install

Voila le noyau est installé, tous le reste étant fait, nous pouvons rebooter sur ce nouveau système :)

Sortir du chroot, démonter les partitions, et rebooter sur notre installation toute fraiche

exit
cd
umount /mnt/gentoo/*
umount /mnt/gentoo
reboot

Voilà, vous voici maintenant à la tête d'un desktop sous Gentoo sans environnement graphique encore.
Personnellement mon choix est KDE.

emerge -av kde

Si vous préférez gnome :

emerge -av gnome