Question

Je développe un noyau pour un système d'exploitation. Afin de l'exécuter, j'ai décidé d'utiliser GRUB. Actuellement, j'ai un script attaché à stage1 , stage2 de GRUB, un fichier pad et le noyau lui-même qui le rend amorçable. Le seul problème est que lorsque je l’exécute, vous devez indiquer à GRUB où se trouve le noyau et quelle en est la taille manuellement, puis amorcez-le, comme ceci:

kernel 200+KERNELSIZE
boot

KERNELSIZE est la taille du noyau en blocs. Ceci est correct et correct pour un début, mais est-il possible d’obtenir ces valeurs dans le binaire et de faire en sorte que GRUB initialise le noyau automatiquement? Des suggestions sur la manière d’y parvenir?

Était-ce utile?

La solution

J'imagine que vous pouvez créer votre propre fichier de configuration menu.lst et le charger dans le shell grub avec l'option "configfile /path/to/menu.lst" puis effectuez " setup (hd0) " remplacer les valeurs au besoin. Je ne fais que deviner, mais rien ne dit quelles sont les différences entre votre configuration personnalisée.

Autres conseils

http://www.gnu.org/software/grub/manual/grub.html#Embedded -data donne des informations générales sur le stockage de listes de blocage dans GRUB. Plus important encore, il est mentionné que les listes de blocage sont stockées dans des emplacements bien définis dans stage2.

Vous voudrez probablement consulter le code source de GRUB pour connaître l'emplacement exact.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top