OVH Cloud OVH Cloud

clé usb de boot pour install mdk10 à distance

44 réponses
Avatar
Christophe PEREZ
Bonjour,

Je cherche le moyen de faire un système sur clé usb de façon à pouvoir
installer (upgrader) ma mdk en 10.0 sur mon portable qui n'a pas de
lecteur de disquette.

J'avais réussi sans aucun problème pour la mdk 9.1 dont le boot tenait
sur 1 disquette, par un :
dd if=network.img of=/dev/sda1

Mais maintenant qu'il me faut 2 disquettes, comment faire ?
De plus, je ne veux pas sacrifier ma clé usb 256 à ça, et j'ai donc
choisi de la partitionner.

J'ai donc fait 5Mo (fat16) + 251Mo(fat32) en me disant que je pourrais
mettre le contenu des 2 disquettes sur la première partition, mais
comment ?
Si j'utilise dd, ben je ne peux plus mettre la deuxième évidemment.
Si je place manuellement le contenu des 2 disquettes, ben ça ne boote pas.

J'ai éventuellement pensé à mettre 2 partition de 1.4Mo au lieu des
5Mo, et mettre chaque image de disquette sur l'une, mais j'imagine que la
procédure d'install n'ira jamais chercher sur la deuxième partition (non
testé).

Certes, je pourrais faire l'install avec les CD, mais ce n'est pas mon
choix.

Si vous avez une astuce à me proposer, je suis preneur.
Merci d'avance.

--
Christophe PEREZ
Écrivez moi sans _faute !

10 réponses

1 2 3 4 5
Avatar
g.patel
On Thu, 16 Sep 2004 12:23:35 -0400, Christophe PEREZ
wrote:

Bon, j'ai refait un test en ne mettant (un peu au pif) que les modules
strictement nécessaires dans mon cas, et ça semble fonctionner.
La clé boote, le driver de la carte réseau concernée se charge.
Je n'ai pas encore le temps de poursuivre l'installation mais à priori,
ça devrait fonctionner, si je n'ai pas virer un module à tort ;-)


oui, je n'ai pas pensé à le préciser mais si Mandrake a créé une
deuxième disquette c'est que c'était nécessaire. Il peut rentrer
quelques pilotes en plus avec le noyau 10.0, au pifomètre je
dirais une petite dizaine de modules pas trop gros.

(...)

Par contre, si ça fonctionne pour moi, cette image ne fonctionnera
évidemment pas pour une autre carte réseau.


oui, bien sur. Vérifier en passant sur la console par
Alt F3 qu'il ne manque rien au moment du chargement
du ou des modules.

Par conséquent, j'aimerais quand même bien parvenir à faire cette
"grosse" image contenant tous les modules.

En tout cas, merci (une fois de plus) Gérard pour ces explications si
précises sans lesquelles je ne serais jamais parvenu à rien, et bien sûr
à TiChou qui a su amorcé la pompe ;-). Si l'un de vous 2 a encore une
idée pour mon image, j'en serai ravi ;-).


ah mais là pour une image plus grosse que 1.44 Méga, ça
dépasse le niveau du bidouilleur que je suis, il faudrait un artiste.
Autrement, il y a la piste du chargement total par réseau
(y compris le démarrage). Je ne sais pas si ça permettrait
de contourner l'obstacle, mais j'ai lu que c'était possible
sur la liste Cooker.
Je n'ai pas trop d'idée sur la manière de transformer une
image iso en pseudo disquette de démarrage mais c'est
vrai que l'idée est intéressante. Mais bon, ma machine
principale ne permet pas de démarrer sur une clé USB,
alors je suis moins motivé - je peux difficilement tester
avec une disquette 1,44 méga.

Gérard Patel

Avatar
TiChou
Dans le message <news:,
*Christophe PEREZ* tapota sur f.c.o.l.configuration :

# cp network.rdz /mnt/loop/
cp: écraser `/mnt/loop/network.rdz'?y
cp: écriture de `/mnt/loop/network.rdz': No space left on device

Et c'est là que je coince.
Mon fichier ayant grossi car il contient maintenant tous les modules, il
ne rentre plus sur l'image.


Bon, j'ai refait un test en ne mettant (un peu au pif) que les modules
strictement nécessaires dans mon cas, et ça semble fonctionner.
La clé boote, le driver de la carte réseau concernée se charge.
Je n'ai pas encore le temps de poursuivre l'installation mais à priori,
ça devrait fonctionner, si je n'ai pas virer un module à tort ;-)


Attends, tu veux dire que le boot ne s'interrompt pas en attendant d'insérer
la deuxième disquette ? Car j'étais persuadé (n'ayant pas testé ces
disquettes) que le boot se passait en deux parties, boot sur la première
disquette et à la fin de la première disquette un prompt qui demandait
d'insérer la deuxième disquette et si celle-ci n'est pas insérée, on ne
récupérait pas la main pour commencer l'installation. Tu confirmes que ça ne
se déroule pas ainsi ?

Si l'un de vous 2 a encore une idée pour mon image, j'en serai ravi ;-).


Si le but est d'augmenter la taille de l'image afin d'y mettre tous les
modules et sans modifier sa structure, alors ça n'est pas un problème et je
peux alors t'expliquer comment faire.

--
TiChou


Avatar
Christophe PEREZ
Le Thu, 16 Sep 2004 20:05:27 +0000, gerard patel a écrit:

oui, je n'ai pas pensé à le préciser mais si Mandrake a créé une
deuxième disquette c'est que c'était nécessaire. Il peut rentrer
quelques pilotes en plus avec le noyau 10.0, au pifomètre je
dirais une petite dizaine de modules pas trop gros.


Ok... quand j'aurai un peu de temps, je regarderai à combien je peux la
faire monter au maximum.

oui, bien sur. Vérifier en passant sur la console par
Alt F3 qu'il ne manque rien au moment du chargement
du ou des modules.


Bien sûr.
Et puis de toutes les façons, à priori, ça se verra vite à l'install ;-)

ah mais là pour une image plus grosse que 1.44 Méga, ça
dépasse le niveau du bidouilleur que je suis, il faudrait un artiste.


Et il y en a ici ! :-) Mais l'un d'eux daignera t'il se penche sur ce
petit problème ? ;-)

Autrement, il y a la piste du chargement total par réseau
(y compris le démarrage). Je ne sais pas si ça permettrait
de contourner l'obstacle, mais j'ai lu que c'était possible
sur la liste Cooker.


Oui, possible, mais là, ça sortira largement de mes maigres compétences.

Je n'ai pas trop d'idée sur la manière de transformer une
image iso en pseudo disquette de démarrage mais c'est
vrai que l'idée est intéressante.


Ce que je ne comprends pas, c'est ce qui bloque la taille de l'image.
Pourquoi ne pourrait-on pas avoir une image de 3, 4 ou 5Mo ?
Après, que ça rentre ou pas sur le support est une autre affaire...

Mais bon, ma machine
principale ne permet pas de démarrer sur une clé USB,
alors je suis moins motivé - je peux difficilement tester
avec une disquette 1,44 méga.


Je comprends très bien.
Ceci dit, même si tu ne peux pas booter sur l'usb, rien ne t'empêche de
faire l'image ;-)))


--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
Jerome Lambert
Le Fri, 17 Sep 2004 00:18:08 +0200, TiChou a écrit :
Dans le message <news:,
*Christophe PEREZ* tapota sur f.c.o.l.configuration :
(...)

Bon, j'ai refait un test en ne mettant (un peu au pif) que les modules
strictement nécessaires dans mon cas, et ça semble fonctionner.
La clé boote, le driver de la carte réseau concernée se charge.
Je n'ai pas encore le temps de poursuivre l'installation mais à priori,
ça devrait fonctionner, si je n'ai pas virer un module à tort ;-)


Attends, tu veux dire que le boot ne s'interrompt pas en attendant d'insérer
la deuxième disquette ? Car j'étais persuadé (n'ayant pas testé ces
disquettes) que le boot se passait en deux parties, boot sur la première
disquette et à la fin de la première disquette un prompt qui demandait
d'insérer la deuxième disquette et si celle-ci n'est pas insérée, on ne
récupérait pas la main pour commencer l'installation. Tu confirmes que ça ne
se déroule pas ainsi ?


Je peux aussi le confirmer.

J'ai installé un parc entier de machines avec les deux disquettes et un
miroir local.

Quand le programme d'installation a demandé le type de serveur à
contacter, il veut démarrer le réseau et réclame alors la deuxième
disquette contenant les modules à charger.

On peut faire sauter cette étape en insérant la 2ème disquette avant
je ne sais plus quel menu, et donc il trouve directement les modules
ad hoc, sans afficher de messages réclamant quoi que ce soit...

Par contre, tant qu'on n'introduit pas la bonne disquette, il est
impossible de revenir en arrière et de reprendre la main...

--
Jerome
"Moi, je trouve ça rigolo quand y a un truc qui marche pas avec Linux.
Chercher à le faire marcher m'amuse beaucoup. C'est mieux qu'un jeu vidéo."
M. in fr.comp.os.linux.debats


Avatar
Christophe PEREZ
Le Fri, 17 Sep 2004 00:18:08 +0200, TiChou a écrit:

Attends, tu veux dire que le boot ne s'interrompt pas en attendant d'insérer
la deuxième disquette ? Car j'étais persuadé (n'ayant pas testé ces
disquettes) que le boot se passait en deux parties, boot sur la première
disquette et à la fin de la première disquette un prompt qui demandait
d'insérer la deuxième disquette et si celle-ci n'est pas insérée,


Pas tout à fait.
Le boot se fait sur la première disquette, et c'est quand je choisi
install par NFS ou FTP (pas essayé le HTTP) qu'il me dit qu'il va charer
le module de la carte réseau qu'il a trouvé, et me demande de valider OK.
Puis, il me dit alors qu'il lui faut la deuxième disquette.
C'est pour ça que je me suis dit qu'en mettant tous les drivers sur la
première, ça devrait fonctionner.

on ne
récupérait pas la main pour commencer l'installation. Tu confirmes que ça ne
se déroule pas ainsi ?


Je confirme !
En fait, j'en déduis qu'il se contente de regarder dans le premier
modules.mar si le driver y est, et s'il n'y est pas, il demande la
deuxième disquette.

Si le but est d'augmenter la taille de l'image afin d'y mettre tous les
modules et sans modifier sa structure, alors ça n'est pas un problème et je
peux alors t'expliquer comment faire.


C'est bien ça ! Je t'écoute. :-)

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
TiChou
Dans le message <news:,
*Christophe PEREZ* tapota sur f.c.o.l.configuration :

Si le but est d'augmenter la taille de l'image afin d'y mettre tous les
modules et sans modifier sa structure, alors ça n'est pas un problème et
je peux alors t'expliquer comment faire.


C'est bien ça ! Je t'écoute. :-)


On va procéder un peu différemment en recréant une nouvelle image.

pegase tichou # mkdir mdk10
pegase tichou # cd mdk10
pegase mdk10 # wget
http://ftp.uni-bayreuth.de/linux/Mandrake/10.0/i586/images/network.img
[...]
pegase mdk10 # wget
http://ftp.uni-bayreuth.de/linux/Mandrake/10.0/i586/images/network_drivers.img
[...]

On crée notre nouvelle image, le double d'une disquette standard :

pegase mdk10 # mkdosfs -C -r 16 -f 1 network_fcolc.img 2880
mkdosfs 2.10 (22 Sep 2003)

On monte l'image de la disquette de boot d'origine et l'image de notre
future disquette de boot :

pegase mdk10 # mount -t msdos -o loop network.img /mnt/floppy
pegase mdk10 # mount -t msdos -o loop network_fcolc.img /mnt/root_fs

On copie l'intégral de la disquette de boot sur la nouvelle :

pegase mdk10 # cp -a /mnt/floppy/* /mnt/root_fs
pegase mdk10 # umount -d /mnt/floppy

On récupère le initrd compressé et on le monte afin de le modifier :

pegase mdk10 # cp /mnt/root_fs/network.rdz .
pegase mdk10 # gzip -d -S .rdz network.rdz
pegase mdk10 # mount -t auto -o loop network /mnt/initrd

On récupère et on compile l'outil mar pour la préparation de la future
archive modules.mar :

pegase mdk10 # mkdir modules
pegase mdk10 # export CVS_RSH=ssh
pegase mdk10 # export CVSROOT=:ext::/cooker
pegase mdk10 # cvs -z3 checkout gi/mdk-stage1
's password:
[...]
pegase mdk10 # cd gi/mdk-stage1/mar/
pegase mar # make
[...]
pegase mar # cp -a mar ../../../modules
pegase mar # cd ../../../modules

On récupère dans les archives modules.mar les modules de la disquette de
boot et les modules de la deuxième disquette :

pegase modules # for module in `./mar -l /mnt/initrd/modules/modules.mar`
do ./mar -x /mnt/initrd/modules/modules.mar $module
done
pegase modules # mount -t auto -o loop ../network_drivers.img /mnt/floppy

pegase modules # for module in `./mar -l /mnt/floppy/modules.mar`
do ./mar -x /mnt/floppy/modules.mar $module
done
pegase modules # umount -d /mnt/floppy


On crée la nouvelle archive modules.mar qui contiendra tous les modules :

pegase modules # ./mar -c modules.mar *.ko
mar: created archive modules.mar (96 files, length 2809710)

On remplace sur notre disquette de boot l'archive modules.mar par la
nouvelle :

pegase modules # cp modules.mar /mnt/initrd/modules/
pegase modules # umount -d /mnt/initrd

Notre nouveau initrd est pret et il remplace l'ancien :

pegase modules # cd ..
pegase mdk10 # gzip -S .rdz network
pegase mdk10 # cp network.rdz /mnt/root_fs
pegase mdk10 # umount -d /mnt/root_fs

Il nous reste plus qu'à installer le bootloader syslinux sur l'image de
notre nouvelle disquette :

pegase mdk10 # syslinux network_fcolc.img

L'image est prête à être transférer sur une clé USB et est sensée booter
comme il faut, mais ça je te laisse tester car vu l'heure je n'ai plus la
force. :-)

http://clodo.tichou.org/~tichou/network_fcolc.img

Par contre, je ne garantie pas que mon image fonctionne car j'ai (comme
d'habitude...) eu beaucoup de problèmes lors des différents démontages des
images montées en loopback.

--
TiChou


Avatar
TiChou
Dans le message <news:,
*Jerome Lambert* tapota sur f.c.o.l.configuration :

Je peux aussi le confirmer.

J'ai installé un parc entier de machines avec les deux disquettes et un
miroir local.

Quand le programme d'installation a demandé le type de serveur à
contacter, il veut démarrer le réseau et réclame alors la deuxième
disquette contenant les modules à charger.

On peut faire sauter cette étape en insérant la 2ème disquette avant
je ne sais plus quel menu, et donc il trouve directement les modules
ad hoc, sans afficher de messages réclamant quoi que ce soit...

Par contre, tant qu'on n'introduit pas la bonne disquette, il est
impossible de revenir en arrière et de reprendre la main...


Merci de tes précisions Jérôme.

--
TiChou

Avatar
Christophe PEREZ
Le Fri, 17 Sep 2004 03:40:46 +0200, TiChou a écrit:

pegase mdk10 # mkdosfs -C -r 16 -f 1 network_fcolc.img 2880
mkdosfs 2.10 (22 Sep 2003)


L'astuce était donc là, et

[...]
pegase mdk10 # syslinux network_fcolc.img


là ! :-)

Moi, je faisais le syslinux sur le /dev/sda1.

L'image est prête à être transférer sur une clé USB et est sensée booter
comme il faut, mais ça je te laisse tester car vu l'heure je n'ai plus la
force. :-)


Fait, impec !

http://clodo.tichou.org/~tichou/network_fcolc.img


Ne boote pas en mode graphique, mais celle-ci, si :

http://www.novazur.org/download/get.php?fichier=%2Fdownload%2Fnetwork_x2.img

Par contre, il reste le point N°2 à régler maintenant.
J'ai donc une image, bootable, qui contient tout, parfait.
Seulement, si je crée une autre partition sur la clé, celle-ci ne boote
pas !?!
Que ce soit une partition primaire ou étendue, rien à faire.
Mais si je supprime cette 2ème partition, la clé boote à nouveau sans
problème.

Une idée ?


--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
Christophe PEREZ
Le Fri, 17 Sep 2004 08:43:28 -0400, Christophe PEREZ a écrit:

http://www.novazur.org/download/get.php?fichier=%2Fdownload%2Fnetwork_x2.img


Oops !

http://www.novazur.com/download/get.php?fichier=%2Fdownload%2Fnetwork_x2.img

(mélange entre serveur local et hébergé)

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
Youri
Jerome Lambert wrote:

Le Wed, 15 Sep 2004 11:28:04 -0400, Christophe PEREZ a écrit :

j'ai fait un :
dd if=boot.iso of=/dev/sda


Piste peut-être idiote:

graver l'iso, et puis dd if=/dev/cdrom of=/dev/sda


Bonjour,
Une question peut-être idiote, ça fait quelle différence, au niveau du
résultat sur la clé USB, par rapport à 'dd if=boot.iso of=/dev/sda' ?

--
Youri


1 2 3 4 5