Bonjour à tous,
Avant toute chose, laissez-moi vous introduire le but du sujet qui va suivre :
Dans le cadre d’un projet lié à ma formation, il m’est demandé de développer un petit analyseur mémoire en C. Pour ce faire, et dans le but de pouvoir traiter un maximum d’espace mémoire, j’ai décidé d’intégrer cet analyseur dans un noyau minimaliste (de sorte à m’assurer de la plus grande disponibilité possible de la mémoire physique).
Je me suis donc intéressé à la création d’un Kernel assurant les fonctions de bases.
Pour ce faire, j’ai suivi le tutoriel présent à cette adresse :
http://a.michelizza.free.fr/pmwiki.php?n=TutoOS.TutoOS
Mon Kernel fonctionne, ou du moins, j’ai réussi à suivre les instructions proposées par l’éditeur de ces articles. Malheureusement, alors que l’éditeur préconise de travailler à l’aide d’une image disquette, et je me retrouve dans l’obligation de trouver un support alternatif (en effet, 1.44 Mo s’avère rapidement problématique
). Deux solutions ont alors été envisagées :
- L’image ISO
- La clé USB
A la suite d’un houleux débat avec moi-même (ahem), l’image CD a donc été sélectionnée !
Actuellement, je suis bloqué au chapitre 17 (ou comment devenir fou à l’aide d’un chapitre intitulé « Booter avec GRUB »)
http://a.michelizza.free.fr/pmwiki.php?n=TutoOS.Grub
J’ai donc dû adapter ce chapitre pour le faire correspondre à mes besoins. Pour cette partie, nous considèrerons que le kernel utilisé est celui délivré dans l’article précédemment nommé.
Voici donc les étapes réalisées dans ce cadre-là :
- Compilation des sources ayant pour objectif la création du kernel
- Préparation d’un dossier qui contiendra les différentes sources nécessaire à la création de l’iso
L’architecture utilisée ressemble à cela :
.
..
kern/
boot/
Le dossier « kern » contient (vous l’aurez deviné) le noyau à exécuter
- Utilisation de la commande grub-mkrescue (avec, en paramètre, le dossier précédemment cité) ayant pour objectif la création d’un iso bootable contenant une version utilisable de grub.
C’est là que le malaise survient :
- Création du fichier grub.cfg
Anomalie : le grub.cfg par défaut est quasiment vide, je ne peux pas utiliser la commande update-grub ni grub-mkconfig : en effet, le fichier ainsi généré serait celui correspondant à ma propre configuration….pas de chance, celui que je veux créer correspond au grub effectif sur mon ISO…
J’ai essayé d’utiliser la commande grub-install…sans succès.
J’ai essayé de construire le fichier à la main, cependant, certaines lignes présentes dans la partie «menuentry » me semble compliqué à renseigner…. (par exemple : l’ID ressemblant à s’y méprendre à : e792525c-8505-494e……) Qui plus est, j’ai réussit à crasher grub une nombre incalculable de fois avec un fichier erroné 
- Création du menu.lst
Théoriquement, ce fichier ne pose pas de problème (j’ai compris quelles étaient les informations qu’il nécessitait), cependant, étant donné que mon grub.cfg ne fonctionne pas, je n’ai pas pu le tester…. (Qui plus est, est-il encore nécéssaire avec grub 2 ?
)
- Lancement manuel du kernel
Étant donné que j’ai accès à la console basic de grub, j’ai tenté de lancer mon kernel via la commande « linux kern/kernel »
Bien évidemment, je me suis retrouver face à une erreur « invalid magic number »
Pour tous ces problème, j’ai bien évidemment cherché sur google et autre pour trouver la solution : cependant, le cas étant atypique (grub sur iso pour lancer un ou plusieurs kernel présent sur ce même iso), sans parler des différentes docs (cf man) lues et relues…
Auriez-vous des pistes pour que je puisse avancer 
PS : si je n’ai pas été assez claire sur un point, n’hésitez pas à me demander de plus amples informations. (et bon courage !)
Merci par avance,
Sojiro

)