Outils pour utilisateurs

Outils du site


net-sys:admin:install

Procédure d'installation du système

Installation de la base

Création du layout

Aller ici pour récupérer la dernière archive « stage 3 » d'installation du système. Créer le système de fichiers de base, le monter dans /mnt et s'y placer en root, puis y décompresser l'archive avec la commande :

tar --xattr -xvpf <path to archive>

Monter les dossiers dev, proc et sys soit en faisant un pointeur sur les versions système (bind-mount), soit en les montant à la main.

En bind-mount :

for i in dev proc sys; do
	mount --rbind /$i $i
	mount --make-rslave $i
done

En montage “propre” :

mount -t devtmpfs devtmpfs dev
mount -t devpts devpts dev/pts
mount -t proc proc proc
mount -t sysfs sysfs sys

L'avantage de la deuxième méthode est qu'il est possible de pivot_root pour passer du système courant au nouveau système si besoin.

Monter ensuite les dossiers temporaires nécessaires :

for i in run dev/shm tmp; 
	mount -t tmpfs tmpfs $i
done

Copier enfin le fichier /etc/resolv.conf dans /mnt/etc/ afin d'avoir les informations DNS du système depuis le chroot pour l'étape suivante.

Mise à jour de la base

Maintenant que la base est 'installée' on va la mettre à jour. Passer en chroot (éluder la première commande si vous venez d'exécuter le pivot_root) :

chroot /mnt /bin/bash -l
exec su -
source /etc/profile

La commande exec su - permet de détacher l'environnement du shell parent pour être certain d'avoir réellement l'environnement interne au chroot. Récupérer l'arbre de Portage:

emerge-webrsync

Éditer le fichier /etc/portage/make.conf et remplacer les CFLAGS par -O2 -pipe -fstack-protector-strong et y adjoindre le résultat de la commande suivante :

gcc "-###" -march=native /usr/include/stdlib.h 2>&1 |
	tail -n 1 |
	egrep -o -- '-(m\S+|-param \S+)' |
	egrep -v -- '-mno-' |
	tr -d '"' |
	tr '\n' ' ' |
	sed 's/$/\n/'

Ajouter ensuite en ACCEPT_KEYWORDS ~amd64 puis mettre le système à jour:

emerge -va1 gcc
emerge -va1 portage
emerge -vauDN @system
emerge -vauDN @world

S'il y a une mise à jour de perl, utiliser la commande perl-cleaner -v –reallyall pour mettre à jour les dépendances.

Installation du reste du système

Installer ensuite git et layman, en pensant à activer le USE-FLAG sync-plugin-portage dans /etc/portage/make.conf:

emerge -va1 git layman

Se placer dans /etc/portage puis récupérer l'arbre de configuration existant:

git init
git add -A
git commit -m "base"
git remote add homer http://git.art-software.fr/portageSettings.git/
git fetch -p --all
git checkout -p homer/<branche existante>

et récupérez les modifications qui vous intéressent. Faire de même pour les sets:

mkdir sets
cd /etc/portage/sets
git init
git remote add homer http://git.art-software.fr/portageSets.git/
git fetch -p --all
git merge homer/master

À partir de là, vous pouvez effectuer la deuxième partie de la mise à jour en réexécutant emerge -vauDN @world pour accepter les USE-flag. Une fois fait, sélectionnez (ou créez) la target appropriée dans /etc/portage/sets/target (liste des sets de paquets appropriés pour ce système) et installez-la avec emerge -va @target/<name> (ne pas mettre l'argument -1, ou –oneshot)

net-sys/admin/install.txt · Dernière modification: 2017-11-16 08:50 par electron