6.30. Démarrer ou se chrooter ?

Il y a deux principales manières de poursuivre à partir de maintenant pour construire le système final. Vous pouvez construire un noyau, un chargeur de démarrage et quelques autres outils, démarrer dans le système temporaire et y construire le reste. Vous pouvez également vous chrooter dans le système temporaire.

Le programme chroot (changer de racine) est utilisé pour entrer dans un environnement virtuel et démarrer un nouveau shell dont le répertoire racine sera la partition CLFS. Cela ressemble à redémarrer et demander au noyau de monter la partition CLFS comme partition racine. L'avantage principal est que se « chrooter » vous permet de continuer à utiliser l'hôte pendant que CLFS se construit. Pendant que vous attendez que la compilation des paquets se termine, vous pouvez passer à un autre terminal virtuel (VC) ou bureau X et continuer à utiliser l'ordinateur normalement.

Le principal inconvénient de se chrooter est que vous êtes plus limité sur les conditions qui permettent de l'utiliser - redémarrer fonctionnera toujours pour n'importe quelle construction CLFS, mais la méthode chroot ne peut être utilisée que lorsque vous construisez sur la même architecture. Par exemple, si vous construisez sur, et pour, un système x86, vous pouvez simplement chrooter. Démarrer est requis lorsque vous compilez pour une architecture différente, comme construire un système PowerPC depuis un x86. La règle générale ici est que si les architectures correspondent et que vous tournez sous la même version majeure du noyau (en particulier, un noyau 3.12.0 ou plus récent) vous pouvez simplement chrooter. Si vous ne tournez pas sous la même version du noyau, ou ne souhaitez pas lancer une ABI différente, vous devrez utiliser la méthode du démarrage.

Powerpc64 est légèrement différent de certaines des autres architectures, car un noyau 64-bit qui fait tourner un espace utilisateur 32-bits peut parfaitement chrooter et exécuter des programmes 64bits. Cependant, si la personnalité du noyau a été initialisée à 32-bits par un utilitaire comme linux32, il échouera lorsque Glibc pensera se construire sur un système 32-bits et inclura du code assembleur incompatible avec la glibc 64-bits.

Pour voir si vous pouvez effectivement chrooter et construire le système powerpc64 final, entrez la commande suivante qui teste si vous tournez sous un noyau Linux 2.6 64 bits (avec une personnalité 64 bits) :

uname -a | grep '^Linux.*2\.6\..*ppc64' && \
    echo "ok to chroot" || echo "you must boot"

Pour la méthode de démarrage, suivez If You Are Going to Boot.

Pour la méthode chroot, suivez If You Are Going to Chroot.