Boot off floppy + initrd

Boot off floppy + initrd - Installation - Linux et OS Alternatifs

Marsh Posté le 07-11-2003 à 09:43:26    

Mon problème est simple:
J'ai une machine que je veux faire démarrer sur le réseau (/ en nfs).
Je lui fait un kernel avec support for ramdisk at boot time, un initrd.img avec le /linuxrc qui active le réseau, monte le nfs et pivot_root dessus.
Je fait une entrée dans lilo avec "initrd=/boot/initrd.img" et en enlevant le "root=/dev/hdaX".
Quand je fais tout ça sur ma Mandrake 9.1, tout va bien, il boot bien sur du NFS.
Mais quand j'essaie la même chose avec ma debian stable, noyau 2.4.20 de ftp.kernel.org, je n'y arrive pas:
il ne charge pas mon RamDisk (quand je mets le lilo sur disquette, la durée de chargement de la disquette
montre bien qu'il ne charge pas le ramdisk). Du coup, à la fin VFS plante en me disant qu'il n'a pas trouvé le RamDisk.
Question: comment faire ? je suppose que le noyau de la Mandrake a les options qui vont bien et que j'ai oubliées dans ma debian, mais lesquelles (il y a bien ext2 en dur, le ramdisk est un conteneur ext2 gzip-é !) ?
Savez-vous comment faire avec syslinux (pouvez-vous me donner un syslinux.cfg avec une entrée ramdisk) ?
D'avance merci ...

Reply

Marsh Posté le 07-11-2003 à 09:43:26   

Reply

Marsh Posté le 07-11-2003 à 09:44:45    

Contrairement aux apparences, ceci n'est pas un troll "Mandrake ça Roxx et debian ça sucks".

Reply

Marsh Posté le 07-11-2003 à 09:52:51    

Quelque chose comme ça:

Code :
  1. default linux
  2. label linux
  3.   kernel vmlinuz
  4.   append "initrd=chain.img"


va-t-il marcher (chemin vers chain.img) ?

Reply

Marsh Posté le 07-11-2003 à 10:04:51    

Un lilo.conf comme ça

Code :
  1. boot=/dev/fd0
  2. image=/vmlinuz-2.2.14-1vl6
  3.         label=linux
  4.         root=0x101    # This must not be root=0x100, but actual value is ignored
  5.         initrd=/initrd-game.img   # specify the initrd for the game


suivi d'un lilo -r /dev/fd0
En fait, "root=0x100" est par défaut dans le kernel si j'ai bien compris.

Reply

Marsh Posté le 07-11-2003 à 10:47:26    

Bon après consultation de la doc ramdisk.txt en fait on peut se passer de lilo et de syslinux:
à supposer que l'image du noyau fasse 800k on a

Code :
  1. # écrit le noyau au secteur 0 de la disquette
  2. dd if=vmlinuz of=/dev/fd0 bs=1k
  3. # écrit le ramdisk, après le noyau attention à ne pas sous-estimer 800 !
  4. dd if=chain.img of=/dev/fd0 bs=1k seek=800
  5. # dit au noyau sur la disquette qu'il doit booter depuis la disquette
  6. rdev /dev/fd0 /dev/fd0 
  7. # 17184 = 0 * 2^15 + 1 * 2^14 + 800 = ramdisk sur la même disquette,
  8. # charge un ramdisk, qui commence au secteur 800 de la disquette
  9. rdev /dev/fd0 17184


Ca devrait faire l'affaire.


Message édité par glacote le 07-11-2003 à 10:48:36
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed