[gentoo-user-fr] Gentoo et boot PXE

Le
Sylvain TENOU
=_Part_177591_16934092.1182427280025
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Bonjour à tous,

Voilà, hier, j'ai passé la journée à tenter de monter un PC servant=
de
serveur DHCP et fournissant un service pour le boot PXE (par simple envie
d'apprendre de nouvelles choses :]).
Pour cela j'ai suivi le tuto à l'adresse :
http://fr.gentoo-wiki.com/HOWTO_Installation_de_Gentoo_sans_disque_dur

Apparemment le serveur DHCP marche bien car le postes client arrive à
recevoir l'adresse qui lui est attribuée dans la config de dhcpd.conf.
Le problème, est que dès que la connexion se
passe, le poste client renvoi en boucle une erreure du style "RX ERROR 0000=
",
du côté du serveur
j'ai juste une information comme quoi il traite le fichier "pxegrub" (voir
howto en lien), et bien entendu, aucun log n'est révélateur d'une quelc=
onque
erreure

Le "RX
ERROR" me fait penser au "RX" lorsqu'on fait un "ifconfig", je
pencherai donc pour une erreure du client, au niveau du téléchargement
du fichier,
mais je ne vois pas à quel niveau
précisément, au niveau de TFTP, BOOTP, ou encore NFS?

Quelqu'un aurait-il une idée du problème, ou ayant un début de recher=
che
précédemment effectuée sur le même problème?

Merci d'avance,

--
Cordialement,
Sylvain TENOU.

=_Part_177591_16934092.1182427280025
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Bonjour à tous,<br><br>Voilà, hier, j&#39;ai passé la journée à t=
enter de monter un PC servant de serveur DHCP et fournissant un service pou=
r le boot PXE (par simple envie d&#39;apprendre de nouvelles choses :]).<br=
>Pour cela j&#39;ai suivi le tuto&nbsp;à&nbsp;l&#39;adresse&nbsp;:&nbsp;
<a href="http://fr.gentoo-wiki.com/HOWTO_Installation_de_Gentoo_sans_disq=
ue_dur">http://fr.gentoo-wiki.com/HOWTO_Installation_de_Gentoo_sans_disque_=
dur</a><br> <br>Apparemment le serveur DHCP marche bien car le postes clien=
t arrive à recevoir l&#39;adresse qui lui est attribuée dans la config =
de
dhcpd.conf.<br>Le problème, est que dès que la connexion se passe,&nbsp=
;le&nbsp;poste&nbsp;client&nbsp;renvoi&nbsp;en&nbsp;boucle&nbsp;une&nbsp;er=
reure&nbsp;du&nbsp;style&nbsp;&quot;RX&nbsp;ERROR&nbsp;0000&quot;, du côt=
é du serveur<br>j&#39;ai juste une information comme quoi il traite le fi=
chier &quot;pxegrub&quot; (voir howto en lien), et bien entendu, aucun log =
n&#39;est révélateur d&#39;une quelconque erreure
<br><br>Le &quot;RX ERROR&quot;&nbsp;me&nbsp;fait&nbsp;penser&nbsp;au&nbsp;=
&quot;RX&quot;&nbsp;lorsqu&#39;on&nbsp;fait&nbsp;un&nbsp;&quot;ifconfig&quo=
t;,&nbsp;je&nbsp;pencherai&nbsp;donc&nbsp;pour&nbsp;une&nbsp;erreure&nbsp;d=
u&nbsp;client,&nbsp;au&nbsp;niveau&nbsp;du&nbsp;téléchargement&nbsp;du&=
nbsp;fichier,<br> mais je ne vois pas&nbsp;à&nbsp;quel&nbsp;niveau préc=
isément,&nbsp;au&nbsp;niveau&nbsp;de&nbsp;TFTP,&nbsp;BOOTP,&nbsp;ou&nbsp;=
encore&nbsp;NFS?
<br> <br>Quelqu&#39;un aurait-il une idée du problème, ou ayant un dé=
but de recherche précédemment effectuée sur le même problème?<br>=
<br>Merci d&#39;avance,<br clear="all"><br>-- <br>Cordialement,<br>Sylvai=
n TENOU.

=_Part_177591_16934092.1182427280025--
--
gentoo-user-fr@gentoo.org mailing list
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
polytan
Le #7803251
------=_Part_193176_24856327.1182429540589
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Le 21/06/07, Sylvain TENOU

Bonjour à tous,

Voilà, hier, j'ai passé la journée à tenter de monter un PC serva nt de
serveur DHCP et fournissant un service pour le boot PXE (par simple envie
d'apprendre de nouvelles choses :]).
Pour cela j'ai suivi le tuto à l'adresse : http://fr.gentoo-wiki.com/H OWTO_Installation_de_Gentoo_sans_disque_dur


Apparemment le serveur DHCP marche bien car le postes client arrive à
recevoir l'adresse qui lui est attribuée dans la config de dhcpd.conf.
Le problème, est que dès que la connexion se
passe, le poste client renvoi en boucle une erreure du style "RX ERROR 00 00",
du côté du serveur
j'ai juste une information comme quoi il traite le fichier "pxegrub" (voi r
howto en lien), et bien entendu, aucun log n'est révélateur d'une que lconque
erreure...

Le "RX
ERROR" me fait penser au "RX" lorsqu'on fait un "ifconfig", je pencherai donc pour une erreure du client, au niveau du téléchargement du fichier ,
mais je ne vois pas à quel niveau
précisément, au niveau de TFTP, BOOTP, ou encore NFS?

Quelqu'un aurait-il une idée du problème, ou ayant un début de rech erche
précédemment effectuée sur le même problème?

Merci d'avance,

--
Cordialement,
Sylvain TENOU.






--

J'ai déja fait cela lors de la mise en place d'un cluster openmosix (comm e
toi, pour apprendre :) )

Peux-tu donner la config que tu as pour le dhcp ? Je viens de parcourir le
HOWTO et je crois qu'il manque quelque options.

vendor-option-space PXE;

# Au moins une des options PXE spécifiques au vendeur doit être
# paramétrée afin que les ROM du client de démarrage réalisent que
# nous utilisons un serveur adhérant à PXE. L'adresse IP MCAST est réglée à
# 0.0.0.0 afin de dire au ROM de démarrage que la multidiffusion TFTP n'est
# pas supportée.

option PXE.mtftp-ip 0.0.0.0;

# Ceci est le nom du fichier que les ROM de démarrage doivent tél écharger.
filename "pxelinux.0";


( Je me suis basé, à l'époque, sur le howto gentoo diskless
http://www.gentoo.org/doc/fr/diskless-howto.xml (Il a surement évolué d epuis
le temps))

Cependant, je n'ai jamais utilisé pxegrub mais pxelinux.cfg

-=( Polytan )=-

------=_Part_193176_24856327.1182429540589
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Bonjour à tous, </a><br> <br>Apparemment le serveur DHCP marche bien car le postes client a rrive à recevoir l&#39;adresse qui lui est attribuée dans la config de
dhcpd.conf.<br>Le problème, est que dès que la connexion se passe,&nbsp ;le&nbsp;poste&nbsp;client&nbsp;renvoi&nbsp;en&nbsp;boucle&nbsp;une&nbsp;er reure&nbsp;du&nbsp;style&nbsp;&quot;RX&nbsp;ERROR&nbsp;0000&quot;, du côt é du serveur<br>j&#39;ai juste une information comme quoi il traite le fi chier &quot;pxegrub&quot; (voir howto en lien), et bien entendu, aucun log n&#39;est révélateur d&#39;une quelconque erreure...
<br><br>Le &quot;RX ERROR&quot;&nbsp;me&nbsp;fait&nbsp;penser&nbsp;au&nbsp; &quot;RX&quot;&nbsp;lorsqu&#39;on&nbsp;fait&nbsp;un&nbsp;&quot;ifconfig&quo t;,&nbsp;je&nbsp;pencherai&nbsp;donc&nbsp;pour&nbsp;une&nbsp;erreure&nbsp;d u&nbsp;client,&nbsp;au&nbsp;niveau&nbsp;du&nbsp;téléchargement&nbsp;du& nbsp;fichier,<br> mais je ne vois pas&nbsp;à&nbsp;quel&nbsp;niveau préc isément,&nbsp;au&nbsp;niveau&nbsp;de&nbsp;TFTP,&nbsp;BOOTP,&nbsp;ou&nbsp; encore&nbsp;NFS?
<br> <br>Quelqu&#39;un aurait-il une idée du problème, ou ayant un dé but de recherche précédemment effectuée sur le même problème?<br> <br>Merci d&#39;avance,<br clear="all"><br>-- <br>Cordialement,<br><span> Sylvain TENOU.
</span></blockquote></div><br><br clear="all"><br>-- <br><br>J&#39;ai d éja fait cela lors de la mise en place d&#39;un cluster openmosix (comme toi, pour apprendre :) )<br><br>Peux-tu donner la config que tu as pour le dhcp ? Je viens de parcourir le HOWTO et je crois qu&#39;il manque quelque options.
<br><pre> vendor-option-space PXE;<br><br> # Au moins une des options PXE spécifiques au vendeur doit être<br> # paramétrée afin que les ROM du client de démarrage réalisent que<br> # nous utilisons un serveur adhérant à PXE. L&#39;adresse IP MCAST est réglée à
Je me suis basé, à l&#39;époque, sur le howto gentoo diskless
------=_Part_193176_24856327.1182429540589--
--
mailing list
polytan
Le #7803241
------=_Part_193848_1732501.1182431385501
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Le 21/06/07, polytan



Le 21/06/07, Sylvain TENOU >
> Bonjour à tous,
>
> Voilà, hier, j'ai passé la journée à tenter de monter un PC ser vant de
> serveur DHCP et fournissant un service pour le boot PXE (par simple env ie
> d'apprendre de nouvelles choses :]).
> Pour cela j'ai suivi le tuto à l'adresse : http://fr.gentoo-wiki.com /HOWTO_Installation_de_Gentoo_sans_disque_dur
>
>
> Apparemment le serveur DHCP marche bien car le postes client arrive à
> recevoir l'adresse qui lui est attribuée dans la config de dhcpd.conf .
> Le problème, est que dès que la connexion se
> passe, le poste client renvoi en boucle une erreure du style "RX ERROR 0000",
> du côté du serveur
> j'ai juste une information comme quoi il traite le fichier "pxegrub"
> (voir howto en lien), et bien entendu, aucun log n'est révélateur d 'une
> quelconque erreure...
>
> Le "RX
> ERROR" me fait penser au "RX" lorsqu'on fait un "ifconfig", je penchera i donc pour une erreure du client, au niveau du téléchargement du fichi er,
> mais je ne vois pas à quel niveau
> précisément, au niveau de TFTP, BOOTP, ou encore NFS?
>
> Quelqu'un aurait-il une idée du problème, ou ayant un début de re cherche
> précédemment effectuée sur le même problème?
>
> Merci d'avance,
>
> --
> Cordialement,
> Sylvain TENOU.




J'ai recherché dans mes fichiers et voila les fichiers de conf que
j'utilisais :
dhcpd.conf :

# Fichier de configuration DHCP pour DHCP ISC 3.0

ddns-update-style none;


allow booting;
allow bootp;
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.32.0 netmask 255.255.255.0 {
next-server 192.168.32.64;
filename "pxelinux.0";
option subnet-mask 255.255.255.0;
range 192.168.32.1 192.168.32.1;
# option routers 192.168.32.64;
# option root-path "/mnt/nodes/192.168.32.1";
# server-name "gentoo";

}
pxelinux.cfg/default :

LABEL 1
KERNEL kernel-2.4.30-om-r3-2
APPEND ip=dhcp root=/dev/nfs
nfsroot2.168.32.64:/mnt/nodes/192.168.32.1 vgax8

Dans cette méthode, la machine cliente attend un numéro au prompt (de
1 à x) pour savoir quel dossier racine monter par nfs .

Comme dans la configuration dhcp, on peut aussi spécifier un
"root-path" pour chaque machine.
J'avais récupéré les adresses mac de chaque machine puis spécifier
quoi faire au boot pour chaque adresse mac.

Tout dépend du control que tu veux avoir et de la séquence de boot rech erchée.

pour créer les nodes, j'avais une partition /mnt/nodes dans laquelle
j'avais la racine de chacune des machines clientes
comme /mnt/nodes/192.168.32.1 ... /mnt/nodes/192.168.32.254

j'avais dans ces dossiers tres peu de fichiers (32Mo je crois) qui ne
servait que lors du démarrage du noayu.

Ensuite, je montais un /usr commum à toutes les machines clientes.

Seuls les dossiers /var, /sys et /proc doivent être individuels.

J'ai aussi du modifier l'ordre de démarrage des scripts pour démarrer
le réseau avant le reste vu que /usr est monté par nfs.

Tout marchais sans erreur au boot. C'est lors de l'arret que ca
paraissait moins ... propre :)

Si tu arrives a avoir un beau démarrage et un arrêt propre, je suis
intéressé... :)



--

-=( Polytan )=-

------=_Part_193848_1732501.1182431385501
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Bonjour à tous, </a><br> <br>Apparemment le serveur DHCP marche bien car le postes client a rrive à recevoir l&#39;adresse qui lui est attribuée dans la config de
dhcpd.conf.<br>Le problème, est que dès que la connexion se passe,&nbsp ;le&nbsp;poste&nbsp;client&nbsp;renvoi&nbsp;en&nbsp;boucle&nbsp;une&nbsp;er reure&nbsp;du&nbsp;style&nbsp;&quot;RX&nbsp;ERROR&nbsp;0000&quot;, du côt é du serveur<br>j&#39;ai juste une information comme quoi il traite le fi chier &quot;pxegrub&quot; (voir howto en lien), et bien entendu, aucun log n&#39;est révélateur d&#39;une quelconque erreure...
<br><br>Le &quot;RX ERROR&quot;&nbsp;me&nbsp;fait&nbsp;penser&nbsp;au&nbsp; &quot;RX&quot;&nbsp;lorsqu&#39;on&nbsp;fait&nbsp;un&nbsp;&quot;ifconfig&quo t;,&nbsp;je&nbsp;pencherai&nbsp;donc&nbsp;pour&nbsp;une&nbsp;erreure&nbsp;d u&nbsp;client,&nbsp;au&nbsp;niveau&nbsp;du&nbsp;téléchargement&nbsp;du& nbsp;fichier,<br> mais je ne vois pas&nbsp;à&nbsp;quel&nbsp;niveau préc isément,&nbsp;au&nbsp;niveau&nbsp;de&nbsp;TFTP,&nbsp;BOOTP,&nbsp;ou&nbsp; encore&nbsp;NFS?
<br> <br>Quelqu&#39;un aurait-il une idée du problème, ou ayant un dé but de recherche précédemment effectuée sur le même problème?<br> <br>Merci d&#39;avance,<br clear="all"><br>-- <br>Cordialement,<br><span> Sylvain TENOU.
255.255.255.0 192.168.32.1 Tout marchais sans erreur au boot. C&#39;est lors de l&#39;arret que ca par aissait moins ... propre :) <br>-- <br><br>&nbsp;&nbsp;-=( Polytan )=-

------=_Part_193848_1732501.1182431385501--
--
mailing list
Sylvain TENOU
Le #7803231
------=_Part_179233_11505639.1182432858572
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Le 21/06/07, polytan
J'ai recherché dans mes fichiers et voila les fichiers de conf que
j'utilisais :
dhcpd.conf :

# Fichier de configuration DHCP pour DHCP ISC 3.0

ddns-update-style none;


allow booting;
allow bootp;
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.32.0 netmask 255.255.255.0 {
next-server 192.168.32.64;
filename "pxelinux.0";
option subnet-mask 255.255.255.0;
range 192.168.32.1 192.168.32.1;
# option routers 192.168.32.64;
# option root-path "/mnt/nodes/192.168.32.1";
# server-name "gentoo";

}
pxelinux.cfg/default :

LABEL 1
KERNEL kernel-2.4.30-om-r3-2
APPEND ip=dhcp root=/dev/nfs nfsroot2.168.32.64:/mnt/nodes/192.1 68.32.1 vgax8

Dans cette méthode, la machine cliente attend un numéro au prompt (de 1 à x) pour savoir quel dossier racine monter par nfs .

Comme dans la configuration dhcp, on peut aussi spécifier un "root-path " pour chaque machine.
J'avais récupéré les adresses mac de chaque machine puis spécifie r quoi faire au boot pour chaque adresse mac.

Tout dépend du control que tu veux avoir et de la séquence de boot re cherchée.

pour créer les nodes, j'avais une partition /mnt/nodes dans laquelle j' avais la racine de chacune des machines clientes
comme /mnt/nodes/192.168.32.1 ... /mnt/nodes/192.168.32.254

j'avais dans ces dossiers tres peu de fichiers (32Mo je crois) qui ne ser vait que lors du démarrage du noayu.

Ensuite, je montais un /usr commum à toutes les machines clientes.

Seuls les dossiers /var, /sys et /proc doivent être individuels.

J'ai aussi du modifier l'ordre de démarrage des scripts pour démarrer le réseau avant le reste vu que /usr est monté par nfs.

Tout marchais sans erreur au boot. C'est lors de l'arret que ca paraissa it moins ... propre :)

Si tu arrives a avoir un beau démarrage et un arrêt propre, je suis i ntéressé... :)



--

-=( Polytan )=-




Merci pour tout ces renseignements! Je penses repartir de zéro et utilise r
le tuto que tu as donné en lien, après l'avoir parcourut rapidement je le
trouve plus clair que celui que j'ai suivi qui est assez obscur sur certain
point. :)

Merci de ton aide, et des configurations que tu m'as fournis, je te tiens a u
courant si j'ai des problèmes, et si j'arrive à faire un démarrage/ar rêt
plus "propre" ;).

--
Cordialement,
Sylvain TENOU.

------=_Part_179233_11505639.1182432858572
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

J&#39;ai recherché dans mes fichiers et voila les fichiers de conf que j& #39;utilisais : allow bootp; 255.255.255.0 192.168.32.1 192.168.32.64 192.168.32.64:/mnt/nodes/192.168.32.1 vgax8 Tout marchais sans erreur au boot. C&#39;est lors de l&#39;arret que ca pa raissait moins ... propre :) <br>-- <br><span class="sg"><br>&nbsp;&nbsp;-=( Polytan )=- </span></ blockquote></div><br>Merci pour tout ces renseignements! Je penses repartir de zéro et utiliser le tuto que tu as donné en lien, après l&#39;avo ir parcourut rapidement je le trouve plus clair que celui que j&#39;ai suiv i qui est assez obscur sur certain point. :)
Cordialement,
------=_Part_179233_11505639.1182432858572--
--
mailing list
polytan
Le #7803221
------=_Part_194813_16179372.1182433665235
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Si tu es intéressé, j'ai fait quelques scripts (sales, je découvrais le
python) pour s'implifier l'installation des machines clientes (nodes). Il
faut modifier quelques fichiers dans /etc comme hostname etc.

C'est marrant, je trouve que ton howto est bien plus sympa que le mien :)

Le pricipe général est celui-ci :

Serveur :
dhcp
tftp
nfs

Clients :
pxeboot
dhcp
nfs

Amitiés,

Maxime BILHAUD

------=_Part_194813_16179372.1182433665235
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Si tu es intéressé, j&#39;ai fait quelques scripts (sales, je découvr ais le python) pour s&#39;implifier l&#39;installation des machines cliente s (nodes). Il faut modifier quelques fichiers dans /etc comme hostname etc. <br>
<br>C&#39;est marrant, je trouve que ton howto est bien plus sympa que le m ien :)<br><br>Le pricipe général est celui-ci :<br><br>Serveur :<br>&nb sp;&nbsp; dhcp<br>&nbsp;&nbsp; tftp<br>&nbsp;&nbsp; nfs<br><br>Clients :<br >&nbsp;&nbsp; pxeboot<br>&nbsp;&nbsp; dhcp<br>&nbsp;&nbsp; nfs
<br><br>Amitiés,<br><br>Maxime BILHAUD<br><br><br>

------=_Part_194813_16179372.1182433665235--
--
mailing list
Sylvain TENOU
Le #7803211
------=_Part_189318_11555368.1182459572726
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Le 21/06/07, polytan


J'ai recherché dans mes fichiers et voila les fichiers de conf que
j'utilisais :
dhcpd.conf :

# Fichier de configuration DHCP pour DHCP ISC 3.0

ddns-update-style none;


allow booting;
allow bootp;
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.32.0 netmask 255.255.255.0 {
next-server 192.168.32.64;
filename "pxelinux.0";
option subnet-mask 255.255.255.0;
range 192.168.32.1 192.168.32.1;
# option routers 192.168.32.64;
# option root-path "/mnt/nodes/192.168.32.1";
# server-name "gentoo";

}
pxelinux.cfg/default :

LABEL 1
KERNEL kernel-2.4.30-om-r3-2
APPEND ip=dhcp root=/dev/nfs nfsroot2.168.32.64:/mnt/nodes/192.1 68.32.1 vgax8

Dans cette méthode, la machine cliente attend un numéro au prompt (de 1 à x) pour savoir quel dossier racine monter par nfs .

Comme dans la configuration dhcp, on peut aussi spécifier un "root-path " pour chaque machine.
J'avais récupéré les adresses mac de chaque machine puis spécifie r quoi faire au boot pour chaque adresse mac.

Tout dépend du control que tu veux avoir et de la séquence de boot re cherchée.

pour créer les nodes, j'avais une partition /mnt/nodes dans laquelle j' avais la racine de chacune des machines clientes
comme /mnt/nodes/192.168.32.1 ... /mnt/nodes/192.168.32.254

j'avais dans ces dossiers tres peu de fichiers (32Mo je crois) qui ne ser vait que lors du démarrage du noayu.

Ensuite, je montais un /usr commum à toutes les machines clientes.

Seuls les dossiers /var, /sys et /proc doivent être individuels.

*J'ai aussi du modifier l'ordre de démarrage des scripts pour démarre r le réseau avant le reste vu que /usr est monté par nfs.*

Tout marchais sans erreur au boot. C'est lors de l'arret que ca paraissa it moins ... propre :)

Si tu arrives a avoir un beau démarrage et un arrêt propre, je suis i ntéressé... :)



--

-=( Polytan )=-





Bonsoir,

J'ai passé ma soirée à mettre en place le tuto que tu m'as donné au départ.
Après quelque péripéties (entre autre, compilation d'un noyau >2.6.19
parce qu'il posait problème, et pas qu'à moi d'après ce que j'ai lu),
j'ai enfin réussi à faire démarrer mon PC par PXE! :]
Ça soulage d'y arriver enfin! :)

Mais maintenant, j'ai toujours le problème du montage de /usr au début de la
séquence de boot :/.
À vrai dire, pour cela j'ai pas encore très bien saisi le système :-S ...

Pourrais-tu m'expliquer ce que tu as
modifié, et les conséquences de ces modifications (s'il y en a d'autre que
le démarrage du réseau en premier), pour avoir le démarrage du rése au
avant le reste de la séquence de boot?

Merci d'avance.


PS : Et bien au moins j'aurai bien avancé aujourd'hui! :) Merci grandemen t à
toi! :)

--
Cordialement,
Sylvain TENOU.

------=_Part_189318_11555368.1182459572726
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

3.0 192.168.32.0 192.168.32.64 192.168.32.1 192.168.32.64 192.168.32.64:/mnt/nodes/192.168.32.1 vgax8 2.6.19&nbsp;parce&nbsp;qu&#39;il&nbsp;posait&nbsp;problème,&nbsp;et&nbsp; pas&nbsp;qu&#39;à&nbsp;moi&nbsp;d&#39;après&nbsp;ce&nbsp;que&nbsp;j&#39 ;ai&nbsp;lu), j&#39;ai enfin réussi à faire démarrer mon PC par PXE! :]<br>Ça soulage d&#39;y arriver enfin! :)<br><br>Mais maintenant, j&#39; ai toujours le problème du montage de /usr au début de la séquence de boot :/.

------=_Part_189318_11555368.1182459572726--
--
mailing list
polytan
Le #7803201
------=_Part_214596_31964550.1182495140195
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Bonsoir,




Bonjour à toi :-)

J'ai passé ma soirée à mettre en place le tuto que tu m'as donné au départ.


Je crois avoir aussi passé plusieurs soirées à le faire marcher...

Après quelque péripéties (entre autre, compilation d'un noyau > 2.6.1 9


Pourquoi pas le dernier stable ? (2.6.20 je crois)

parce qu'il posait problème, et pas qu'à moi d'après ce que j'ai lu) , j'ai
enfin réussi à faire démarrer mon PC par PXE! :]
Ça soulage d'y arriver enfin! :)




Je te comprends, ca me fait pareil à chaque fois et je crois que je vais
recommencer dès la semaine prochaine.

Mais maintenant, j'ai toujours le problème du montage de /usr au début de la
séquence de boot :/.




Oui, ca permet d'avoir un /usr de la taille que tu veux, commun à toutes les
machines et après de copier quelques 30-32 Mo pour les clients et de les
personnaliser.

À vrai dire, pour cela j'ai pas encore très bien saisi le système :-S ...


Il faut jouer avec les scripts au démarrage et avoir bien fait le fstab.

Pourrais-tu m'expliquer ce que tu as
modifié, et les conséquences de ces modifications (s'il y en a d'autr e que
le démarrage du réseau en premier), pour avoir le démarrage du ré seau
avant le reste de la séquence de boot?

Merci d'avance.




Bon, mettons les choses au clair : j'ai quelques scripts, mais...ce fut au
debut de ma connaissance de python et des fois, ben...c'est pas tres fun :)

J'ai fait dans un dossier une gentoo complète pour les machines clientes.
cela se trouvait dans /mnt/systeme_racine/ (une partition à part, mais ca ne
change pas grand chose à part booter dessus pour voir que ca marche sans
bidouiller :) )
les machines clientes sont dans /mnt/nodes/.
Pour chaque clients sont créés un dossier portant leur numéro ip (pou r m'y
retrouver) et sont copié les fichiers necessaires.
je copie : /bin /sbin /usr/share/consolefont,consoletrans... (necesaire au
boot, on remontera /usr par dessus), /lib, /etc et /root
voila les scripts :

On prépare le terrain, j'ai plein de petits scripts pour tout préparer pour
les nodes (comment ca je suis une feignasse qui déteste les oéprations
répétitives ? :) )

faire_des_nodes.py

# -*- coding:UTF-8 -*-
from creer_repertoires import rep
from etcnodes import etc,hosts,dev,fastboot,perm
from copier_fichiers import copier_fichiers
from os import system,chdir
from fstab import fstab

nb = 12


# on crée les répertoires de base
rep(nb)

# On copie les fichiers pour que ca puisse démarrer
copier_fichiers(nb)

# On spécifie le etc pour chaque nodes :
# /etc/conf.d/net
# /etc/conf.d/hostname
# /etc/hosts
# /etc/fstab
etc(nb)
hosts(nb)
fstab(nb)
dev(nb)
fastboot(nb)
perm(nb)

Création des répertoires pour ensuite copier les fichiers dedans (oui,
j'aurais pu tout mettre dans un même scripts, mais pour les modif au
compte-goutte, c'est plus simple)

copier_repertoires.py

# -*- coding:UTF-8 -*-
# On crée les nodes pour booter le réseau

from os import chdir,mkdir

def rep(nb):
for i in range(1,nb+1,1):
chdir('/mnt/nodes')
rep = '192.168.32.' + str(i)
mkdir(rep)
liste =
['etc','home','home/emcc','dev','proc','sys','tmp','mnt','root','var','usr' ,'opt','mfs']
listvar = ['empty','lock','log','run','spool','tmp']
listusr =
['bin','sbin','share','share/consolefonts','share/consoletrans','share/keym aps','share/zoneinfo','share/locale','share/locale/fr']
for j in liste:
mkdir('%s/%s' % (rep,j))
mkdir('%s/etc/conf.d' % (rep))
for j in listvar:
mkdir('%s/var/%s' % (rep,j))
for j in listusr:
mkdir('%s/usr/%s' % (rep,j))

préparation de /etc :

etcnodes.py

# -*- coding:UTF-8 -*-
# On configure le dossier etc des nodes
from os import system,mkdir,chdir

def etc(nb):
for i in range(1,nb+1,1):
ip = '192.168.32.' + str(i)
# system('touch /mnt/nodes/%s/etc/conf.d/net' % (ip))
# system('touch /mnt/nodes/%s/etc/conf.d/hostname' % (ip))
chdir('/mnt/nodes/%s/etc/conf.d' % (ip))
# f = open('net','w')
# t = 'iface_eth0="%s broadcast 192.168.255.255 netmask
255.255.255.0"n'
% (ip)
# f.write(t)
# f.close()
f = open('hostname','w')
node = 'node' + str(i)
t = 'HOSTNAME="%s"n' % (node)
f.write(t)
f.close()

def hosts(nb):
for i in range(1,nb+1,1):
ipi = '192.168.32.' + str(i)
# system('touch /mnt/nodes/%s/etc/hosts' % ipi)
chdir('/mnt/nodes/%s/etc' % ipi)
f = open('hosts','w')
node = 'node' + str(i)
t1 = '127.0.0.1 localhost %s n' % node
f.write(t1)
for j in range(1,nb+1,1):
ip = '192.168.32.' + str(j)
nodej = 'node' + str(j)
t = '%s %sn' % (ip,nodej)
f.write(t)
f.close()

def dev(nb):
for i in range(1,nb+1,1):
ip = '192.168.32.' + str(i)
system('mknod /mnt/nodes/%s/dev/console c 5 1' % ip)

def fastboot(nb):
for i in range(1,nb+1,1):
ip = '192.168.32.' + str(i)
system('touch /mnt/nodes/%s/fastboot' % ip)
system('echo "touch /fastboot" >>
/mnt/nodes/%s/etc/conf.d/local.start' % ip)

def perm(nb):
for i in range(1,nb+1,1):
ip = '192.168.32.' + str(i)
system('chmod a+rw -R /mnt/nodes/%s' % ip)
system('chmod a-rw -R /mnt/nodes/%s/etc' % ip)
system('chmod +rw -R /mnt/nodes/%s/etc' % ip)
system('chmod 600 -R /mnt/nodes/%s/etc/ssh' % ip)
system('chmod a+rw -R /mnt/nodes/%s/var' % ip)
system('chmod 700 -R /mnt/nodes/%s/var' % ip)

dans ce script, il y a surement des choses qui ne te serviront à rien. Il
faut que tu saches que je faisais des grappes de calcul openmosix à cette
époque...

copier_fichiers.py

# -*- coding:UTF-8 -*-
# Copie des fichiers nécessaire au boot
from os import system,chdir

def copier_fichiers(nb):
for i in range(1,nb+1,1):
ip = '192.168.32.' + str(i)
system('rsync -avz /mnt/systeme_racine/bin /mnt/nodes/%s'%ip)
system('rsync -avz /mnt/systeme_racine/sbin /mnt/nodes/%s'%ip)
system('rsync -avz /mnt/systeme_racine/lib /mnt/nodes/%s'%ip)
system('rsync -avz /mnt/systeme_racine/etc /mnt/nodes/%s'%ip)
system('rsync -avz /mnt/systeme_racine/root /mnt/nodes/%s'%ip)
# system('rsync -avz /mnt/systeme_racine/usr/bin
/mnt/nodes/%s/usr/'%ip)
# system('rsync -avz /mnt/systeme_racine/usr/sbin
/mnt/nodes/%s/usr/'%ip)
system('rsync -avz /mnt/systeme_racine/usr/share/consolefonts
/mnt/nodes/%s/usr/share/'%ip)
system('rsync -avz /mnt/systeme_racine/usr/share/consoletrans
/mnt/nodes/%s/usr/share/'%ip)
system('rsync -avz /mnt/systeme_racine/usr/share/keymaps
/mnt/nodes/%s/usr/share/'%ip)
system('rsync -avz /mnt/systeme_racine/usr/share/zoneinfo
/mnt/nodes/%s/usr/share/'%ip)
system('rsync -avz /mnt/systeme_racine/usr/share/locale/fr
/mnt/nodes/%s/usr/share/locale'%ip)
system('rsync -avz /mnt/systeme_racine/sys /mnt/nodes/%s'%ip)

Et enfin, le fstab

Oui, oui, c'est fini après :)

fstab.py

# -*- coding:UTF-8 -*-
# Création du fstab des nodes

def fstab(nb):
for i in range(1,nb+1,1):
ip = '192.168.32.' + str(i)
f = open('/mnt/nodes/%s/etc/fstab' % ip,'w')
t = '192.168.32.64:/mnt/nodes/%s / nfs
sync,hard,intr,rw,nolock,rsize92,wsize92 0 0n' % ip
f.write(t)
t = '192.168.32.64:/mnt/systeme_racine/opt /opt nfs
auto,sync,hard,intr,ro,nolock,rsize92,wsize92 0 0n'
f.write(t)
t = '192.168.32.64:/mnt/systeme_racine/usr /usr nfs
auto,sync,hard,intr,ro,nolock,rsize92,wsize92 0 0n'
f.write(t)
t = '192.168.32.64:/home/emcc /home/emcc nfs
auto,sync,hard,intr,rw,nolock,rsize92,wsize92 0 0n'
f.write(t)
f.close()

et voila, les bases sont faites.

Pour ne faire qu'un client, met nb à 1 :)

Bon, un petit dernier pour la route :)

tftpboot_default.py

# -*- coding:UTF-8 -*-
# Création du fichier pxedefault.cfg/default en fonction du nombre de nod es

f = open('/mnt/nodes/pxelinux.cfg/default','w')
for i in range(1,13,1):
label = 'LABEL '+str(i)+'n'
ker = 'KERNEL kernel-2.4.30-om-r3 n'
ip = '192.168.32.' + str(i)
app = 'APPEND ip=dhcp root=/dev/nfs
nfsroot2.168.32.64:/mnt/nodes/%sn n' % (ip)
f.write(label)
f.write(ker)
f.write(app)
f.close()

mon /etc/export :

/mnt/nodes 192.168.32.0/255.255.255.0(rw,no_root_squash,no_all_squash,syn c)
/mnt/systeme_racine/opt
192.168.32.0/255.255.255.0(rw,no_root_squash,no_all_squash,sync)
/mnt/systeme_racine/usr
192.168.32.0/255.255.255.0(rw,no_root_squash,no_all_squash,sync)
/mnt/systeme_racine/home
192.168.32.0/255.255.255.0(ro,no_root_squash,no_all_squash,sync)



PS : Et bien au moins j'aurai bien avancé aujourd'hui! :) Merci grandemen t à
toi! :)




Mais de rien, tout est sous GPL, fais-en ce que tu veux tant que ca reste
GPL ;)

S'il y a du emcc quelque part, c'est rien, c'était le programme que je
faisais tourner.
om c'est pour open mosix

Pour le démarrage, tu verra dans un des scripts, je modifie le local.star t.

Il y a peut-etre (surement même) une facon plus simple de procéder. A
l'heure actuelle je ne sais pas.

Pour ce qui est de PXE, grub serait peut-être plus souple que pxelinux.
A voir.

Je suis parfois le soir sur jabber :

Si tu veux qu'on se recontre sur jabber, préviens moi, je verrais si je p eux
venir (pas ce weekend par contre)
Peut-être veux-tu rester en communication grâce à la liste de diffusi on,
pour qu'il y ait une trace, au choixe :)


--
Cordialement,




Amicalement,

Sylvain TENOU.


polytan

PS : désolé pour la lecture et le blabla, que de bons souvenirs :D

polytan


--

-=( Polytan )=-

------=_Part_214596_31964550.1182495140195
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Après quelque péripéties&nbsp;(entre&nbsp;autre,&nbsp;compilation&nbs p;d&#39;un&nbsp;noyau&nbsp;&gt;
2.6.19 &nbsp;parce&nbsp;qu&#39;il&nbsp;posait&nbsp;problème,&nbsp;et&nbsp;pas&nb sp;qu&#39;à&nbsp;moi&nbsp;d&#39;après&nbsp;ce&nbsp;que&nbsp;j&#39;ai&nb sp;lu), j&#39;ai enfin réussi à faire démarrer mon PC par PXE! :]<br> Ça soulage d&#39;y arriver enfin! :)</blockquote><div><br>Je te comprends , ca me fait pareil à chaque fois et je crois que je vais recommencer d ès la semaine prochaine.
À vrai dire, pour cela j&#39;ai pas encore très bien saisi le système :-S... Pourrais-tu m&#39;expliquer ce que tu as modifié,&nbsp;et&nbsp;les&nbsp; conséquences&nbsp;de&nbsp;ces&nbsp;modifications (s&#39;il y en a d&#39;a utre que le démarrage du réseau en premier), pour avoir le démarrage du réseau
<br>voila les scripts :<br><br>On prépare le terrain, j&#39;ai plein de p etits scripts pour tout préparer pour les nodes (comment ca je suis une f eignasse qui déteste les oéprations répétitives ? :) )<br><br style ="text-decoration: underline;">
<br>from os import system,chdir<br>from fstab import fstab<br><br>nb = 12 <br><br><br># on crée les répertoires de base<br>rep(nb)<br><br># On co pie les fichiers pour que ca puisse démarrer<br>copier_fichiers(nb)<br><b r># On spécifie le etc pour chaque nodes :
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; listvar = [&#39;empty&#39;,&#39 ;lock&#39;,&#39;log&#39;,&#39;run&#39;,&#39;spool&#39;,&#39;tmp&#39;]<br>&n bsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; listusr = [&#39;bin&#39;,&#39;sbin&#3 9;,&#39;share&#39;,&#39;share/consolefonts&#39;,&#39;share/consoletrans&#39 ;,&#39;share/keymaps&#39;,&#39;share/zoneinfo&#39;,&#39;share/locale&#39;,& #39;share/locale/fr&#39;]
192.168.32.&#39; + str(i) <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; system(&#39;chmod 600 -R /mnt/nod es/%s/etc/ssh&#39; % ip)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; system(&# 39;chmod a+rw -R /mnt/nodes/%s/var&#39; % ip)<br>&nbsp;&nbsp;&nbsp; &nbsp;& nbsp;&nbsp; system(&#39;chmod 700 -R /mnt/nodes/%s/var&#39; % ip)<br><br>da ns ce script, il y a surement des choses qui ne te serviront à rien. Il f aut que tu saches que je faisais des grappes de calcul openmosix à cette époque...
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/ systeme_racine/lib /mnt/nodes/%s&#39;%ip)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; system(&#39;rsync -avz /mnt/systeme_racine/etc /mnt/nodes/%s&# 39;%ip)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -av z /mnt/systeme_racine/root /mnt/nodes/%s&#39;%ip)
<br>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt /systeme_racine/usr/bin /mnt/nodes/%s/usr/&#39;%ip)<br>#&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/systeme_racine/usr/sbin /mnt/nodes/%s/usr/&#39;%ip)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/systeme_racine/usr/share/consolefonts /mnt/node s/%s/usr/share/&#39;%ip)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/ systeme_racine/usr/share/consoletrans /mnt/nodes/%s/usr/share/&#39;%ip)<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/syst eme_racine/usr/share/keymaps /mnt/nodes/%s/usr/share/&#39;%ip)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/syst eme_racine/usr/share/zoneinfo /mnt/nodes/%s/usr/share/&#39;%ip)<br>&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/systeme_raci ne/usr/share/locale/fr /mnt/nodes/%s/usr/share/locale&#39;%ip)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/syst eme_racine/sys /mnt/nodes/%s&#39;%ip) # -*- coding:UTF-8 -*- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;&nbsp;&nbsp; /home/emcc&nbsp;&nbsp;&nbsp; nfs&nbsp; auto,sync,hard,intr, rw,nolock,rsize92,wsize92&nbsp;&nbsp;&nbsp; 0 0n&#39; # Création du fichier pxedefault.cfg/default en fonction du nombre de nod es &nbsp;&nbsp;&nbsp; f.write(ker) 192.168.32.0/255.255.255.0(rw,no_root_squash,no_all_squash,sync) -- </span></blockquote></div><br>polytan<br><br>PS : désolé pour la lectur e et le blabla, que de bons souvenirs :D<br><br>polytan<br><br clear="all "><br>-- <br><br>&nbsp;&nbsp;-=( Polytan )=-

------=_Part_214596_31964550.1182495140195--
--
mailing list
Sylvain TENOU
Le #7803191
------=_Part_208131_7128177.1182539076968
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Le 22/06/07, polytan




> Bonsoir,


Bonjour à toi :-)

J'ai passé ma soirée à mettre en place le tuto que tu m'as donné au
> départ.


Je crois avoir aussi passé plusieurs soirées à le faire marcher...

Après quelque péripéties (entre autre, compilation d'un noyau > 2.6 .19


Pourquoi pas le dernier stable ? (2.6.20 je crois)

parce qu'il posait problème, et pas qu'à moi d'après ce que j'ai l u),
> j'ai enfin réussi à faire démarrer mon PC par PXE! :]
> Ça soulage d'y arriver enfin! :)


Je te comprends, ca me fait pareil à chaque fois et je crois que je vai s
recommencer dès la semaine prochaine.

Mais maintenant, j'ai toujours le problème du montage de /usr au débu t de
> la séquence de boot :/.


Oui, ca permet d'avoir un /usr de la taille que tu veux, commun à toute s
les machines et après de copier quelques 30-32 Mo pour les clients et d e les
personnaliser.

À vrai dire, pour cela j'ai pas encore très bien saisi le système : -S...


Il faut jouer avec les scripts au démarrage et avoir bien fait le fstab .

Pourrais-tu m'expliquer ce que tu as
> modifié, et les conséquences de ces modifications (s'il y en a d'au tre que
> le démarrage du réseau en premier), pour avoir le démarrage du r éseau
> avant le reste de la séquence de boot?
>
> Merci d'avance.


Bon, mettons les choses au clair : j'ai quelques scripts, mais...ce fut a u
debut de ma connaissance de python et des fois, ben...c'est pas tres fun :)

J'ai fait dans un dossier une gentoo complète pour les machines cliente s.
cela se trouvait dans /mnt/systeme_racine/ (une partition à part, mais ca
ne change pas grand chose à part booter dessus pour voir que ca marche sans
bidouiller :) )
les machines clientes sont dans /mnt/nodes/.
Pour chaque clients sont créés un dossier portant leur numéro ip (p our m'y
retrouver) et sont copié les fichiers necessaires.
je copie : /bin /sbin /usr/share/consolefont,consoletrans... (necesaire a u
boot, on remontera /usr par dessus), /lib, /etc et /root
voila les scripts :

On prépare le terrain, j'ai plein de petits scripts pour tout prépare r
pour les nodes (comment ca je suis une feignasse qui déteste les oépr ations
répétitives ? :) )

faire_des_nodes.py

# -*- coding:UTF-8 -*-
from creer_repertoires import rep
from etcnodes import etc,hosts,dev,fastboot,perm
from copier_fichiers import copier_fichiers
from os import system,chdir
from fstab import fstab

nb = 12


# on crée les répertoires de base
rep(nb)

# On copie les fichiers pour que ca puisse démarrer
copier_fichiers(nb)

# On spécifie le etc pour chaque nodes :
# /etc/conf.d/net
# /etc/conf.d/hostname
# /etc/hosts
# /etc/fstab
etc(nb)
hosts(nb)
fstab(nb)
dev(nb)
fastboot(nb)
perm(nb)

Création des répertoires pour ensuite copier les fichiers dedans (oui ,
j'aurais pu tout mettre dans un même scripts, mais pour les modif au
compte-goutte, c'est plus simple)

copier_repertoires.py

# -*- coding:UTF-8 -*-
# On crée les nodes pour booter le réseau

from os import chdir,mkdir

def rep(nb):
for i in range(1,nb+1,1):
chdir('/mnt/nodes')
rep = '192.168.32.' + str(i)
mkdir(rep)
liste =
['etc','home','home/emcc','dev','proc','sys','tmp','mnt','root','var','us r','opt','mfs']

listvar = ['empty','lock','log','run','spool','tmp']
listusr =
['bin','sbin','share','share/consolefonts','share/consoletrans','share/ke ymaps','share/zoneinfo','share/locale','share/locale/fr']

for j in liste:
mkdir('%s/%s' % (rep,j))
mkdir('%s/etc/conf.d' % (rep))
for j in listvar:
mkdir('%s/var/%s' % (rep,j))
for j in listusr:
mkdir('%s/usr/%s' % (rep,j))

préparation de /etc :

etcnodes.py

# -*- coding:UTF-8 -*-
# On configure le dossier etc des nodes
from os import system,mkdir,chdir

def etc(nb):
for i in range(1,nb+1,1):
ip = '192.168.32.' + str(i)
# system('touch /mnt/nodes/%s/etc/conf.d/net' % (ip))
# system('touch /mnt/nodes/%s/etc/conf.d/hostname' % (ip))
chdir('/mnt/nodes/%s/etc/conf.d' % (ip))
# f = open('net','w')
# t = 'iface_eth0="%s broadcast 192.168.255.255 netmask
255.255.255.0"n' % (ip)
# f.write(t)
# f.close()
f = open('hostname','w')
node = 'node' + str(i)
t = 'HOSTNAME="%s"n' % (node)
f.write(t)
f.close()

def hosts(nb):
for i in range(1,nb+1,1):
ipi = '192.168.32.' + str(i)
# system('touch /mnt/nodes/%s/etc/hosts' % ipi)
chdir('/mnt/nodes/%s/etc' % ipi)
f = open('hosts','w')
node = 'node' + str(i)
t1 = '127.0.0.1 localhost %s n' % node
f.write(t1)
for j in range(1,nb+1,1):
ip = '192.168.32.' + str(j)
nodej = 'node' + str(j)
t = '%s %sn' % (ip,nodej)
f.write(t)
f.close()

def dev(nb):
for i in range(1,nb+1,1):
ip = '192.168.32.' + str(i)
system('mknod /mnt/nodes/%s/dev/console c 5 1' % ip)

def fastboot(nb):
for i in range(1,nb+1,1):
ip = ' 192.168.32.' + str(i)
system('touch /mnt/nodes/%s/fastboot' % ip)
system('echo "touch /fastboot" >>
/mnt/nodes/%s/etc/conf.d/local.start' % ip)

def perm(nb):
for i in range(1,nb+1,1):
ip = '192.168.32.' + str(i)
system('chmod a+rw -R /mnt/nodes/%s' % ip)
system('chmod a-rw -R /mnt/nodes/%s/etc' % ip)
system('chmod +rw -R /mnt/nodes/%s/etc' % ip)
system('chmod 600 -R /mnt/nodes/%s/etc/ssh' % ip)
system('chmod a+rw -R /mnt/nodes/%s/var' % ip)
system('chmod 700 -R /mnt/nodes/%s/var' % ip)

dans ce script, il y a surement des choses qui ne te serviront à rien. Il
faut que tu saches que je faisais des grappes de calcul openmosix à cet te
époque...

copier_fichiers.py

# -*- coding:UTF-8 -*-
# Copie des fichiers nécessaire au boot
from os import system,chdir

def copier_fichiers(nb):
for i in range(1,nb+1,1):
ip = '192.168.32.' + str(i)
system('rsync -avz /mnt/systeme_racine/bin /mnt/nodes/%s'%ip)
system('rsync -avz /mnt/systeme_racine/sbin /mnt/nodes/%s'%ip)
system('rsync -avz /mnt/systeme_racine/lib /mnt/nodes/%s'%ip)
system('rsync -avz /mnt/systeme_racine/etc /mnt/nodes/%s'%ip)
system('rsync -avz /mnt/systeme_racine/root /mnt/nodes/%s'%ip)
# system('rsync -avz /mnt/systeme_racine/usr/bin
/mnt/nodes/%s/usr/'%ip)
# system('rsync -avz /mnt/systeme_racine/usr/sbin
/mnt/nodes/%s/usr/'%ip)
system('rsync -avz /mnt/systeme_racine/usr/share/consolefonts
/mnt/nodes/%s/usr/share/'%ip)
system('rsync -avz /mnt/systeme_racine/usr/share/consoletrans
/mnt/nodes/%s/usr/share/'%ip)
system('rsync -avz /mnt/systeme_racine/usr/share/keymaps
/mnt/nodes/%s/usr/share/'%ip)
system('rsync -avz /mnt/systeme_racine/usr/share/zoneinfo
/mnt/nodes/%s/usr/share/'%ip)
system('rsync -avz /mnt/systeme_racine/usr/share/locale/fr
/mnt/nodes/%s/usr/share/locale'%ip)
system('rsync -avz /mnt/systeme_racine/sys /mnt/nodes/%s'%ip)

Et enfin, le fstab

Oui, oui, c'est fini après :)

fstab.py

# -*- coding:UTF-8 -*-
# Création du fstab des nodes

def fstab(nb):
for i in range(1,nb+1,1):
ip = '192.168.32.' + str(i)
f = open('/mnt/nodes/%s/etc/fstab' % ip,'w')
t = '192.168.32.64:/mnt/nodes/%s / nfs
sync,hard,intr,rw,nolock,rsize92,wsize92 0 0n' % ip
f.write(t)
t = '192.168.32.64:/mnt/systeme_racine/opt /opt nfs
auto,sync,hard,intr,ro,nolock,rsize92,wsize92 0 0n'
f.write(t)
t = '192.168.32.64:/mnt/systeme_racine/usr /usr nfs
auto,sync,hard,intr,ro,nolock,rsize92,wsize92 0 0n'
f.write(t)
t = '192.168.32.64:/home/emcc /home/emcc nfs
auto,sync,hard,intr,rw,nolock,rsize92,wsize92 0 0n'
f.write(t)
f.close()

et voila, les bases sont faites.

Pour ne faire qu'un client, met nb à 1 :)

Bon, un petit dernier pour la route :)

tftpboot_default.py

# -*- coding:UTF-8 -*-
# Création du fichier pxedefault.cfg/default en fonction du nombre de
nodes

f = open('/mnt/nodes/pxelinux.cfg/default','w')
for i in range(1,13,1):
label = 'LABEL '+str(i)+'n'
ker = 'KERNEL kernel-2.4.30-om-r3 n'
ip = '192.168.32.' + str(i)
app = 'APPEND ip=dhcp root=/dev/nfs nfsroot=
192.168.32.64:/mnt/nodes/%s n n' % (ip)
f.write(label)
f.write(ker)
f.write(app)
f.close()

mon /etc/export :

/mnt/nodes 192.168.32.0/255.255.255.0(rw,no_root_squash,no_all_squash,s ync)
/mnt/systeme_racine/opt 192.168.32.0/255.255.255.0(rw,no_root_squash ,no_all_squash,sync)
/mnt/systeme_racine/usr 192.168.32.0/255.255.255.0(rw,no_root_squas h,no_all_squash,sync)
/mnt/systeme_racine/home 192.168.32.0/255.255.255.0(ro,no_root_squas h,no_all_squash,sync)



PS : Et bien au moins j'aurai bien avancé aujourd'hui! :) Merci grandem ent
> à toi! :)


Mais de rien, tout est sous GPL, fais-en ce que tu veux tant que ca reste
GPL ;)

S'il y a du emcc quelque part, c'est rien, c'était le programme que je
faisais tourner.
om c'est pour open mosix

Pour le démarrage, tu verra dans un des scripts, je modifie le local.st art
.

Il y a peut-etre (surement même) une facon plus simple de procéder. A
l'heure actuelle je ne sais pas.

Pour ce qui est de PXE, grub serait peut-être plus souple que pxelinux.
A voir.

Je suis parfois le soir sur jabber :

Si tu veux qu'on se recontre sur jabber, préviens moi, je verrais si je
peux venir (pas ce weekend par contre)
Peut-être veux-tu rester en communication grâce à la liste de diffu sion,
pour qu'il y ait une trace, au choixe :)


--
> Cordialement,


Amicalement,

Sylvain TENOU.


polytan




Bonsoir,

Eh bien le moins que l'on puisse dire c'est que pour avoir de l'aide j'en
ai! :)
Étant très fatigué ce soir, je ne penses pas y toucher avant demain, mais
promis, demain je m'y remets!
Je penses d'abord m'atteler à utiliser ce que tu m'as donné pour parven ir à
ce que je souhaite (un /usr au démarrage :]),
ensuite si j'y parviens d'une manière claire (je ne penses pas que ce ser a
le cas au premier essai, donc il va y avoir de
la réinstallation propre dans l'air ;]), je penses me lancer moi-même d ans
la réalisation de script d'automatisation en python
pour apprendre à manier python avec un exemple concret (je m'y suis mis
depuis 2 semaines), car python à un bonne
ressemblance avec PHP que je maîtrise depuis 4 ans, donc autant en profit er
pour avancer avec un truc utile :).

Pour la poursuite de la discussion je penses rester pour le moment avec la
liste pour en garder une trace réutilisable par
la suite, et si jamais les problèmes se font trop poussés je te prévi endrais
pour voir sur Jabber ;).

En tout cas, encore une fois, Merci! :]



PS : pour le blabla, c'est souvent une marque de convivialité, et je suis
très causant, donc cela ne me dérange pas ;).

--
Cordialement,
Sylvain TENOU.

------=_Part_208131_7128177.1182539076968
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

J&#39;ai passé ma soirée à mettre en place le tuto que tu m&#39;as do nné au départ. Après quelque péripéties&nbsp;(entre&nbsp;autre,&nbsp;compilation&nb sp;d&#39;un&nbsp;noyau&nbsp;&gt; 2.6.19 &nbsp;parce&nbsp;qu&#39;il&nbsp;posait&nbsp;problème,&nbsp;et&nbsp;pas&n bsp;qu&#39;à&nbsp;moi&nbsp;d&#39;après&nbsp;ce&nbsp;que&nbsp;j&#39;ai&n bsp;lu), j&#39;ai enfin réussi à faire démarrer mon PC par PXE! :]<br >Ça soulage d&#39;y arriver enfin! :)</blockquote></span><div><br>Je te c omprends, ca me fait pareil à chaque fois et je crois que je vais recomme ncer dès la semaine prochaine.
Mais maintenant, j&#39;ai toujours le problème du montage de /usr au dé but de la séquence de boot :/. </blockquote></span><div><br>Oui, ca perme t d&#39;avoir un /usr de la taille que tu veux, commun à toutes les machi nes et après de copier quelques 30-32 Mo pour les clients et de les perso nnaliser.
À vrai dire, pour cela j&#39;ai pas encore très bien saisi le systèm e :-S... Pourrais-tu m&#39;expliquer ce que tu as modifié,&nbsp;et&nbsp;les&nbsp ;conséquences&nbsp;de&nbsp;ces&nbsp;modifications (s&#39;il y en a d&#39; autre que le démarrage du réseau en premier), pour avoir le démarrage du réseau <br>avant le reste de la séquence de boot?
J&#39;ai fait dans un dossier une gentoo complète pour les machines clien tes.<br>cela se trouvait dans /mnt/systeme_racine/ (une partition à part, mais ca ne change pas grand chose à part booter dessus pour voir que ca marche sans bidouiller :) )
<br>voila les scripts :<br><br>On prépare le terrain, j&#39;ai plein de p etits scripts pour tout préparer pour les nodes (comment ca je suis une f eignasse qui déteste les oéprations répétitives ? :) )<br><br style ="text-decoration: underline">
<br>from os import system,chdir<br>from fstab import fstab<br><br>nb = 12 <br><br><br># on crée les répertoires de base<br>rep(nb)<br><br># On co pie les fichiers pour que ca puisse démarrer<br>copier_fichiers(nb)<br><b r># On spécifie le etc pour chaque nodes :
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; listvar = [&#39;empty&#39;,&#39 ;lock&#39;,&#39;log&#39;,&#39;run&#39;,&#39;spool&#39;,&#39;tmp&#39;]<br>&n bsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; listusr = [&#39;bin&#39;,&#39;sbin&#3 9;,&#39;share&#39;,&#39;share/consolefonts&#39;,&#39;share/consoletrans&#39 ;,&#39;share/keymaps&#39;,&#39;share/zoneinfo&#39;,&#39;share/locale&#39;,& #39;share/locale/fr&#39;]
192.168.255.255 192.168.32.&#39; + str(i)<br>#&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; system( &#39;touch /mnt/nodes/%s/etc/hosts&#39; % ipi)<br>&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; chdir(&#39;/mnt/nodes/%s/etc&#39; % ipi) <br>&nbsp;&nbsp;&nbsp ; &nbsp;&nbsp;&nbsp; f = open(&#39;hosts&#39;,&#39;w&#39;)<br>&nbsp;&nbsp ;&nbsp; &nbsp;&nbsp;&nbsp; node = &#39;node&#39; + str(i)
192.168.32.&#39; + str(i) <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; system(&#39;chmod 600 -R /mnt/nod es/%s/etc/ssh&#39; % ip)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; system(&# 39;chmod a+rw -R /mnt/nodes/%s/var&#39; % ip)<br>&nbsp;&nbsp;&nbsp; &nbsp;& nbsp;&nbsp; system(&#39;chmod 700 -R /mnt/nodes/%s/var&#39; % ip)<br><br>da ns ce script, il y a surement des choses qui ne te serviront à rien. Il f aut que tu saches que je faisais des grappes de calcul openmosix à cette époque...
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/ systeme_racine/lib /mnt/nodes/%s&#39;%ip)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; system(&#39;rsync -avz /mnt/systeme_racine/etc /mnt/nodes/%s&# 39;%ip)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -av z /mnt/systeme_racine/root /mnt/nodes/%s&#39;%ip)
<br>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt /systeme_racine/usr/bin /mnt/nodes/%s/usr/&#39;%ip)<br>#&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/systeme_racine/usr/sbin /mnt/nodes/%s/usr/&#39;%ip)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/systeme_racine/usr/share/consolefonts /mnt/node s/%s/usr/share/&#39;%ip)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/ systeme_racine/usr/share/consoletrans /mnt/nodes/%s/usr/share/&#39;%ip)<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/syst eme_racine/usr/share/keymaps /mnt/nodes/%s/usr/share/&#39;%ip)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/sys teme_racine/usr/share/zoneinfo /mnt/nodes/%s/usr/share/&#39;%ip)<br>&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/systeme_rac ine/usr/share/locale/fr /mnt/nodes/%s/usr/share/locale&#39;%ip)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/sys teme_racine/sys /mnt/nodes/%s&#39;%ip) # -*- coding:UTF-8 -*- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp; /home/emcc&nbsp;&nbsp;&nbsp; nfs&nbsp; auto,sync,hard,intr ,rw,nolock,rsize92,wsize92&nbsp;&nbsp;&nbsp; 0 0n&#39; 192.168.32.64:/mnt/nodes/%s n n&#39; % (ip) 192.168.32.0/255.255.255.0(rw,no_root_squash,no_all_squash,sync) 192.168.32.0/255.255.255.0(rw,no_root_squash,no_all_squash,sync) 192.168.32.0/255.255.255.0(rw,no_root_squash,no_all_squash,sync) 192.168.32.0/255.255.255.0(ro,no_root_squash,no_all_squash,sync) PS : Et bien au moins j&#39;aurai bien avancé aujourd&#39;hui! :) Merci g randement à toi! :) </blockquote></span><div><br>Mais de rien, tout est s ous GPL, fais-en ce que tu veux tant que ca reste GPL ;)<br><br>S&#39;il y a du emcc quelque part, c&#39;est rien, c&#39;était le programme que je f aisais tourner.
</a><br><br>Si tu veux qu&#39;on se recontre sur jabber, préviens moi, je verrais si je peux venir (pas ce weekend par contre) <b r>Peut-être veux-tu rester en communication grâce à la liste de diffu sion, pour qu&#39;il y ait une trace, au choixe :)
-- Étant très fatigué ce soir, je ne penses pas y toucher avant demain, mais promis, demain je m&#39;y remets!<br>Je penses d&#39;abord m&#39;attel er à utiliser ce que tu m&#39;as donné pour parvenir à ce que je souh aite (un /usr au démarrage :]),
<br>ensuite si j&#39;y parviens d&#39;une manière claire (je ne penses pa s que ce sera le cas au premier essai, donc il va y avoir de<br>la réinst allation propre dans l&#39;air ;]), je penses me lancer moi-même dans la réalisation de script d&#39;automatisation en python
<br>pour apprendre à manier python avec un exemple concret (je m&#39;y su is mis depuis 2 semaines), car python à un bonne<br>ressemblance avec PHP que je maîtrise depuis 4 ans, donc autant en profiter pour avancer avec un truc utile :).
<br><br>Pour la poursuite de la discussion je penses rester pour le moment avec la liste pour en garder une trace réutilisable par <br>la suite, et si jamais les problèmes se font trop poussés je te préviendrais pour voir sur Jabber ;).

------=_Part_208131_7128177.1182539076968--
--
mailing list
Publicité
Poster une réponse
Anonyme