Créer un bootloader

emilie -  
 norman -
Bonjour,

J'essaye de créer mon propre bootloader, pour ça j'utilise une partie du code du grub.
Les fichiers sont les suivantes
------------------------------------------------------------------
apm.S
char_io.c disk_io.c fsys_fat.c mb_header.h setjmp.S stage1.h
asm.S common.c filesys.h mb_info.h shared.h term.h
bios.c console.c freebsd.h Makefile pc_slice.h stage1_5.c
-----------------------------------------------------------------
J' arrive pas a passer du mode reel au mode protege en utilisant qemu.
Es que quelqu'un peut m'aider?


2 réponses

mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 879
 
Je ne suis pas sûre que ce soit possible, mais bon c'est très lointain donc je peux me tromper. En plus à l'époque je travaillais sur un module et non sur un boot loader donc je ne sais pas trop si les problématiques concernant le développeur sont les mêmes mais a priori, je pense que oui.

De mémoire tu codes ton programme en C dans l'espace kernel, tu compiles le tout et tu testes (dans ton cas en installant le boot loader dans le MBR et en démarrant dessus, dans le cas d'un module en le déchargeant/rechargeant avec rmmod et modprobe).

Soit ça marche et tant mieux, soit ça plante et généralement l'erreur n'est pas récupérable (kernel panic...). Dans ce genre de situation, la fonction printk te permets d'enregistrer des informations de debug dans les logs ou sur la console dans le cas d'un module. Je crois que selon le niveau que tu définis, l'information n'est pas écrite au même endroit.

Dans ton cas, vu que tu es au niveau du bootloader, aucun système de fichiers n'est a priori monté donc difficile d'écrire dans un fichier. Il faudrait donc afficher ces informations à l'écran.

J'espère que ça t'aidera et que je ne suis pas trop à l'ouest.

Bonne chance
1
norman
 
ça doit etre qemu qui a du mal a passer en mode mode protégé se le registre cr0
qui coince..
0