6.22. To Boot or to Chroot?

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.

Powerpc64 is slightly different from some of the other architectures, because a 64-bit kernel running 32-bit userspace can successfully chroot and execute 64-bit programs. However, if the kernel personality has been set to 32-bit by a utility such as linux32, it will eventually fail when glibc thinks it is building on a 32-bit system and tries to include incompatible assembler code in the 64-bit glibc.

To see if you can successfully chroot to build the final powerpc64 system, enter the following command which tests if you are running a 64-bit Linux 2.6 kernel (with a 64-bit personality):

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

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.