Bonjour à tous !
Je galère depuis plus d'une semaine maintenant avec un problème qui ne devrait normalement pas prendre plus de quelques instants à régler.. je pète un câble sérieusement car j'ai l'impression de perdre mon temps pour rien.
J'essaye de faire une mini distrib avec le minimum d'exécutables, pour exécuter sur des postes via pxe, donc certains n'ont pas beaucoup de ram. En gros une alternative à systemrescueCD par exemple, mais personnalisé, et donc beaucoup plus léger.
Pour cela j'ai récupéré les sources du dernier noyau linux : 2.6.25
Je l'ai compilé avec le support du initrd, des systèmes ext2 / ext3 et des périfs /dev/ramX + /dev/shm
Ensuite j'ai fait une mini arborescence en partant de rien. J'ai créé les répertoires à la main et j'ai intégré busybox que j'ai compilé auparavant de manière indépendante, c'est à dire sans avoir besoin d'insérer des librairies. J'ai testé ça avec un chroot pour être sur que mon init s'exécute bien dans mon arborescence. Pour l'instant il ne fait pas grand chose, juste l'affichage d'un message. Je fais ça petit à petit.
Pour créer le initrd je suis parti d'un fichier vide (dd if=/dev/zero ... ) que j'ai peuplé après l'avoir formaté ext2 puis monté dans un dossier avec mount -o loop. Ensuite création des dossiers /dev, /bin, etc, insertion de busybox + liens symboliques, puis enfin umount et gzip de l'initrd.
Le tout, direction /tftpboot. J'utilise pxelinux comme chargeur de démarrage.
Dans le fichier de config, je mets bien le chemin vers le noyau + initrd, avec l'option root=/dev/ram0
pour être sûr.
C'est au moment du lancement que ça se corse : Kernel panic - not syncing : No init found.
Pourtant deux lignes avant, il a bien trouvé l'image et il l'a montée en ext2 comme prévu.
Je cherche déséspérément, ça me prend bien les nerfs là.
Si vous avez une petite idée svp, elle est la bienvenue ;-)
Merci d'avance
Flo
Poste le Saturday 24 May 2008 00:26:22