Bonjour,
J'essaie actuellement de créer un bootloader dans l'objectif d'appronfondir mes connaissances systèmes en développant un petit kernel sans aucune prétention particulière.
Après avoir lu pas mal de docs, je suis tombé sur un tuto sur osdever.net qui devrait me permettre d'écrire un caractère sur la sortie standard. Le code compile mais le problème vient lorsque j'essaie de tester le binaire. La plupart des sites montrent des tests basés sur des disquettes mais je ne peux pas faire cela, car je n'ai pas de lecteur disquette ... J'aimerai donc tester mon bootloader à partir d'une image ISO que je créerai.
Pour commencer, voici le code simpliste du bootloader :
Ma ligne de compilo :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 malves@bonobo ~/Work/OsDev/MyKernel/BootStrap $ cat BootStrap.S [BITS 16] [ORG 0x7C00] main: mov ah,0x0E mov bh,0x00 mov bl,0x07 mov al,65 int 0x10 jmp $ times 510-($-$$) db 0 dw 0xAA55
Je teste l'ISO à l'aide de qemu en tapant: qemu -cdrom BootStrap.iso et avec VMWare en configurant son lecteur CD-ROM sur mon ISO mais rien n'y fait : Les sorties m'affichent un message du genre: "Booting from CD-Rom..." et puis plus rien ne se passe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 malves@bonobo ~/Work/OsDev/MyKernel/BootStrap $ make nasm -f bin -o BootStrap.bin BootStrap.S mkisofs -R -b BootStrap.bin -no-emul-boot -boot-load-size 4 -boot-info-table -o BootStrap.iso BootStrap.bin I: -input-charset not specified, using utf-8 (detected in locale settings) Size of boot image is 4 sectors -> No emulation Total translation table size: 2048 Total rockridge attributes bytes: 338 Total directory bytes: 0 Path table size(bytes): 10 Max brk space used 0 178 extents written (0 MB)
Quelqu'un aurait-il une solution à me proposer ?
Merci de votre aide
Partager