6.31. Démarrer ou se chrooter ?

Il y a deux principales manières de poursuivre à partir de ce moment 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.

La méthode de démarrage est nécessaire quand vous construisez sur une architecture différente. Par exemple, si vous construisez un système PowerPC à partir d'un x86, vous ne pouvez pas vous chrooter. La méthode chroot vaut quand vous construisez sur la même architecture. Si vous construisez sur et pour un système x86, vous pouvez simplement vous chrooter. La règle d'or ici est que si les architectures correspondent et que vous exécutez la même série du noyau, vous pouvez simplement vous chrooter. Si vous n'exécutez pas sur une même série de noyau, ou si vous voulez exécuter un ABI différente, vous aurez besoin d'utiliser les options de démarrage.

Si vous avez un doute à ce sujet, vous pouvez essayer les commandes suivantes pour voir si vous pouvez chroot :

/tools/lib/libc.so.6
/tools/bin/gcc -v

Si une de ces commandes échoue, vous devrez suivre la méthode de démarrage.

Pour vous chrooter, vous aurez également besoin d'un noyau Linux 2.6.32 ou supérieur (compilé avec GCC-4.1.2 ou supérieur). La raison expliquant cette exigence de la version du noyau est que, sans cela, le support de stockage thread-local (thread-local storage) dans Binutils ne sera pas construit et la suite de tests Native POSIX Threading Library (NPTL) donnera une erreur de segmentation.

Pour vérifier la version de votre noyau, lancez cat /proc/version - si elle ne dit pas que vous exécutez un noyau Linux 2.6.32 ou supérieur compilé avec GCC 4.1.2 ou supérieur, vous ne pouvez pas vous chrooter.

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

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