OVH Cloud OVH Cloud

"Cross compilation", Chroot et apt-get install

1 réponse
Avatar
Nicolas Perot
Bonjour,

Heureux possesseur d'un processeur AMD64, je souhaite recompiler mon
noyau Debian 2.6.9, actuellement en i686 (sid), en x86-64.

J'ai testé un noyau x86-64 précompilé, il tourne sur mon matériel, mais
je souhaite le compiler moi-même pour ajuster les paramètres, et pour
les modules.

Pour cela, je me base sur le document suivant :
https://alioth.debian.org/docman/view.php/30192/21/debian-amd64-howto.html
notamment "Crosscompiling a 64bit kernel on a 32bit host", qui, je
pense, me concerne directement.

Ce qui m'inquiète est la nécessité d'être dans un environnement woody
(via chroot) pour compiler, et d'installer les paquets suivants issus
d'Alioth, en AMD64 :

apt-get install libc6 libc6-dev lib64c6 lib64c6-dev libncurses5
libncurses5-dev lib64ncurses5 lib64ncurses5-dev gcc gcc-3.3 g++-3.3
patch make devscripts dpkg-dev wget bzip2

Je n'ai jamais fait de chroot, et j'aimerais être sur de comprendre le
"périmètre" du nouvel environnement.

Le chroot préserve-t-il mes paquets et mes librairires actuelles (sid) ?

J'en suis très satisfait, et je veux avoir une issue de secours au cas
où les choses tournent mal. Autrement dit, installer tous ces paquets,
est-ce que cela écrasera mes paquets actuels, ou est-ce que cela les
installera dans un environnement "sécurisé", qui n'existe que le temps
d'une session chroot ?

Merci.

Nicolas

1 réponse

Avatar
no_spam
On Wed, 22 Dec 2004 17:43:54 +0100, Nicolas Perot wrote:

Bonjour,

Heureux possesseur d'un processeur AMD64, je souhaite recompiler mon
noyau Debian 2.6.9, actuellement en i686 (sid), en x86-64.

J'ai testé un noyau x86-64 précompilé, il tourne sur mon matériel, mais
je souhaite le compiler moi-même pour ajuster les paramètres, et pour
les modules.

Pour cela, je me base sur le document suivant :
https://alioth.debian.org/docman/view.php/30192/21/debian-amd64-howto.html
notamment "Crosscompiling a 64bit kernel on a 32bit host", qui, je
pense, me concerne directement.

Ce qui m'inquiète est la nécessité d'être dans un environnement woody
(via chroot) pour compiler, et d'installer les paquets suivants issus
d'Alioth, en AMD64 :

apt-get install libc6 libc6-dev lib64c6 lib64c6-dev libncurses5
libncurses5-dev lib64ncurses5 lib64ncurses5-dev gcc gcc-3.3 g++-3.3
patch make devscripts dpkg-dev wget bzip2

Je n'ai jamais fait de chroot, et j'aimerais être sur de comprendre le
"périmètre" du nouvel environnement.

Le chroot préserve-t-il mes paquets et mes librairires actuelles (sid) ?

J'en suis très satisfait, et je veux avoir une issue de secours au cas
où les choses tournent mal. Autrement dit, installer tous ces paquets,
est-ce que cela écrasera mes paquets actuels, ou est-ce que cela les
installera dans un environnement "sécurisé", qui n'existe que le temps
d'une session chroot ?


Il y a beaucoup plus simple:
ce que j'ai fait, avec mon Athlon 64, c'est que j'ai compilé un cross-gcc
avec pour target le x86_64. Avec ce compilateur, j'ai compilé un nouveau
noyau et rebooté.
Par contre, pour avoir un environnement "full 64 bits", il faudra que tu
réinstalle une distribution dans un chroot. Le moyen le plus simple,
c'est de compiler un bash statique 64 bits (une fois que tu as redémarré
sur ton noyau 64 bits, c'est très simple) tu l'installe dans le
partition) ou tu veux installer ta distrib 64 bits, tu fait ton
chroot et tu es tranquille.
Il ne te reste plus qu'à rebooter en changeant le root= pour booter en 64
bits, une fois l'install terminée. Ainsi, tu garde la possibilité de
booter en 32 bits, donc tu ne prends aucun risque.
Je ne sais pas en détail comment installer la debian dans un chroot, ma
méthode, c'est:
# /usr/portage/script/bootstrap-2.6.sh && emerge system
;-)