OVH Cloud OVH Cloud

Démarrage avec ramdisk (initrd)?

1 réponse
Avatar
thierry
Salut,
j'aurait besoin de savoir dans le détail comment boote une noyau
utilisant un init ramdrive.
Ce que j'ai compris :
- le loader charge en mémoire l'image du ramdrive
- le loader charge en mémoire l'image du noyau
- le noyau est lancé
- le noyau décompresse l'image du ramdrive (première question comment il
sait ou elle est?)
- le noyau monte le SF ramdrive (comment il sait sur quelle device il
est?)

Mon problème :
j'ai une disquette de boot, avec un ramdrive dessus.
- le ramdrive et le noyau sont chargés ;
- le noyau commence à monter
- VFS m'envoie un kernel panic comme il peut pas monter device 08:42
(alors que ca devrai être le ramdrive qui doit être monté).

Merci.
A+

1 réponse

Avatar
no_spam
On Sun, 24 Oct 2004 15:26:53 +0200, thierry wrote:

Salut,
j'aurait besoin de savoir dans le détail comment boote une noyau
utilisant un init ramdrive.
Ce que j'ai compris :
- le loader charge en mémoire l'image du ramdrive
- le loader charge en mémoire l'image du noyau


J'aurais dit l'inverse: le noyau d'abord, l'initrd ensuite: celui ci est
généralement au dessus du noyau en mémoire physique, donc il vaut mieux
avoir chargé celui-ci auparavant...

- le noyau est lancé
- le noyau décompresse l'image du ramdrive (première question comment il
sait ou elle est?)


L'addresse de l'initrd lui est passé dans un registre par le boot loader.

- le noyau monte le SF ramdrive (comment il sait sur quelle device il
est?)


Il ne peut y avoir qu'un seul filesystem dans un initrd, commençant au
début de celui-ci. Pas de partitions, donc. C'est plus simple pour le
trouver, comme ça ;-)

Mon problème :
j'ai une disquette de boot, avec un ramdrive dessus.
- le ramdrive et le noyau sont chargés ;
- le noyau commence à monter
- VFS m'envoie un kernel panic comme il peut pas monter device 08:42
(alors que ca devrai être le ramdrive qui doit être monté).


Y a-t-il bien un paramêtre initrd=xxx passé au kernel ?
(01:00 => xxx, par exemple...)
Y a-t-il bien un /linuxrc à la racine de l'initrd ?
Le support de l'initrd est-il bien présent dans le noyau ?
L'initrd est-il valide (il suffit de le monter à travers un loop-device
pour le savoir...) ?
Le file-system de l'initrd est-il bien reconnu par le noyau ?