Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[gentoo-user-fr] Gentoo et boot PXE

7 réponses
Avatar
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 =E0 tous,

Voil=E0, hier, j'ai pass=E9 la journ=E9e =E0 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 =E0 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 =E0
recevoir l'adresse qui lui est attribu=E9e dans la config de dhcpd.conf.
Le probl=E8me, est que d=E8s que la connexion se
passe, le poste client renvoi en boucle une erreure du style "RX ERROR 0000=
",
du c=F4t=E9 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=E9v=E9lateur 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=E9l=E9chargement
du fichier,
mais je ne vois pas =E0 quel niveau
pr=E9cis=E9ment, au niveau de TFTP, BOOTP, ou encore NFS?

Quelqu'un aurait-il une id=E9e du probl=E8me, ou ayant un d=E9but de recher=
che
pr=E9c=E9demment effectu=E9e sur le m=EAme probl=E8me?

Merci d'avance,

--=20
Cordialement,
Sylvain TENOU.

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

Bonjour =E0 tous,<br><br>Voil=E0, hier, j&#39;ai pass=E9 la journ=E9e =E0 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;=E0&nbsp;l&#39;adresse&nbsp;:&nbsp;
<a href=3D"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 =E0 recevoir l&#39;adresse qui lui est attribu=E9e dans la config =
de=20
dhcpd.conf.<br>Le probl=E8me, est que d=E8s 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=F4t=
=E9 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=E9v=E9lateur 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=E9l=E9chargement&nbsp;du&=
nbsp;fichier,<br> mais je ne vois pas&nbsp;=E0&nbsp;quel&nbsp;niveau pr=E9c=
is=E9ment,&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=E9e du probl=E8me, ou ayant un d=E9=
but de recherche pr=E9c=E9demment effectu=E9e sur le m=EAme probl=E8me?<br>=
<br>Merci d&#39;avance,<br clear=3D"all"><br>-- <br>Cordialement,<br>Sylvai=
n TENOU.=20

------=_Part_177591_16934092.1182427280025--
--
gentoo-user-fr@gentoo.org mailing list

7 réponses

Avatar
polytan
------=_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 a écrit :

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

<br><br><div><span class="gmail_quote">Le 21/06/07, <b class="gmail_sen dername">Sylvain TENOU</b> &lt;<a href="mailto:" t arget="_blank" onclick="return top.js.OpenExtLink(window,event,this)">t
</a>&gt; a écrit :</span><blockquote class="gmail_quote" style="borde r-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-le ft: 1ex;">
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" target="_blank" onclick="return top.js.OpenExtLink(window,event ,this)">http://fr.gentoo-wiki.com/HOWTO_Installation_de_Gentoo_sans_disque_ dur
</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 à
<br> # <a href="http://0.0.0.0">0.0.0.0</a&gt; afin de dire au ROM de d émarrage que la multidiffusion TFTP n&#39;est<br> # pas supportée.<b r><br> option PXE.mtftp-ip <a href="http://0.0.0.0">0.0.0.0</a&gt;;<br><b r> # Ceci est le nom du fichier que les ROM de démarrage doivent tél écharger.
<br> filename &quot;pxelinux.0&quot;;</pre><br>(
Je me suis basé, à l&#39;époque, sur le howto gentoo diskless <a href ="http://www.gentoo.org/doc/fr/diskless-howto.xml">http://www.gentoo.org/ doc/fr/diskless-howto.xml</a> (Il a surement évolué depuis le temps))<b r><br>Cependant, je n&#39;ai jamais utilisé pxegrub mais
<span class="code-input">pxelinux.cfg<br><br></span>&nbsp;&nbsp;-=( Pol ytan )=-

------=_Part_193176_24856327.1182429540589--
--
mailing list
Avatar
polytan
------=_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 a écrit :



Le 21/06/07, Sylvain TENOU > a écrit :
>
> 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

<br><br><div><span class="gmail_quote">Le 21/06/07, <b class="gmail_sen dername">polytan</b> &lt;<a href="mailto:"> .com</a>&gt; a écrit :</span><blockquote class="gmail_quote" style="b order-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; paddin g-left: 1ex;">
<br><br><div><span class="gmail_quote">Le 21/06/07, <b class="gmail_sen dername">Sylvain TENOU</b> &lt;<a href="mailto:" t arget="_blank" onclick="return top.js.OpenExtLink(window,event,this)">t
</a>&gt; a écrit :</span><div><span class="e" id="q_1134e4af1148e9be_ 1"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(20 4, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
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" target="_blank" onclick="return top.js.OpenExtLink(window,event ,this)">http://fr.gentoo-wiki.com/HOWTO_Installation_de_Gentoo_sans_disque_ dur
</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></span></div></div></blockquote><div><br>J&#39;ai reche rché dans mes fichiers et voila les fichiers de conf que j&#39;utilisais :<br>dhcpd.conf :<br><pre># Fichier de configuration DHCP pour DHCP ISC 3.0
<br><br>ddns-update-style none;<br><br><br>allow booting;<br>allow bootp;<b r>default-lease-time 600;<br>max-lease-time 7200;<br><br>subnet <a href=" http://192.168.32.0">192.168.32.0</a&gt; netmask <a href="http://255.255.255 .0">
255.255.255.0</a> {<br> next-server <a href="http://192.168.32.64 ">192.168.32.64</a>;<br> filename &quot;pxelinux.0&quot;;<br> opti on subnet-mask <a href="http://255.255.255.0">255.255.255.0</a>;<br> range <a href="http://192.168.32.1"&gt;
192.168.32.1</a> <a href="http://192.168.32.1"&gt;192.168.32.1</a>;<br># o ption routers <a href="http://192.168.32.64">192.168.32.64</a>;<br># option root-path &quot;/mnt/nodes/192.168.32.1&quot;;<br># server-na me &quot;gentoo&quot;;
<br><br>}<br>pxelinux.cfg/default :<br><br>LABEL 1<br>KERNEL kernel-2.4.30- om-r3-2 <br>APPEND ip=dhcp root=/dev/nfs nfsroot2.168.32.64:/mnt/n odes/192.168.32.1 vgax8<br><br>Dans cette méthode, la machine cliente attend un numéro au prompt (de 1 à x) pour savoir quel dossier racine monter par nfs .
<br><br>Comme dans la configuration dhcp, on peut aussi spécifier un &quo t;root-path&quot; pour chaque machine.<br>J&#39;avais récupéré les ad resses mac de chaque machine puis spécifier quoi faire au boot pour chaqu e adresse mac.
<br><br>Tout dépend du control que tu veux avoir et de la séquence de b oot recherchée.<br><br>pour créer les nodes, j&#39;avais une partition /mnt/nodes dans laquelle j&#39;avais la racine de chacune des machines clie ntes
<br>comme /mnt/nodes/192.168.32.1 ... /mnt/nodes/192.168.32.254<br> <br>j&# 39;avais dans ces dossiers tres peu de fichiers (32Mo je crois) qui ne serv ait que lors du démarrage du noayu.<br><br>Ensuite, je montais un /usr co mmum à toutes les machines clientes.
<br><br>Seuls les dossiers /var, /sys et /proc doivent être individuels.< br><br>J&#39;ai aussi du modifier l&#39;ordre de démarrage des scripts po ur démarrer le réseau avant le reste vu que /usr est monté par nfs.<b r><br>
Tout marchais sans erreur au boot. C&#39;est lors de l&#39;arret que ca par aissait moins ... propre :)<br><br>Si tu arrives a avoir un beau démarrag e et un arrêt propre, je suis intéressé... :)<br><br></pre></div><br> </div>
<br>-- <br><br>&nbsp;&nbsp;-=( Polytan )=-

------=_Part_193848_1732501.1182431385501--
--
mailing list
Avatar
Sylvain TENOU
------=_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 a écrit :

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

<br><br><div><span class="gmail_quote">Le 21/06/07, <b class="gmail_sen dername">polytan</b> &lt;<a href="mailto:"> .com</a>&gt; a écrit :&nbsp;</span><br><blockquote class="gmail_quote" style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; margin-left: 0.80ex; border-left-color: #cccccc; border-left-width: 1px; bo rder-left-style: solid; padding-left: 1ex">
J&#39;ai recherché dans mes fichiers et voila les fichiers de conf que j& #39;utilisais :<br>dhcpd.conf :<br><pre># Fichier de configuration DHCP pou r DHCP ISC 3.0 <br><br>ddns-update-style none;<br><br><br>allow booting;<br >
allow bootp;<br>default-lease-time 600;<br>max-lease-time 7200;<br><br>subn et <a href="http://192.168.32.0&quot; target="_blank" onclick="return top. js.OpenExtLink(window,event,this)">192.168.32.0</a> netmask <a href="http ://255.255.255.0" target="_blank" onclick="return top.js.OpenExtLink(wi ndow,event,this)">
255.255.255.0</a> {<br> next-server <a href="http://192.168.32.6 4" target="_blank" onclick="return top.js.OpenExtLink(window,event,this )">192.168.32.64</a>;<br> filename &quot;pxelinux.0&quot;;<br> opt ion subnet-mask
<a href="http://255.255.255.0&quot; target="_blank" onclick="return top.js .OpenExtLink(window,event,this)">255.255.255.0</a>;<br> range <a href="http://192.168.32.1&quot" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.1&quot; target="_blank" onclick="return top.js.Op enExtLink(window,event,this)">
192.168.32.1</a> <a href="http://192.168.32.1&quot" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.1&quot; target="_blank" onclick ="return top.js.OpenExtLink(window,event,this)">192.168.32.1</a>;<br># option routers <a href="http://192.168.32.64" target="_blank" oncli ck="return top.js.OpenExtLink(window,event,this)">
192.168.32.64</a>;<br># option root-path &quot;/mnt/nodes/192.168.32.1& quot;;<br># server-name &quot;gentoo&quot;; <br><br>}<br>pxelinux .cfg/default :<br><br>LABEL 1<br>KERNEL kernel-2.4.30-om-r3-2 <br>APPEND ip =dhcp root=/dev/nfs nfsroot=
192.168.32.64:/mnt/nodes/192.168.32.1 vgax8<br><br>Dans cette méthode , la machine cliente attend un numéro au prompt (de 1 à x) pour savoir quel dossier racine monter par nfs . <br><br>Comme dans la configuration dh cp, on peut aussi spécifier un &quot;root-path&quot; pour chaque machine.
<br>J&#39;avais récupéré les adresses mac de chaque machine puis sp écifier quoi faire au boot pour chaque adresse mac. <br><br>Tout dépend du control que tu veux avoir et de la séquence de boot recherchée.<br> <br>pour créer les nodes, j&#39;avais une partition /mnt/nodes dans laque lle j&#39;avais la racine de chacune des machines clientes
<br>comme /mnt/nodes/192.168.32.1 ... /mnt/nodes/192.168.32.254<br> <br>j&# 39;avais dans ces dossiers tres peu de fichiers (32Mo je crois) qui ne serv ait que lors du démarrage du noayu.<br><br>Ensuite, je montais un /usr co mmum à toutes les machines clientes.
<br><br>Seuls les dossiers /var, /sys et /proc doivent être individuels.< br><br>J&#39;ai aussi du modifier l&#39;ordre de démarrage des scripts po ur démarrer le réseau avant le reste vu que /usr est monté par nfs.<b r><br>
Tout marchais sans erreur au boot. C&#39;est lors de l&#39;arret que ca pa raissait moins ... propre :)<br><br>Si tu arrives a avoir un beau démarra ge et un arrêt propre, je suis intéressé... :)<br><br></pre><div><br> </div>
<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. :)
<br><br>Merci de ton aide, et des configurations que tu m&#39;as fournis, j e te tiens au courant si j&#39;ai des problèmes, et si j&#39;arrive à f aire un démarrage/arrêt plus &quot;propre&quot; ;).<br clear="all"><b r>-- <br>
Cordialement,<br>Sylvain TENOU.<br>

------=_Part_179233_11505639.1182432858572--
--
mailing list
Avatar
polytan
------=_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
Avatar
Sylvain TENOU
------=_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 a écrit :


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

<br><br><div><span class="gmail_quote">Le 21/06/07, <b class="gmail_sen dername">polytan</b> &lt;<a href="mailto:"> .com</a>&gt; a écrit :</span><blockquote class="gmail_quote" style="m argin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; margin-lef t: 0.80ex; border-left-color: #cccccc; border-left-width: 1px; border-left- style: solid; padding-left: 1ex">
<br><div><span class="q"><blockquote class="gmail_quote" style="borde r-left-color: #cccccc; border-left-width: 1px; border-left-style: solid; ma rgin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.80ex; padding-left: 1ex">
<div><div><span><blockquote class="gmail_quote" style="border-left-colo r: #cccccc; border-left-width: 1px; border-left-style: solid; margin-top: 0 pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.80ex; padding-lef t: 1ex">
<span> </span></blockquote></span></div></div></blockquote></span><div>J&#3 9;ai recherché dans mes fichiers et voila les fichiers de conf que j&#39; utilisais :<br>dhcpd.conf :<br><pre># Fichier de configuration DHCP pour DH CP ISC
3.0 <br><br>ddns-update-style none;<br><br><br>allow booting;<br>allow boot p;<br>default-lease-time 600;<br>max-lease-time 7200;<br><br>subnet <a href ="http://192.168.32.0&quot; target="_blank" onclick="return top.js.OpenExt Link(window,event,this)">
192.168.32.0</a> netmask <a href="http://255.255.255.0&quot" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://255.255.255.0&quot; target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> 255.255.255.0</a > {<br> next-server <a href="http://192.168.32.64&quot" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.64&quot; target="_bla nk" onclick="return top.js.OpenExtLink(window,event,this)">
192.168.32.64</a>;<br> filename &quot;pxelinux.0&quot;;<br> option subnet-mask <a href="http://255.255.255.0&quot" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://255.255.255.0&quot; target="_blank" onclick ="return top.js.OpenExtLink(window,event,this)">255.255.255.0</a>;<br> range <a href="http://192.168.32.1&quot" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.1&quot; target="_blank" onclick= "return top.js.OpenExtLink(window,event,this)">
192.168.32.1</a> <a href="http://192.168.32.1&quot" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.1&quot; target="_blank" onclick ="return top.js.OpenExtLink(window,event,this)">192.168.32.1</a>;<br># option routers <a href="http://192.168.32.64&quot" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.64&quot; target="_blank" oncli ck="return top.js.OpenExtLink(window,event,this)">
192.168.32.64</a>;<br># option root-path &quot;/mnt/nodes/192.168.32.1& quot;;<br># server-name &quot;gentoo&quot;; <br><br>}<br>pxelinux .cfg/default :<br><br>LABEL 1<br>KERNEL kernel-2.4.30-om-r3-2 <br>APPEND ip =dhcp root=/dev/nfs nfsroot=
192.168.32.64:/mnt/nodes/192.168.32.1 vgax8<br><br>Dans cette méthode , la machine cliente attend un numéro au prompt (de 1 à x) pour savoir quel dossier racine monter par nfs . <br><br>Comme dans la configuration dh cp, on peut aussi spécifier un &quot;root-path&quot; pour chaque machine.
<br>J&#39;avais récupéré les adresses mac de chaque machine puis sp écifier quoi faire au boot pour chaque adresse mac. <br><br>Tout dépend du control que tu veux avoir et de la séquence de boot recherchée.<br> <br>pour créer les nodes, j&#39;avais une partition /mnt/nodes dans laque lle j&#39;avais la racine de chacune des machines clientes
<br>comme /mnt/nodes/192.168.32.1 ... /mnt/nodes/192.168.32.254<br> <br>j&# 39;avais dans ces dossiers tres peu de fichiers (32Mo je crois) qui ne serv ait que lors du démarrage du noayu.<br><br>Ensuite, je montais un /usr co mmum à toutes les machines clientes.
<br><br>Seuls les dossiers /var, /sys et /proc doivent être individuels.< br><br><strong>J&#39;ai aussi du modifier l&#39;ordre de démarrage des sc ripts pour démarrer le réseau avant le reste vu que /usr est monté pa r nfs.
</strong><br><br> Tout marchais sans erreur au boot. C&#39;est lors de l&#3 9;arret que ca paraissait moins ... propre :)<br><br>Si tu arrives a avoir un beau démarrage et un arrêt propre, je suis intéressé... :)<br><b r></pre>
</div><br></div><br>-- <br><span class="sg"><br>&nbsp;&nbsp;-=( Polytan )=- </span></blockquote></div><br><br>Bonsoir,<br><br>J&#39;ai passé m a soirée à mettre en place le tuto que tu m&#39;as donné au départ. <br>Après quelque péripéties&nbsp;(entre&nbsp;autre,&nbsp;compilation &nbsp;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&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 :/.
<br>À vrai dire, pour cela j&#39;ai pas encore très bien saisi le syst ème :-S...<br><br>Pourrais-tu m&#39;expliquer ce que tu as modifié,&nb sp;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 a voir le démarrage du réseau
<br>avant le reste de la séquence de boot?<br><br>Merci d&#39;avance.<br> <br><br>PS : Et bien au moins j&#39;aurai bien avancé aujourd&#39;hui! :) Merci grandement à toi! :)<br clear="all"><br>-- <br>Cordialement,<br> Sylvain TENOU.

------=_Part_189318_11555368.1182459572726--
--
mailing list
Avatar
polytan
------=_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,rsize92,wsize92 0 0n' % ip
f.write(t)
t = '192.168.32.64:/mnt/systeme_racine/opt /opt nfs
auto,sync,hard,intr,ro,nolock,rsize92,wsize92 0 0n'
f.write(t)
t = '192.168.32.64:/mnt/systeme_racine/usr /usr nfs
auto,sync,hard,intr,ro,nolock,rsize92,wsize92 0 0n'
f.write(t)
t = '192.168.32.64:/home/emcc /home/emcc nfs
auto,sync,hard,intr,rw,nolock,rsize92,wsize92 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

<br><br><div><span class="gmail_quote"></span><blockquote class="gmail_ quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>Bonsoir,</blockquote><div><br>Bonjour à toi :-)
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px s olid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">J&# 39;ai passé ma soirée à mettre en place le tuto que tu m&#39;as donn é au départ.
</blockquote><div><br>Je crois avoir aussi passé plusieurs soirées à le faire marcher... <br></div><br><blockquote class="gmail_quote" style ="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; p adding-left: 1ex;">
Après quelque péripéties&nbsp;(entre&nbsp;autre,&nbsp;compilation&nbs p;d&#39;un&nbsp;noyau&nbsp;&gt;
2.6.19</blockquote><div><br>Pourquoi pas le dernier stable ? (2.6.20 je cro is) <br></div><br><blockquote class="gmail_quote" style="border-left: 1 px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" >
&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.
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px s olid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Mai s maintenant, j&#39;ai toujours le problème du montage de /usr au début de la séquence de boot :/.
</blockquote><div><br>Oui, ca permet d&#39;avoir un /usr de la taille que t u veux, commun à toutes les machines et après de copier quelques 30-32 Mo pour les clients et de les personnaliser.<br></div><br><blockquote class ="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin : 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
À vrai dire, pour cela j&#39;ai pas encore très bien saisi le système :-S...</blockquote><div><br>Il faut jouer avec les scripts au démarrage et avoir bien fait le fstab. <br></div><br><blockquote class="gmail_quote " style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0 .8ex; padding-left: 1ex;">
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>avant le reste de la séquence de boot?<br><br>Merci d&#39;avance.</bl ockquote><div><br>Bon, mettons les choses au clair : j&#39;ai quelques scri pts, mais...ce fut au debut de ma connaissance de python et des fois, ben.. .c&#39;est pas tres fun :)
<br><br>J&#39;ai fait dans un dossier une gentoo complète pour les machin es clientes.<br>cela se trouvait dans /mnt/systeme_racine/ (une partition à part, mais ca ne change pas grand chose à part booter dessus pour voi r que ca marche sans bidouiller :) )
<br>les machines clientes sont dans /mnt/nodes/.<br>Pour chaque clients son t créés un dossier portant leur numéro ip (pour m&#39;y retrouver) et sont copié les fichiers necessaires.<br>je copie : /bin /sbin /usr/share /consolefont,consoletrans... (necesaire au boot, on remontera /usr par dess us), /lib, /etc et /root
<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;">
<span style="text-decoration: underline;">faire_des_nodes.py</span><br><b r># -*- coding:UTF-8 -*-<br>from creer_repertoires import rep<br>from etcno des import etc,hosts,dev,fastboot,perm<br>from copier_fichiers import copie r_fichiers
<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># /etc/conf.d/net<br># /etc/conf.d/hostname<br># /etc/hosts<br># /etc/f stab<br>etc(nb)<br>hosts(nb)<br>fstab(nb)<br>dev(nb)<br>fastboot(nb)<br>per m(nb)<br><br>Création des répertoires pour ensuite copier les fichiers dedans (oui, j&#39;aurais pu tout mettre dans un même scripts, mais pour les modif au compte-goutte, c&#39;est plus simple)
<br><br><span style="text-decoration: underline;">copier_repertoires.py</ span><br><br># -*- coding:UTF-8 -*-<br># On crée les nodes pour booter le réseau<br><br>from os import chdir,mkdir<br><br>def rep(nb):<br>&nbsp;&n bsp;&nbsp; for i in range(1,nb+1,1):
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; chdir(&#39;/mnt/nodes&#39;)<br>&n bsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rep = &#39;192.168.32.&#39; + str(i)< br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; mkdir(rep)<br>&nbsp;&nbsp;&nbsp; & nbsp;&nbsp;&nbsp; liste = [&#39;etc&#39;,&#39;home&#39;,&#39;home/emcc&#3 9;,&#39;dev&#39;,&#39;proc&#39;,&#39;sys&#39;,&#39;tmp&#39;,&#39;mnt&#39;,& #39;root&#39;,&#39;var&#39;,&#39;usr&#39;,&#39;opt&#39;,&#39;mfs&#39;]
<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;]
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for j in liste:<br>&nbsp;&nbsp;&n bsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; mkdir(&#39;%s/%s&#39; % (rep,j)) <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; mkdir(&#39;%s/etc/conf.d&#39; % ( rep))<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for j in listvar:<br>&nbsp;& nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; mkdir(&#39;%s/var/%s&#39; % (rep,j))<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for j in listusr:
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; mkdir(&#39;%s/ usr/%s&#39; % (rep,j))<br><br>préparation de /etc :<br><br><span style= "text-decoration: underline;">etcnodes.py</span><br><br># -*- coding:UTF-8 -*-<br># On configure le dossier etc des nodes
<br>from os import system,mkdir,chdir<br><br>def etc(nb):<br>&nbsp;&nbsp;&n bsp; for i in range(1,nb+1,1):<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ip = &#39;192.168.32.&#39; + str(i)<br>#&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp ; system(&#39;touch /mnt/nodes/%s/etc/conf.d/net&#39; % (ip))<br>#&nbsp;&nb sp;&nbsp; &nbsp;&nbsp;&nbsp; system(&#39;touch /mnt/nodes/%s/etc/conf.d/hos tname&#39; % (ip))
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; chdir(&#39;/mnt/nodes/%s/etc/conf .d&#39; % (ip))<br>#&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; f = open(&#39;n et&#39;,&#39;w&#39;)<br>#&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; t = &#39;i face_eth0=&quot;%s broadcast <a href="http://192.168.255.255">192.168.2" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.255.255">192.168.2 55.255</a> netmask
<a href="http://255.255.255.0">255.255.255.0</a>&quot;n&#39; % (ip)<br># &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; f.write(t)<br>#&nbsp;&nbsp;&nbsp; &nb sp;&nbsp;&nbsp; f.close()<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; f = op en(&#39;hostname&#39;,&#39;w&#39;)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; node = &#39;node&#39; + str(i)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; t = &#39;HOSTNAME=&quot;%s&quot;n&#39; % (node)
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; f.write(t)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; f.close()<br><br>def hosts(nb):<br>&nbsp;&nbsp;&nbsp; fo r i in range(1,nb+1,1):<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ipi = &# 39;192.168.32.&#39; + str(i)<br>#&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; syst em(&#39;touch /mnt/nodes/%s/etc/hosts&#39; % ipi)<br>&nbsp;&nbsp;&nbsp; &nb sp;&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; + s tr(i)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; t1 = &#39;<a href="http: //127.0.0.1">127.0.0.1</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; localh ost&nbsp;&nbsp;&nbsp;&nbsp; %s n&#39; % node<br>&nbsp;&nbsp;&nbsp; &nbsp;& nbsp;&nbsp; f.write(t1)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for j in r ange(1,nb+1,1):
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ip = &# 39;192.168.32.&#39; + str(j)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; nodej = &#39;node&#39; + str(j)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = &#39;%s&nbsp;&nbsp;&nbsp;& nbsp;&nbsp; %sn&#39;&nbsp; % (ip,nodej)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.write(t)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp ;&nbsp; f.close()<br><br>def dev(nb):
<br>&nbsp;&nbsp;&nbsp; for i in range(1,nb+1,1):<br>&nbsp;&nbsp;&nbsp; &nbs p;&nbsp;&nbsp; ip = &#39;192.168.32.&#39; + str(i)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; system(&#39;mknod /mnt/nodes/%s/dev/console c 5 1&#39; % ip)<br><br>def fastboot(nb):<br>&nbsp;&nbsp;&nbsp; for i in range(1,nb+1,1 ):<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ip = &#39;
192.168.32.&#39; + str(i)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; system(& #39;touch /mnt/nodes/%s/fastboot&#39; % ip)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nb sp;&nbsp; system(&#39;echo &quot;touch /fastboot&quot; &gt;&gt; /mnt/nodes/ %s/etc/conf.d/local.start&#39; % ip)<br><br>def perm(nb):
<br>&nbsp;&nbsp;&nbsp; for i in range(1,nb+1,1):<br>&nbsp;&nbsp;&nbsp; &nbs p;&nbsp;&nbsp; ip = &#39;192.168.32.&#39; + str(i)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; system(&#39;chmod a+rw -R /mnt/nodes/%s&#39; % ip)<br>&n bsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; system(&#39;chmod a-rw -R /mnt/nodes/%s /etc&#39; % ip)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; system(&#39;chmod +rw -R /mnt/nodes/%s/etc&#39; % ip)
<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><br><pre><span style="text-decoration: underline;">copier_fichiers.py </span><br><br></pre># -*- coding:UTF-8 -*-<br># Copie des fichiers néces saire au boot<br>from os import system,chdir<br><br>def copier_fichiers(nb) :
<br>&nbsp;&nbsp;&nbsp; for i in range(1,nb+1,1):<br>&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;&nbsp; ip = &#39;192.168.32.&#39; + str(i)<br>&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/systeme_racine/bin /mnt/nodes/%s&#39;%ip)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; syste m(&#39;rsync -avz /mnt/systeme_racine/sbin /mnt/nodes/%s&#39;%ip)
<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)<br><br></div>Et enfin, le fstab<br><b r>Oui, oui, c&#39;est fini après :)<br><br><span style="text-decoration : underline;">fstab.py</span><br><br>
# -*- coding:UTF-8 -*-<br># Création du fstab des nodes<br><br>def fstab( nb):<br>&nbsp;&nbsp;&nbsp; for i in range(1,nb+1,1):<br>&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp; ip = &#39;192.168.32.&#39; + str(i)<br>&nbsp;&nbs p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f = open(&#39;/mnt/nodes/%s/etc/fstab&#3 9; % ip,&#39;w&#39;)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = &#39;192.168.32.64:/mn t/nodes/%s&nbsp;&nbsp;&nbsp; /&nbsp;&nbsp;&nbsp; nfs&nbsp;&nbsp;&nbsp; sync ,hard,intr,rw,nolock,rsize92,wsize92&nbsp;&nbsp;&nbsp; 0 0n&#39; % ip<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.write(t)<br>&nbsp;&nb sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = &#39;192.168.32.64:/mnt/systeme_rac ine/opt&nbsp;&nbsp; /opt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nfs&nbsp;&nbsp; auto ,sync,hard,intr,ro,nolock,rsize92,wsize92&nbsp;&nbsp;&nbsp; 0 0n &#39;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.write(t)<br>&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp; t = &#39;192.168.32.64:/mnt/systeme_racine/u sr&nbsp;&nbsp; /usr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nfs&nbsp;&nbsp; auto,sync ,hard,intr,ro,nolock,rsize92,wsize92&nbsp;&nbsp;&nbsp; 0 0n&#39; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.write(t)<br>&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp; t = &#39;192.168.32.64:/home/emcc
&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,rsize92,wsize92&nbsp;&nbsp;&nbsp; 0 0n&#39;<br>&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.write(t)<br>&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp; f.close()<br><br>et voila, les bases sont faites.<br><br> Pour ne faire qu&#39;un client, met nb à 1 :)
<br><br>Bon, un petit dernier pour la route :)<br><br>tftpboot_default.py<b r><br># -*- coding:UTF-8 -*-<br>
# Création du fichier pxedefault.cfg/default en fonction du nombre de nod es<br><br>f = open(&#39;/mnt/nodes/pxelinux.cfg/default&#39;,&#39;w&#39;) <br>for i in range(1,13,1):<br>&nbsp;&nbsp;&nbsp; label = &#39;LABEL &#39 ;+str(i)+&#39;n&#39;
<br>&nbsp;&nbsp;&nbsp; ker = &#39;KERNEL kernel-2.4.30-om-r3 n&#39;<br>& nbsp;&nbsp;&nbsp; ip = &#39;192.168.32.&#39; + str(i)<br>&nbsp;&nbsp;&nbs p; app = &#39;APPEND ip=dhcp root=/dev/nfs nfsroot2.168.32.64:/m nt/nodes/%s n n&#39; % (ip)<br>&nbsp;&nbsp;&nbsp; f.write(label)<br>
&nbsp;&nbsp;&nbsp; f.write(ker)<br>&nbsp;&nbsp;&nbsp; f.write(app)<br>f.clo se()<br><br>mon /etc/export :<br><br><pre>/mnt/nodes <a href="http://19 2.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)
</a><br>/mnt/systeme_racine/opt <a href="http://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)</a><br>/mnt/systeme_racine/usr <a href="http://192.168.32.0/255.255.255.0(rw,no_root_squash,no_all_squash,s ync)">
192.168.32.0/255.255.255.0(rw,no_root_squash,no_all_squash,sync)</a><br>/mn t/systeme_racine/home <a href="http://192.168.32.0/255.255.255.0(ro, no_root_squash,no_all_squash,sync)">192.168.32.0/255.255.255.0(ro,no_root_s quash,no_all_squash,sync)
</a></pre><br><br><blockquote class="gmail_quote" style="border-left: 1 px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" >PS : Et bien au moins j&#39;aurai bien avancé aujourd&#39;hui! :) Merci grandement à toi! :)
</blockquote><div><br>Mais de rien, tout est sous GPL, fais-en ce que tu ve ux 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 faisais tourner.<br>om c&#39;e st pour open mosix
<br><br>Pour le démarrage, tu verra dans un des scripts, je modifie le lo cal.start.<br><br>Il y a peut-etre (surement même) une facon plus simple de procéder. A l&#39;heure actuelle je ne sais pas.<br><br>Pour ce qui es t de PXE, grub serait peut-être plus souple que pxelinux.
<br>A voir.<br><br>Je suis parfois le soir sur jabber : <a href="mailto:p "></a><br><br>Si tu veux qu&#39;on se recontre sur jabber, préviens moi, je verrais si je peux venir (pas ce we ekend par contre)
<br>Peut-être veux-tu rester en communication grâce à la liste de dif fusion, pour qu&#39;il y ait une trace, au choixe :)<br><br></div><br><bloc kquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
-- <br>Cordialement,</blockquote><div><br>Amicalement, <br></div><br><block quote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 2 04); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><span class="sg">Sylv ain TENOU.
</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
Avatar
Sylvain TENOU
------=_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 a écrit :




> 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,rsize92,wsize92 0 0n' % ip
f.write(t)
t = '192.168.32.64:/mnt/systeme_racine/opt /opt nfs
auto,sync,hard,intr,ro,nolock,rsize92,wsize92 0 0n'
f.write(t)
t = '192.168.32.64:/mnt/systeme_racine/usr /usr nfs
auto,sync,hard,intr,ro,nolock,rsize92,wsize92 0 0n'
f.write(t)
t = '192.168.32.64:/home/emcc /home/emcc nfs
auto,sync,hard,intr,rw,nolock,rsize92,wsize92 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

<span class="gmail_quote">Le 22/06/07, <b class="gmail_sendername">poly tan</b> &lt;<a href="mailto:"></a>&gt; a écrit :</span><blockquote class="gmail_quote" style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; margin-left: 0.80ex; bo rder-left-color: #cccccc; border-left-width: 1px; border-left-style: solid; padding-left: 1ex">
<br><br><div><blockquote class="gmail_quote" style="border-left-color: #cccccc; border-left-width: 1px; border-left-style: solid; margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.80ex; padding-left: 1ex">
<br>Bonsoir,</blockquote><div><br>Bonjour à toi :-) <br></div><span clas s="q"><br><blockquote class="gmail_quote" style="border-left-color: # cccccc; border-left-width: 1px; border-left-style: solid; margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.80ex; padding-left: 1 ex">
J&#39;ai passé ma soirée à mettre en place le tuto que tu m&#39;as do nné au départ. </blockquote></span><div><br>Je crois avoir aussi pass é plusieurs soirées à le faire marcher... <br></div><span class="q" ><br><blockquote class="gmail_quote" style="border-left-color: #cccccc; border-left-width: 1px; border-left-style: solid; margin-top: 0pt; margin- right: 0pt; margin-bottom: 0pt; margin-left: 0.80ex; padding-left: 1ex">
Après quelque péripéties&nbsp;(entre&nbsp;autre,&nbsp;compilation&nb sp;d&#39;un&nbsp;noyau&nbsp;&gt; 2.6.19</blockquote></span><div><br>Pourquo i pas le dernier stable ? (2.6.20 je crois) <br></div><span class="q"><br ><blockquote class="gmail_quote" style="border-left-color: #cccccc; bor der-left-width: 1px; border-left-style: solid; margin-top: 0pt; margin-righ t: 0pt; margin-bottom: 0pt; margin-left: 0.80ex; padding-left: 1ex">
&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.
<br></div><span class="q"><br><blockquote class="gmail_quote" style=" border-left-color: #cccccc; border-left-width: 1px; border-left-style: soli d; margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.8 0ex; padding-left: 1ex">
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.
<br></div><span class="q"><br><blockquote class="gmail_quote" style=" border-left-color: #cccccc; border-left-width: 1px; border-left-style: soli d; margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.8 0ex; padding-left: 1ex">
À vrai dire, pour cela j&#39;ai pas encore très bien saisi le systèm e :-S...</blockquote></span><div><br>Il faut jouer avec les scripts au dé marrage et avoir bien fait le fstab. <br></div><span class="q"><br><block quote class="gmail_quote" style="border-left-color: #cccccc; border-lef t-width: 1px; border-left-style: solid; margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.80ex; padding-left: 1ex">
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?
<br><br>Merci d&#39;avance.</blockquote></span><div><br>Bon, mettons les ch oses au clair : j&#39;ai quelques scripts, mais...ce fut au debut de ma con naissance de python et des fois, ben...c&#39;est pas tres fun :) <br><br>
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>les machines clientes sont dans /mnt/nodes/.<br>Pour chaque clients son t créés un dossier portant leur numéro ip (pour m&#39;y retrouver) et sont copié les fichiers necessaires.<br>je copie : /bin /sbin /usr/share /consolefont,consoletrans... (necesaire au boot, on remontera /usr par dess us), /lib, /etc et /root
<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">
<span style="text-decoration: underline">faire_des_nodes.py</span><br><br ># -*- coding:UTF-8 -*-<br>from creer_repertoires import rep<br>from etcnod es import etc,hosts,dev,fastboot,perm<br>from copier_fichiers import copier _fichiers
<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># /etc/conf.d/net<br># /etc/conf.d/hostname<br># /etc/hosts<br># /etc/f stab<br>etc(nb)<br>hosts(nb)<br>fstab(nb)<br>dev(nb)<br>fastboot(nb)<br>per m(nb)<br><br>Création des répertoires pour ensuite copier les fichiers dedans (oui, j&#39;aurais pu tout mettre dans un même scripts, mais pour les modif au compte-goutte, c&#39;est plus simple)
<br><br><span style="text-decoration: underline">copier_repertoires.py</s pan><br><br># -*- coding:UTF-8 -*-<br># On crée les nodes pour booter le réseau<br><br>from os import chdir,mkdir<br><br>def rep(nb):<br>&nbsp;&nb sp;&nbsp; for i in range(1,nb+1,1):
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; chdir(&#39;/mnt/nodes&#39;)<br>&n bsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rep = &#39;192.168.32.&#39; + str(i)< br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; mkdir(rep)<br>&nbsp;&nbsp;&nbsp; & nbsp;&nbsp;&nbsp; liste = [&#39;etc&#39;,&#39;home&#39;,&#39;home/emcc&#3 9;,&#39;dev&#39;,&#39;proc&#39;,&#39;sys&#39;,&#39;tmp&#39;,&#39;mnt&#39;,& #39;root&#39;,&#39;var&#39;,&#39;usr&#39;,&#39;opt&#39;,&#39;mfs&#39;]
<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;]
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for j in liste:<br>&nbsp;&nbsp;&n bsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; mkdir(&#39;%s/%s&#39; % (rep,j)) <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; mkdir(&#39;%s/etc/conf.d&#39; % ( rep))<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for j in listvar:<br>&nbsp;& nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; mkdir(&#39;%s/var/%s&#39; % (rep,j))<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for j in listusr:
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; mkdir(&#39;%s/ usr/%s&#39; % (rep,j))<br><br>préparation de /etc :<br><br><span style= "text-decoration: underline">etcnodes.py</span><br><br># -*- coding:UTF-8 - *-<br># On configure le dossier etc des nodes
<br>from os import system,mkdir,chdir<br><br>def etc(nb):<br>&nbsp;&nbsp;&n bsp; for i in range(1,nb+1,1):<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ip = &#39;192.168.32.&#39; + str(i)<br>#&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp ; system(&#39;touch /mnt/nodes/%s/etc/conf.d/net&#39; % (ip))<br>#&nbsp;&nb sp;&nbsp; &nbsp;&nbsp;&nbsp; system(&#39;touch /mnt/nodes/%s/etc/conf.d/hos tname&#39; % (ip))
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; chdir(&#39;/mnt/nodes/%s/etc/conf .d&#39; % (ip))<br>#&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; f = open(&#39;n et&#39;,&#39;w&#39;)<br>#&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; t = &#39;i face_eth0=&quot;%s broadcast <a href="http://192.168.255.255&quot; target= "_blank" onclick="return top.js.OpenExtLink(window,event,this)">
192.168.255.255</a> netmask <a href="http://255.255.255.0&quot; target="_bl ank" onclick="return top.js.OpenExtLink(window,event,this)">255.255.255.0 </a>&quot;n&#39; % (ip)<br>#&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; f.write( t)<br>#&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; f.close()<br>&nbsp;&nbsp;&nbsp ; &nbsp;&nbsp;&nbsp; f = open(&#39;hostname&#39;,&#39;w&#39;)
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; node = &#39;node&#39; + str(i)< br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; t = &#39;HOSTNAME=&quot;%s&quo t;n&#39; % (node) <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; f.write(t)<br> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; f.close()<br><br>def hosts(nb):<br>&n bsp;&nbsp;&nbsp; for i in range(1,nb+1,1):<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbs p;&nbsp; ipi = &#39;
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)
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; t1 = &#39;<a href="http://127 .0.0.1" target="_blank" onclick="return top.js.OpenExtLink(window,event ,this)">127.0.0.1</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; localhost&n bsp;&nbsp;&nbsp;&nbsp; %s n&#39; % node<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; f.write(t1)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for j in range( 1,nb+1,1):
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ip = &# 39;192.168.32.&#39; + str(j)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; nodej = &#39;node&#39; + str(j)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = &#39;%s&nbsp;&nbsp;&nbsp;& nbsp;&nbsp; %sn&#39;&nbsp; % (ip,nodej)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.write(t)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp ;&nbsp; f.close()<br><br>def dev(nb):
<br>&nbsp;&nbsp;&nbsp; for i in range(1,nb+1,1):<br>&nbsp;&nbsp;&nbsp; &nbs p;&nbsp;&nbsp; ip = &#39;192.168.32.&#39; + str(i)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; system(&#39;mknod /mnt/nodes/%s/dev/console c 5 1&#39; % ip)<br><br>def fastboot(nb):<br>&nbsp;&nbsp;&nbsp; for i in range(1,nb+1,1 ):<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ip = &#39;
192.168.32.&#39; + str(i)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; system(& #39;touch /mnt/nodes/%s/fastboot&#39; % ip)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nb sp;&nbsp; system(&#39;echo &quot;touch /fastboot&quot; &gt;&gt; /mnt/nodes/ %s/etc/conf.d/local.start&#39; % ip)<br><br>def perm(nb):
<br>&nbsp;&nbsp;&nbsp; for i in range(1,nb+1,1):<br>&nbsp;&nbsp;&nbsp; &nbs p;&nbsp;&nbsp; ip = &#39;192.168.32.&#39; + str(i)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; system(&#39;chmod a+rw -R /mnt/nodes/%s&#39; % ip)<br>&n bsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; system(&#39;chmod a-rw -R /mnt/nodes/%s /etc&#39; % ip)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; system(&#39;chmod +rw -R /mnt/nodes/%s/etc&#39; % ip)
<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><br><pre><span style="text-decoration: underline">copier_fichiers.py< /span><br><br></pre># -*- coding:UTF-8 -*-<br># Copie des fichiers nécess aire au boot<br>from os import system,chdir<br><br>def copier_fichiers(nb):
<br>&nbsp;&nbsp;&nbsp; for i in range(1,nb+1,1):<br>&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;&nbsp; ip = &#39;192.168.32.&#39; + str(i)<br>&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&#39;rsync -avz /mnt/systeme_racine/bin /mnt/nodes/%s&#39;%ip)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; syste m(&#39;rsync -avz /mnt/systeme_racine/sbin /mnt/nodes/%s&#39;%ip)
<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)<br><br></div>Et enfin, le fstab<br>< br>Oui, oui, c&#39;est fini après :)<br><br><span style="text-decoratio n: underline">fstab.py</span><br><br>
# -*- coding:UTF-8 -*-<br># Création du fstab des nodes<br><br>def fstab (nb):<br>&nbsp;&nbsp;&nbsp; for i in range(1,nb+1,1):<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; ip = &#39;192.168.32.&#39; + str(i)<br>&nbsp;&nb sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f = open(&#39;/mnt/nodes/%s/etc/fstab&# 39; % ip,&#39;w&#39;)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = &#39;192.168.32.64:/mn t/nodes/%s&nbsp;&nbsp;&nbsp; /&nbsp;&nbsp;&nbsp; nfs&nbsp;&nbsp;&nbsp; sync ,hard,intr,rw,nolock,rsize92,wsize92&nbsp;&nbsp;&nbsp; 0 0n&#39; % ip<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.write(t)<br>&nbsp;&nb sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = &#39;192.168.32.64:/mnt/systeme_rac ine/opt&nbsp;&nbsp; /opt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nfs&nbsp;&nbsp; auto ,sync,hard,intr,ro,nolock,rsize92,wsize92&nbsp;&nbsp;&nbsp; 0 0n &#39;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.write(t)<br>&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp; t = &#39;192.168.32.64:/mnt/systeme_racine/u sr&nbsp;&nbsp; /usr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nfs&nbsp;&nbsp; auto,sync ,hard,intr,ro,nolock,rsize92,wsize92&nbsp;&nbsp;&nbsp; 0 0n&#39; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.write(t)<br>&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp; t = &#39;192.168.32.64:/home/emcc
&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,rsize92,wsize92&nbsp;&nbsp;&nbsp; 0 0n&#39;<br>&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.write(t)<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; f.close()<br><br>et voila, les bases sont faites.<br><br >Pour ne faire qu&#39;un client, met nb à 1 :)
<br><br>Bon, un petit dernier pour la route :)<br><br>tftpboot_default.py<b r><br># -*- coding:UTF-8 -*-<br> # Création du fichier pxedefault.cfg/def ault en fonction du nombre de nodes<br><br>f = open(&#39;/mnt/nodes/pxeli nux.cfg/default&#39;,&#39;w&#39;)
<br>for i in range(1,13,1):<br>&nbsp;&nbsp;&nbsp; label = &#39;LABEL &#39 ;+str(i)+&#39;n&#39; <br>&nbsp;&nbsp;&nbsp; ker = &#39;KERNEL kernel-2.4 .30-om-r3 n&#39;<br>&nbsp;&nbsp;&nbsp; ip = &#39;192.168.32.&#39; + str( i)<br>&nbsp;&nbsp;&nbsp; app = &#39;APPEND ip=dhcp root=/dev/nfs nfsr oot=
192.168.32.64:/mnt/nodes/%s n n&#39; % (ip)<br>&nbsp;&nbsp;&nbsp; f.write (label)<br> &nbsp;&nbsp;&nbsp; f.write(ker)<br>&nbsp;&nbsp;&nbsp; f.write(a pp)<br>f.close()<br><br>mon /etc/export :<br><br><pre>/mnt/nodes <a href ="http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0(rw,no_root_squash,no_all_squash,sync) " target="_blank" onclick="return top.js.OpenExtLink(window,event,this) ">
192.168.32.0/255.255.255.0(rw,no_root_squash,no_all_squash,sync) </a><br>/m nt/systeme_racine/opt <a href="http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0(rw, no_root_squash,no_all_squash,sync)" target="_blank" onclick="return top .js.OpenExtLink(window,event,this)">
192.168.32.0/255.255.255.0(rw,no_root_squash,no_all_squash,sync)</a><br>/mn t/systeme_racine/usr <a href="http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0(rw,n o_root_squash,no_all_squash,sync)" target="_blank" onclick="return top. js.OpenExtLink(window,event,this)">
192.168.32.0/255.255.255.0(rw,no_root_squash,no_all_squash,sync)</a><br>/m nt/systeme_racine/home <a href="http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://192.168.32.0/255.255.255.0(ro ,no_root_squash,no_all_squash,sync)" target="_blank" onclick="return to p.js.OpenExtLink(window,event,this)">
192.168.32.0/255.255.255.0(ro,no_root_squash,no_all_squash,sync) </a></pre> <span class="q"><br><br><blockquote class="gmail_quote" style="border -left-color: #cccccc; border-left-width: 1px; border-left-style: solid; mar gin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.80ex; p adding-left: 1ex">
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.
<br>om c&#39;est pour open mosix <br><br>Pour le démarrage, tu verra dans un des scripts, je modifie le local.start.<br><br>Il y a peut-etre (sureme nt même) une facon plus simple de procéder. A l&#39;heure actuelle je n e sais pas.
<br><br>Pour ce qui est de PXE, grub serait peut-être plus souple que pxe linux. <br>A voir.<br><br>Je suis parfois le soir sur jabber : <a href="m ailto:" target="_blank" onclick="return top.js.OpenE xtLink(window,event,this)">
</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 :)
<br><br></div><br><blockquote class="gmail_quote" style="border-left-co lor: #cccccc; border-left-width: 1px; border-left-style: solid; margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.80ex; padding-l eft: 1ex">
-- <br>Cordialement,</blockquote><div><br>Amicalement, <br></div><br><bloc kquote class="gmail_quote" style="border-left-color: #cccccc; border-le ft-width: 1px; border-left-style: solid; margin-top: 0pt; margin-right: 0pt ; margin-bottom: 0pt; margin-left: 0.80ex; padding-left: 1ex">
<span>Sylvain TENOU. </span></blockquote></div><br>polytan<br><span class ="sg"> </span></blockquote><br>Bonsoir,<br><br>Eh bien le moins que l&#39 ;on puisse dire c&#39;est que pour avoir de l&#39;aide j&#39;en ai! :)<br>
É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 ;).
<br><br>En tout cas, encore une fois, Merci! :]<br><br><br><br>PS : pour le blabla, c&#39;est souvent une marque de convivialité, et je suis très causant, donc cela ne me dérange pas ;).<br><br>-- <br>Cordialement,<br>S ylvain TENOU.

------=_Part_208131_7128177.1182539076968--
--
mailing list