Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[emerge] Compilation sur une autre machine.
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
destroyedlolo
l33t
l33t


Joined: 17 Jun 2011
Posts: 692
Location: Close to Annecy (France)

PostPosted: Tue Jul 26, 2011 10:19 am    Post subject: [emerge] Compilation sur une autre machine. Reply with quote

Bonjour,

Je suis en train de faire des tests avec Gentoo sur des machines relativement lentes (Gentre Duron 850Mhz) et a terme, ca sera sur des PI ou des 486 (ou compiler ne serait-ce que X relevera du masochime :lol: )

J'ai déjà installer DistCC qui accélère grandement certaines compilations ... Certaines car si ca fonctionne bien sur les gros programmes en C ou en C++, le Duron montre ses limites lorsqu'il y a beaucoup de dependances et qu'elles utilisent beaucoup de scripts (donc execute en local). Par exemple, hier je me suis essaye avec l'excellentissime Midori mais au bout de 2.5h, il y etait encore ... beaucoup de dependances ont besoin de 'm4' et ... ccccaaaa rrraaaammmme.

Bref, j'envisage de faire la compilation sur une autre machine a base de P4, et de les installer sur le Duron en temps que Prebuilt Packages.

Donc questions :

  1. Sur le P4, il y a deja gentoo evidemment configure pour le P4. Pour eviter les conflits entre les compiles P4 et Duron, j'envisage de 'chrooter' l'environment du second et d'y creer seulement le /etc/make.conf du le Duron. Est-ce la bonne solution ?
  2. Sur le P4, Je rajoute buildpkgonly dans son FEATURES pour le Duron, c'est ca ?
  3. ou vont donc etre creer les prebuilds ? En clair, que doit-je mettre dans le PORTAGE_BINHOST comme directory ?


Si j'arrive a faire qq chose, je rajouterai sans doute quelques pages sur mon site :wink:

Bye

Laurent
Back to top
View user's profile Send private message
gglaboussole
l33t
l33t


Joined: 17 May 2005
Posts: 641
Location: Monbalen (47),France

PostPosted: Tue Jul 26, 2011 5:01 pm    Post subject: Reply with quote

Salut,

Je fais moi aussi de la cross compil pour mon eeepc à partir de mon i7

1- Ton chroot sur le "serveur" (le P4) doit etre une copie conforme de la machine "cliente" (ton duron) ...
2-dans les FEATURES du make.conf du P4 : buildpkg tu sync et compiles exclusivement sur le p4
-3 tu montes le /usr/potage de ton P4 sur le duron (en nfs ou ssh )
4 il te suffit ensuite de mettre le -K (--usepkgonly) dans ton emerge ou dans ton make.conf sur le duron (pas besoin de spécifier de bin host si tu modifies pas les chemins de portage par défaut)

voilà le principe... tu peux ensuite alléger les commande de ton chroot en créant des alias pour chrooter dans ton bashrc, automatiser les montages en ssh ou nfs de /usr/portage ds le fstab de ton duron,etc....

Espérant que ça réponde à tes questions...
_________________
On m'a dit que la terre tourne, alors j'attends que ma maison passe par ici...
Back to top
View user's profile Send private message
destroyedlolo
l33t
l33t


Joined: 17 Jun 2011
Posts: 692
Location: Close to Annecy (France)

PostPosted: Tue Jul 26, 2011 11:40 pm    Post subject: Reply with quote

Ok, merci.

mais d'apres ce que j'ai compris de la doc, specifie le hosts m'evite de devoir monter un FS non ? (il risque d'avoir plusieurs machines clientes).

Maintenant, l'autre questions qui me vient a l'esprit c'est ... comment vont se passer les maj. Pour le P4, je vois bien mais quelles commandes dois-je lancer sur le Duron ?
Back to top
View user's profile Send private message
gglaboussole
l33t
l33t


Joined: 17 May 2005
Posts: 641
Location: Monbalen (47),France

PostPosted: Wed Jul 27, 2011 9:12 pm    Post subject: Reply with quote

Ben en fait c'est très simple... tu installes dans ton chroot sur le P4 une gentoo toute neuve depuis un stage3 adapté au duron avec les options de compil, les CFLAGS, etc..,tout ce qui correspond à ton duron, comme si c'était un duron...
Comme je t'ai dis tu fais emerge --sync dans ton chroot du p4 et tu met à jour dans ton chroot du p4.
Un fois cela fait il te suffit de monter le /usr/portage sur le /usr/portage de ton duron, pas besoin de "syncé" (il a un portage tout frais puisque en fait c'est celui du chroot !) et tu lances ton emerge avec les options que tu veux (-K obligatoire qd même puisque tu installes des binaires) sur le duron...et c'est tout ! :wink:

Un exemple pour être plus clair, tu veux gimp sur ton duron : tu vas d'abord faire un emerge gimp dans ton chroot du p4, il va donc te le compiler avec toutes les dépendances qu'il faut comme si c'était un duron (puisque le make.conf dans le chroot sera renseigné comme il faut hein?...) avec la vitesse d'un p4 :D .
ensuite, une fois /usr/portage monté (et peut importe qu'il y ait 1 ou 36 machines) sur le duron un simple emerge -K gimp t'installera gimp et ses dépendances en binaires, fraichement compilés depuis le p4...
_________________
On m'a dit que la terre tourne, alors j'attends que ma maison passe par ici...
Back to top
View user's profile Send private message
boozo
Advocate
Advocate


Joined: 01 Jul 2004
Posts: 3193

PostPosted: Wed Jul 27, 2011 10:03 pm    Post subject: Reply with quote

'alute

je me permets juste une petite précision (ou complément devrais-je écrire) : comme décrit par gglaboussole, via le bind, l'arbre des ports gentoo est le même sur le P4, le chroot "du duron", le Duron lui-même. Mais en revanche pour produire les binaires dans le chroot "du duron", il me semble plus prudent de customiser le point de stockage dans son make.conf propre afin de ne pas se mélanger les pinceaux avec ceux produits sur et pour ton P4 :wink:
_________________
" Un psychotique, c'est quelqu'un qui croit dur comme fer que 2 et 2 font 5, et qui en est pleinement satisfait.
Un névrosé, c'est quelqu'un qui sait pertinemment que 2 et 2 font 4, et ça le rend malade ! "
Back to top
View user's profile Send private message
gglaboussole
l33t
l33t


Joined: 17 May 2005
Posts: 641
Location: Monbalen (47),France

PostPosted: Thu Jul 28, 2011 3:16 pm    Post subject: Reply with quote

effectivement...
C'est que moi je ne produit jamais de binaires pour mon i7, et c'est un tort d'ailleurs !!!
Ca m'aurait servi quelques fois ou j'ai pété des éléments importants du système et que j'étais dans l'impossibilité de les recompiler... :lol:
_________________
On m'a dit que la terre tourne, alors j'attends que ma maison passe par ici...
Back to top
View user's profile Send private message
boozo
Advocate
Advocate


Joined: 01 Jul 2004
Posts: 3193

PostPosted: Thu Jul 28, 2011 5:57 pm    Post subject: Reply with quote

Oui et c'est pour çà que j'en parle même si c'est un peu "ceinture & bretelles" : la feature buildpkg est nécessaire dans le chroot pour le duron mais on peut simplement prendre buildsyspkg sur le P4 vu son utilité potentielle dans certains cas - faut juste pas se mélanger ensuite ; et mettre deux variables différentes dans les make.conf me semble le plus simple :wink: -

(soit il y a toujours la tinderbox en cas de besoin mais bon, c'est pas pour la place ni le temps de compilation que çà prend de faire çà sur @system qu'il faut s'en priver à mon avis)
_________________
" Un psychotique, c'est quelqu'un qui croit dur comme fer que 2 et 2 font 5, et qui en est pleinement satisfait.
Un névrosé, c'est quelqu'un qui sait pertinemment que 2 et 2 font 4, et ça le rend malade ! "
Back to top
View user's profile Send private message
destroyedlolo
l33t
l33t


Joined: 17 Jun 2011
Posts: 692
Location: Close to Annecy (France)

PostPosted: Tue Aug 02, 2011 12:40 am    Post subject: Reply with quote

Bonjour et merci pour vos explications qui sont limpides mais ce n'est pas forcement une solution qui irait dans mon cas.
Je m'explique : mon but est d'utiliser des vieux portables recuperes du taf qui sont des 486, des PI et des PII pour faire de la domotique. Des machines au top niveau rapidite comme vous pouvez le voir ... donc c'est pourquoi je fais mes armes sur le Duron qui est un peu plus rapide :wink:
Donc en clair, j'aurai minimum 3 archis différentes (pis lorsque je maitriserai Gentoo, je ferai passer mon server de Dev a base d'Atlhon et ma prod a base Celeron ... ben ouai, ce n'est que de la recup mais a nouveau 2 architectures de plus).

Donc :
gglaboussole wrote:
Ben en fait c'est très simple... tu installes dans ton chroot sur le P4 une gentoo toute neuve depuis un stage3 adapté au duron avec les options de compil, les CFLAGS, etc..,tout ce qui correspond à ton duron, comme si c'était un duron...


va me faire installer au moins 4 fois un systeme complet sur le P4 !

Donc apres avoir (essaye) de comprendre le man d'emerge, de make.conf et des packages binaires, et avoir parcouru le handbook sur les cross compilation, je me disais d'installer uniquement 3 portages distincts, avec les make.conf associes, et de passer de l'un a l'autre grace a PORTAGE_CONFIGROOT ou --config-root.

Pour les charger sur les clients, je passerai par PORTAGE_BINHOST ... sauf que je n'ai pas compris comment lui indiquer comment taper sur un portage ou un autre :? En clair, s'ils sont stoques dans /data/portages/486, PI et PII, que dois-je mettre dans cette variable ?

Pis PORTAGE_BINHOST_HEADER_URI m'est totalement obscure. En ai-je besoin ????
Back to top
View user's profile Send private message
xaviermiller
Administrator
Administrator


Joined: 23 Jul 2004
Posts: 7965
Location: ~Brussels - Belgique

PostPosted: Tue Aug 02, 2011 8:01 am    Post subject: Reply with quote

Non, tu n'as besoin que d'une installation en "generic" i686. Mets comme CFLAGS "-march=generic" et ça compilera pour i686.
Tu génères les paquets binaires avec ton Duron, et les utilise sur les autres machines.

Si elles sont VRAIMENT trop lentes pour déployer les paquets, crée un chroot dans ton Duron, et tar / untar ce chroot.
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum