OVH Cloud OVH Cloud

Noyau pour pxe

7 réponses
Avatar
Alexandre SUC
Bonjour,

J'ai besoin de créér un serveur de sauvegarde/restauration d'image disque
dur. J'ai choisi pour cela une solution pxe + partimage. Hélas mes
compétences sont bien limités et je ne sais pas comment faire le lien entre
pxe et partimage.

Le but étant qu'un pc démarre par le réseau, charge un noyau pxe puis lance
partimage. Le pxe fonctionne très bien et je suis parvenu à charger geexbox
par exemple avec leur noyau tout fait. Ce que j'ignore c'est comment créér
un noyau pxe sur mesure afin qu'il lance partimage automatiquement.

Je suis donc preneur de tout conseil, lien, fichier de config, tutorial :)

Merci !

7 réponses

Avatar
Kevin Denis
On 2004-12-30, Alexandre SUC wrote:

J'ai besoin de créér un serveur de sauvegarde/restauration d'image disque
dur. J'ai choisi pour cela une solution pxe + partimage. Hélas mes
compétences sont bien limités et je ne sais pas comment faire le lien entre
pxe et partimage.

Le but étant qu'un pc démarre par le réseau, charge un noyau pxe puis lance
partimage.


Je le faisais avec une disquette tomrtbt.
1ere partition: NTFS windows2k
2eme partition: ext2 avec le programme partimage et les images
Boot sur la disquette tomsrtbt -> lancement de partimage sur une image
au choix.

Le pxe fonctionne très bien et je suis parvenu à charger geexbox
par exemple avec leur noyau tout fait. Ce que j'ignore c'est comment créér
un noyau pxe sur mesure afin qu'il lance partimage automatiquement.

Le noyau demarre le processus init qu'il cherche dans /bin /sbin et / (de

memoire). init lit le fichier /etc/inittab et fait ce qu'il est ecrit
dedans.

Je suis donc preneur de tout conseil, lien, fichier de config, tutorial :)

http://www.linux-france.org/article/sys/init-jaco/init-jaco.html

--
Kevin

Avatar
Alexandre SUC
"Kevin Denis" a écrit dans le message de
news:
On 2004-12-30, Alexandre SUC wrote:

J'ai besoin de créér un serveur de sauvegarde/restauration d'image
disque


dur. J'ai choisi pour cela une solution pxe + partimage. Hélas mes
compétences sont bien limités et je ne sais pas comment faire le lien
entre


pxe et partimage.

Le but étant qu'un pc démarre par le réseau, charge un noyau pxe puis
lance


partimage.


Je le faisais avec une disquette tomrtbt.
1ere partition: NTFS windows2k
2eme partition: ext2 avec le programme partimage et les images
Boot sur la disquette tomsrtbt -> lancement de partimage sur une image
au choix.

Le pxe fonctionne très bien et je suis parvenu à charger geexbox
par exemple avec leur noyau tout fait. Ce que j'ignore c'est comment
créér


un noyau pxe sur mesure afin qu'il lance partimage automatiquement.

Le noyau demarre le processus init qu'il cherche dans /bin /sbin et / (de

memoire). init lit le fichier /etc/inittab et fait ce qu'il est ecrit
dedans.

Je suis donc preneur de tout conseil, lien, fichier de config, tutorial
:)



http://www.linux-france.org/article/sys/init-jaco/init-jaco.html

--
Kevin


Merci pour l'info, je vois donc comment faire en sorte que partimage se
lance, maintenant je bloque sur le noyau en lui même. Si j'ai bien compris
il faut que je créée un noyau et que j'édite le inittab de ce noyau de sorte
qu'il lance les programmes que je désire.

Ce noyau dont j'ai besoin je le créée avec les outils de compilation de
noyau, mais j'obtiens un fichier du type vmlinuz, et je ne parviens pas à
l'éditer... bref je ne vois pas bien le lien entre ce noyau et le inittab
dont il devra se servir.

Et pour finir l'application partimage se trouve sur le serveur linux,
m'est-il possible de lancer depuis le client pxe une application se trouvant
sur un partage nfs ? Ou dois-je lancer l'application en local après l'avoir
rappatriée ?

Merci encore.


Avatar
Kevin Denis
On 2004-12-30, Alexandre SUC wrote:

http://www.linux-france.org/article/sys/init-jaco/init-jaco.html



Merci pour l'info, je vois donc comment faire en sorte que partimage se
lance, maintenant je bloque sur le noyau en lui même. Si j'ai bien compris
il faut que je créée un noyau et que j'édite le inittab de ce noyau de sorte
qu'il lance les programmes que je désire.

Un noyau n'a pas d'inittab. Un noyau cherche les matos, et fait ce qu'on

lui demande de faire.

Ce noyau dont j'ai besoin je le créée avec les outils de compilation de
noyau, mais j'obtiens un fichier du type vmlinuz, et je ne parviens pas à
l'éditer... bref je ne vois pas bien le lien entre ce noyau et le inittab
dont il devra se servir.

Le noyau cherche un root device (man rdev). Sur ce root device il

s'attend a trouver un systeme de fichier qui contiendra le fameux
programme init.

Et pour finir l'application partimage se trouve sur le serveur linux,
m'est-il possible de lancer depuis le client pxe une application se trouvant
sur un partage nfs ? Ou dois-je lancer l'application en local après l'avoir
rappatriée ?

Plusieurs solutions: tu mets sur la disquette *et* le noyau, *et* le

filesystem racine (genre une tomsrtbt, quoi). Tu peux mettre aussi
le filesystem / en nfs. /usr/src/linux/Documentation/nfsroot.txt pour
les details.
Une fois le noyau demarre, le filesystem / monte, init demarre, le
contenu d'inittab suivi, tu fais ce que tu souhaites.

Les notions de local / distant ca n'a pas vraiment d'importance. Les
fichiers sont ranges dans une arborescence, c'est tout.
--
Kevin



Avatar
no_spam
On Thu, 30 Dec 2004 15:30:57 +0000, Kevin Denis wrote:

On 2004-12-30, Alexandre SUC wrote:

http://www.linux-france.org/article/sys/init-jaco/init-jaco.html



Merci pour l'info, je vois donc comment faire en sorte que partimage se
lance, maintenant je bloque sur le noyau en lui même. Si j'ai bien compris
il faut que je créée un noyau et que j'édite le inittab de ce noyau de sorte
qu'il lance les programmes que je désire.

Un noyau n'a pas d'inittab. Un noyau cherche les matos, et fait ce qu'on

lui demande de faire.

Ce noyau dont j'ai besoin je le créée avec les outils de compilation de
noyau, mais j'obtiens un fichier du type vmlinuz, et je ne parviens pas à
l'éditer... bref je ne vois pas bien le lien entre ce noyau et le inittab
dont il devra se servir.

Le noyau cherche un root device (man rdev). Sur ce root device il

s'attend a trouver un systeme de fichier qui contiendra le fameux
programme init.


Ce n'est plus d'actualité: c'était obsolète avec les noyaux 2.4, ça a
été supprimé du 2.6. Le boot-loader, quel qu'il soit, doit
impérativement donner au noyau ses paramêtres de boot, y compris la
partition de démarage.

[...]




Avatar
Alexandre SUC
"no_spam" a écrit dans le message de
news:
On Thu, 30 Dec 2004 15:30:57 +0000, Kevin Denis wrote:

On 2004-12-30, Alexandre SUC wrote:

http://www.linux-france.org/article/sys/init-jaco/init-jaco.html



Merci pour l'info, je vois donc comment faire en sorte que partimage se
lance, maintenant je bloque sur le noyau en lui même. Si j'ai bien
compris



il faut que je créée un noyau et que j'édite le inittab de ce noyau de
sorte



qu'il lance les programmes que je désire.

Un noyau n'a pas d'inittab. Un noyau cherche les matos, et fait ce qu'on

lui demande de faire.

Ce noyau dont j'ai besoin je le créée avec les outils de compilation de
noyau, mais j'obtiens un fichier du type vmlinuz, et je ne parviens pas
à



l'éditer... bref je ne vois pas bien le lien entre ce noyau et le
inittab



dont il devra se servir.

Le noyau cherche un root device (man rdev). Sur ce root device il

s'attend a trouver un systeme de fichier qui contiendra le fameux
programme init.


Ce n'est plus d'actualité: c'était obsolète avec les noyaux 2.4, ça a
été supprimé du 2.6. Le boot-loader, quel qu'il soit, doit
impérativement donner au noyau ses paramêtres de boot, y compris la
partition de démarage.

[...]

Ne parvenant pas à créér un noyau bootable (invalid kernel au chargement)

j'ai essayé d'utiliser une copie de mon kernel. Avec ce kernel le client pxe
commence le chargement du noyau puis bloque.

Creating root device
Mounting root filesystem
VFS: Can't find ext3 filesystem on dev ram0
mount: error 22 mounting ext3
mount: error 2 mounting none
Switching to new root
switchroot: mount failed: 22
umount /initrd/dev failed: 2
Kernel Panic - not syncing : Attempted to kill init!

Voilà mon fichier defaut dans /tftpboot/pxelinux.cfg/

default localboot
timeout 100
prompt 1
display pxe.txt

LABEL test
KERNEL vmlinuz-2.6.9-1.667
APPEND vga=0x315 initrd=initrd-2.6.9-1.667.img root=/dev/ram0
boot=nfs nfsroot2.168.0.1:/tftpboot

LABEL localboot
localboot 1

Ainsi tenant compte de votre remarque j'ai ajouté les options boot=nfs et
nfsroot=... pour que le noyau obtienne les paramètres de boot du bootloader
(en l'occurence pxe).

Je ne vois donc pas ce qu'il me manque ou ce qui ne va pas.

Si j'interprète bien le message d'erreur il semblerait que le noyau cherche
à monter un FS ext3 dans la ram, ou ce paramètre est-il inscrit ?

Merci encore et bonne année :)





Avatar
no_spam
On Fri, 31 Dec 2004 16:06:30 +0100, Alexandre SUC wrote:


"no_spam" a écrit dans le message de
news:
On Thu, 30 Dec 2004 15:30:57 +0000, Kevin Denis wrote:

On 2004-12-30, Alexandre SUC wrote:

http://www.linux-france.org/article/sys/init-jaco/init-jaco.html



Merci pour l'info, je vois donc comment faire en sorte que partimage se
lance, maintenant je bloque sur le noyau en lui même. Si j'ai bien
compris



il faut que je créée un noyau et que j'édite le inittab de ce noyau de
sorte



qu'il lance les programmes que je désire.

Un noyau n'a pas d'inittab. Un noyau cherche les matos, et fait ce qu'on

lui demande de faire.

Ce noyau dont j'ai besoin je le créée avec les outils de compilation de
noyau, mais j'obtiens un fichier du type vmlinuz, et je ne parviens pas
à



l'éditer... bref je ne vois pas bien le lien entre ce noyau et le
inittab



dont il devra se servir.

Le noyau cherche un root device (man rdev). Sur ce root device il

s'attend a trouver un systeme de fichier qui contiendra le fameux
programme init.


Ce n'est plus d'actualité: c'était obsolète avec les noyaux 2.4, ça a
été supprimé du 2.6. Le boot-loader, quel qu'il soit, doit
impérativement donner au noyau ses paramêtres de boot, y compris la
partition de démarage.

[...]

Ne parvenant pas à créér un noyau bootable (invalid kernel au chargement)



Normal, un noyau 2.6 ne peut pas être bootable. Il faut un boot loader.

j'ai essayé d'utiliser une copie de mon kernel. Avec ce kernel le client pxe
commence le chargement du noyau puis bloque.

Creating root device
Mounting root filesystem
VFS: Can't find ext3 filesystem on dev ram0
mount: error 22 mounting ext3
mount: error 2 mounting none
Switching to new root
switchroot: mount failed: 22
umount /initrd/dev failed: 2
Kernel Panic - not syncing : Attempted to kill init!


Il cherche un initrd qu'il n'arrive pas à trouver.

[...]






Avatar
Jacques Foury
Alexandre SUC wrote:
Ne parvenant pas à créér un noyau bootable (invalid kernel au chargement)


Cette notion n'existe pas. pxelinux.0 est ton boot loader, et
pxelinux.cfg/default indique au boot loader quel noyau charger.

j'ai essayé d'utiliser une copie de mon kernel. Avec ce kernel le client pxe
commence le chargement du noyau puis bloque.

Creating root device
Mounting root filesystem
VFS: Can't find ext3 filesystem on dev ram0


As-tu un message de création du /dev/ram0 ? Si non : c'est normal qu'il ne
trouve rien...

mount: error 22 mounting ext3
mount: error 2 mounting none
Switching to new root


là tu tentes de charger nfsroot, qui comme son nom l'indique charge un root en
NFS... as-tu paramètré ton serveur NFS pour qu'il exporte /tftpboot ? As-tu une
arborescence linux minimale dans /tftpboot ?

switchroot: mount failed: 22
umount /initrd/dev failed: 2
Kernel Panic - not syncing : Attempted to kill init!

Voilà mon fichier defaut dans /tftpboot/pxelinux.cfg/

default localboot
timeout 100
prompt 1
display pxe.txt

LABEL test
KERNEL vmlinuz-2.6.9-1.667


ce fichier semble présent dans ton /tftpboot

APPEND vga=0x315 initrd=initrd-2.6.9-1.667.img root=/dev/ram0
boot=nfs nfsroot2.168.0.1:/tftpboot


là tu indiques que ton root fs est dans tftpboot de 192.168.0.1 c'est l'IP de
ton serveur NFS ?


LABEL localboot
localboot 1

Ainsi tenant compte de votre remarque j'ai ajouté les options boot=nfs et
nfsroot=... pour que le noyau obtienne les paramètres de boot du bootloader
(en l'occurence pxe).


moi je retirerais root=/dev/ram0 pour prendre en compte ceci

Je ne vois donc pas ce qu'il me manque ou ce qui ne va pas.

Si j'interprète bien le message d'erreur il semblerait que le noyau cherche
à monter un FS ext3 dans la ram, ou ce paramètre est-il inscrit ?


dans root=/dev/ram0 je pense


tu démarres fort :-)

Si tu veux je peux t'aider à trouver une solution contactes-moi par mail privé
(sans les nospam)

--
@++
Jacques