Bonjour,
après avoir galéré quelque temps a installer un noyau debian 2.6.24 patché Xenomai sur une Compact Flash qui tourne avec busybox 1.13.4, j'obtiens une distribution de base qui fonctionne.
Cette distibution fonctionne sur ma cible qui est un pc 104, mais pour le développement, j'utilise l'émulateur bochs.
Cependant, mon temps de démarrage est très long, il faut compter à peu prés 4 minutes avant d'arriver sur le shell.
Je n'arrive pas a faire booter mon noyau sans initrd, pourtant j'ai bien mis en dur le gestion des fichier et la gestion de l'ide. Lorsque que je teste sans initrd j'obtiens comme erreur :
[ 31.144484] VFS: Cannot open root device "hda1" or unknown-block(0,0)
[ 31.145164] Please append a correct "root=" boot option;
Donc lorsque mon noyau se lance avec initrd je tombe sur la vérification du initrd qui prend des plomble :
"checking if it is initramfs image ........ it is "
Puis au bout de 2 minutes le démarrage continu et je tombe bien sur mon shell.
alors ma question est de savoir si il est possible de virer ce test, ou le forcer a répondre yes des le départ de la vérification.
Je peux vous fournir mon .conf si vous voulez y jeter un coup d'œil.
Merci pour vos réponses
Fab
# Autres solutions...
Posté par Ph Husson (site web personnel) . Évalué à 2.
Sinon fait un man rdev pour ce qui concerne le root.
[^] # Re: Autres solutions...
Posté par F4Bi3N . Évalué à 1.
J'ai construit mon system en m'aidant du tuto paru dans le linux magasine hors serie N25, sur la construction d'une distrubution embarquée x86 sur compactflash.
j'ai fais des tests avec l'image disk fournie avec le tuto et leur system boote en meme pas 2 minutes.
Je sais que cela vient de la configuration de la compilation mais je ne sais pas quel parametre
# Pas d'initrd
Posté par peck (site web personnel) . Évalué à 2.
Tu peux essayer de remplacer root= par un rdev sur le noyau à booter (si ca fonctionne encore, je ne sais plus si c'est toujours utilisé).
S'il ne reconnais pas hda1, il est possible que tu ais optimisé ton noyau et qu'une des options supprimées contienne les nom des devices.
[^] # Re: Pas d'initrd
Posté par F4Bi3N . Évalué à 1.
Pour le reste je ne sais pas trop les option a passer en dur dans le noyau.
Sinon j'ai fais le test avec rdev=/dev/hda1 j'obtiens la meme erreur.
[^] # Re: Pas d'initrd
Posté par peck (site web personnel) . Évalué à 2.
Sinon rdev n'est pas une option du noyau, mais une commande en ligne qui modifie le binaire du noyau avant le boot. En effet, ce binaire contient les paramètres par défaut, ceux qui sont pris en compte lorsque tu ne passe aucun argument.
[^] # Re: Pas d'initrd
Posté par benoar . Évalué à 1.
[^] # Re: Pas d'initrd
Posté par peck (site web personnel) . Évalué à 2.
Et il y a encore des gens qui n'utilisent pas d'initrd.
# ma config
Posté par F4Bi3N . Évalué à 1.
Executable file formats - Kernel support for ELF binaries - YES
File systems - Second extended fs support - YES
Device Drivers - ATA/ATAPI/MFM/RLL support - ATA/ATAPI/MFM/RLL support
-YES
- Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support > YES
- Include IDE/ATA2 DISK support > YES
- Use multimode by default > YES
voici les modifs que j'ai faites a partir de mon noyau qui marché sur ma cible pour le faire marcher sans initrd.
[^] # Re: ma config
Posté par benoar . Évalué à 2.
Et sinon, t'as l'air d'utiliser l'ancienne stack IDE, il faudrait plutôt que tu regardes du coté de libata aujourd'hui, dumoins si le driver pour ton chipset est dedans.
# rootdelay
Posté par GNUtoo . Évalué à 2.
# Merci pour vos réponse.
Posté par F4Bi3N . Évalué à 1.
J'ai recompilé plusieurs noyaux pour ne pas utiliser de initrd, mais il doit encore me manquer des options en statique.
La carte que j'utilise est une Geode LX 830.
Et je vais essayer le rootdelay = 5
Merci encore pour vos réponses.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.