Pour démarrer une machine, n'importe quel ISO de Live CD Linux peut faire l'affaire mais vous êtes sûr d'avoir tous les outils nécessaires sur le CD d'installation minimal Gentoo.
L'un des principes de base de la Gentoo, c'est de vous laisser le choix mais j'ai fait ces choix pour vous ;) . Pour avoir plus de détails, n'hésitez pas à vous reporter à l'excellente documentation en ligne: Gentoo AMD68 Handbook. Il faudra bien sûr adapter la configuration du noyau à votre hyperviseur si vous n'utilisez pas Qemu/KVM ('lspci -k' vous listera les périfériques et les pilotes utilisés) ou utiliser genkernel (voir la doc sus-mentionnée).
S'il n'y a pas de serveur DHCP sur votre réseau (à adapter à votre configuration réseau):
# ip a
# ip a add 192.168.0.6/24 dev enp1s0
# ip route add default via 192.168.0.1
# ip link set enp1s0
# emacs /etc/resolv.conf
nameserver 192.168.0.1 nameserver 208.67.222.222 |
# ping -c 3 gentoo.org
Si vous avez besoin d'effectuer l'installation via ssh (par exemple, pour profiter de votre clavier bépo ou pour faire facilement des copier/coller) :
# passwd
# rc-service sshd start
# ip a
Pas besoin de l'UEFI
Table de partition utilisée :
/boot | 128Mo | ext2 |
swap | 2048Mo | sw |
/ | reste du disque | ext4 |
Préparation du disque :
# parted -a optimal /dev/vda
(parted)mklabel msdos
(parted)unit mib
(parted)mkpart primary 1 129
(parted)set 1 boot on
(parted)mkpart primary 129 2177
(parted)mkpart primary 2177 -1
(parted)print
(parted)quit
# mkfs.ext2 -T small /dev/vda1
# mkfs.ext4 /dev/vda3
# mkswap /dev/vda2
-Si vous devez reprendre votre installation, repartez d'ici
# swapon /dev/vda2
# mount /dev/vda3 /mnt/gentoo
On note les ID des partitions, on va en avoir besoin pour la configuration du noyau et la création du fichier fstab et on met le système à l'heure :
# blkid
# ntpd -q -g
# cd /mnt/gentoo
Choissez l'archive sur la page suivante (j'utilise la version 'hardened' pour ce tuto) et copiez l'adresse du lien :
https://www.gentoo.org/downloads/#other-arches
Téléchargez l'archive et décompressez-la :
# wget <collez l'adresse du lien>
# tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner
On édite le fichier make.conf
# emacs /mnt/gentoo/etc/portage/make.conf
COMMON_FLAGS="-march=native -O2 -pipe" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" |
On sélectionne des miroirs dans la liste (je prends tous les français)
# mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
On monte quelques systèmes de fichier nécessaire à Gentoo
# mkdir --parents /mnt/gentoo/etc/portage/repos.conf
# cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
# cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
# mount --types proc /proc /mnt/gentoo/proc
# mount --rbind /sys /mnt/gentoo/sys
# mount --make-rslave /mnt/gentoo/sys
# mount --rbind /dev /mnt/gentoo/dev
# mount --make-rslave /mnt/gentoo/dev
On entre dans la nouvelle Gentoo
# chroot /mnt/gentoo /bin/bash
# source /etc/profile
# export PS1="(chroot) ${PS1}"
# mkdir /boot
# mount /dev/vda1 /boot
On la met à jour, on lit les nouvelles et on choisit son profil.
# emerge-webrsync
# eselect news read
# emerge --sync #(Optionel, 'emerge --sync' ne fonctionnera pas derrière un proxy)
# eselect profile list
# emerge --ask --verbose --update --deep --newuse @world
La variable USE, dans le fichier make.conf, permet de sculpter votre Gentoo selon vos besoin. Liste des valeurs disponibles :
https://www.gentoo.org/support/use-flags/#global
Si vous utilisez emacs, il faut l'installer dans votre nouvel environnement
# emerge -a emacs
# emacs /etc/portage/make.conf
Je n'utilise ni l'interface graphique, ni le son, ni la wifi ni le serveur d'impression
USE="-X -cups hardened lm_sensors -sound -wifi" |
Un peu de localisation
# echo "Europe/Paris" > /etc/timezone
# emerge --config sys-libs/timezone-data
# emacs /etc/locale.gen
fr_FR.UTF-8 UTF-8 fr_FR ISO-8859-1 fr_FR@euro ISO-8859-15 |
# locale-gen
# eselect locale list
Sélectionnez l'UTF-8
# eselect locale set 6
# env-update && source /etc/profile && export PS1="(chroot) $PS1"
Il est temps d'installer les sources du noyau Linux
# emerge --ask sys-kernel/gentoo-sources
Installez pciutils pour avoir des informations sur votre configuration matériel grâce à la commande 'lspci -k', ces informations seront nécessaire pour la configuration du noyau.
# emerge --ask sys-apps/pciutils
Configurons le noyau:
# cd /usr/src/linux
# make menuconfig
-*- Enable the block layer ---> Partition Types ---> [ ] Advanced partition selection Processor type and features ---> [*] Symmetric multi-processing support [*] Linux guest support ---> [*] Enable paravirtualization code [ ] paravirt-ops debugging (NEW) [ ] Paravirtualization layer for spinlocks (NEW) [ ] Xen guest support (NEW) [*] KVM Guest support (including kvmclock) (NEW) -*- Disable host haltpoll when loading haltpoll driver Processor family (Generic-x86-64) ---> ( ) Opteron/Athlon64/Hammer/K8 ( ) Intel P4 / older Netburst based Xeon ( ) Core 2/newer Xeon ( ) Intel Atom (X) Generic-x86-64 [ ] EFI runtime service support [X] Machine Check / overheating reporting [ ] Intel MCE Features [X] AMD MCE Features [*] Networking support ---> Networking options ---> [*] Network packet filtering framework (Netfilter) ---> Device Drivers ---> Generic Driver Options ---> [*] Maintain a devtmpfs filesystem to mount at /dev [ ] Automount devtmpfs at /dev, after the kernel mounted the rootfs [*] Virtio drivers (NEW) ---> --- Virtio drivers <*> PCI driver for virtio devices [*] Support for legacy virtio draft 0.9.X and older devices (NEW) <*> Virtio balloon driver (NEW) <*> Virtio input driver (NEW) < > Platform bus driver for memory mapped virtio devices (NEW) [*] Block devices ---> <*> Virtio block driver [ ] Macintosh device drivers ---- [*] Network device support ---> [*] Network core driver support <*> Virtio network driver [ ] Ethernet driver support --- Firmware Drivers ---> <*> BIOS Enhanced Disk Drive calls determine boot disk <*> QEMU fw_cfg device support in sysfs File systems ---> <*> Second extended fs support <*> The Extended 4 (ext4) filesystem DOS/FAT/NT Filesystems ---> <*> MSDOS fs support <*> VFAT (Windows-95) fs support Native Language support ---> <*> Codepage 850 (Europe) [*] NLS ISO 8859-15 (Latin 9; Western European Languages with Euro) Pseudo Filesystems ---> [*] /proc file system support [*] Tmpfs virtual memory file system support (former shm fs) |
Compilation et installation du noyau :
# make && make modules_install
# make install
Configuration du système (nom d'hôte, config réseau, mot de passe root, disposition du clavier) :
# emacs /etc/fstab
UUID=6472-9F0C | /boot | ext2 | defaults,noatime | 0 2 |
UUID=61f2ab02-4055-463f-9331-db046af0ba19 | none | swap | sw | 0 0 |
UUID=deefc02d-376e-43fd-a0f0-fde3e4a6c89c | / | ext4 | noatime | 0 1 |
# emacs /etc/conf.d/hostname
hostname="IG-88" |
# emacs /etc/conf.d/net
config_enp1s0="192.168.0.6/24" routes_enp1s0="default via 192.168.0.1" ou config_enp1s0="dhcp" |
# cd /etc/init.d
# ln -s net.lo net.enp1s0
# rc-update add net.enp1s0 default
# passwd
# emacs /etc/conf.d/keymaps
Installation d'outils système :
# emerge --ask app-admin/sysklogd
# rc-update add sysklogd default
# emerge --ask sys-process/cronie
# rc-update add cronie default
# emerge --ask sys-apps/mlocate
# rc-update add sshd default
Installation de GRUB 2 :
# emerge --ask --verbose sys-boot/grub:2
# grub-install /dev/vda
# grub-mkconfig -o /boot/grub/grub.cfg
L'installation est terminée :
# exit
# cd
# umount -l /mnt/gentoo/dev{/shm,/pts,}
# umount -R /mnt/gentoo
# reboot
Mon interface réseau change de dénomination entre l'installation avec le Gentoo Live CD et le redémarrage, elle passe de 'enp1s0' à 'eth0'. Il faut rééditer /etc/conf.d/net, effacer /etc/init.d/net.enp1s0 et le retirer du démarrage, créer le lien symbolique /etc/init.d/net.eth0 et l'ajouter à init.
# emacs /etc/conf.d/net
# cd /etc/init.d
# rm net.enp1s0
# ln -s net.lo net.eth0
# rc-update del net.enp1s0 default
# rc-update add net.eth0 default
# rc-service net.eth0 start
Créer un utilisateur
# useradd -m -G users,wheel -s /bin/bash larry
# passwd larry
Password: (Enter the password for larry) Re-enter password: (Re-enter the password to verify) |
# rm /stage3-*.tar.*
Faites un snapshot!
Félicitations!