[SOS] Secteur de boot

Thomas Petazzoni thomas.petazzoni at enix.org
Sam 8 Jan 21:51:40 CET 2005


Salut,

Chris wrote:

> Voilà. Il y a qqs trucs certainement inutiles dans le fichier de compil
> mais cela vient du fait que je compte lier plusieurs fichiers (d'où le
> ld, objcopy, etc). Juste tapper : sh compil.sh et l'image à charger par
> Bochs s'appelle kernel.

Okay, je regarde ça.

Note que tu peux me retrouver (et parfois David) sur IRC. Le serveur est 
irc.utbm.info, le channel est #kosdev.

> Mais il ne pourrait pas fonctionner à l'endroit de sa première copie
> (avec sos.lds défini pour cela) sans 2ème copie pour passer >1M ? Pour
> quelle raison ?

Si, avec un sos.lds modifié, cela peut tout à fait fonctionner.

Le noyau est chargé > 1M pour ne pas avoir de problème de place. Si tu 
le charges < 1M, il faut qu'il fasse moins de 640 Ko, sinon tu es dans 
la zone du BIOS (mémoire vidéo et compagnie).

> En effet, c'est probablement pourquoi mon secteur de boot ne peut
> charger SOS, mais le problème est qu'il ne peut pas non plus charger mon
> pseudo-début-de-mini-kernel :P ( à savoir simplement le void main(void)
> { for(;;);} ) donc il doit y avoir un autre problème.

Il faut voir comment tu linkes ce mini-kernel.

A noter que pour débugger dans Bochs, une astuce très intéressante est 
le port-e9-hack. Il faut que Bochs ait été compilé avec. Une fois que 
c'est fait, tout caractères envoyé sur le port d'I/O 0xE9 sera envoyé 
sur la console standard. C'est *vraiment* très pratique.

Au fait, pourquoi veux-tu faire ton propre bootloader ? L'utilisation de 
Grub est chaudement recommandée. Les aspects étranges, historiques et 
infâmes de l'architecture x86 font perdre beaucoup de temps lors de 
l'écriture d'un bootloader. Le plus intéressant, c'est le noyau 
lui-même, et Grub permet d'attaquer directement ces parties intéressantes.

Mais je comprendrais tout à fait que pour le défi, tu veuilles refaire 
un bootsecteur !

Bonne soirée,

Thomas
-- 
PETAZZONI Thomas - thomas.petazzoni at enix.org
http://thomas.enix.org - Jabber: thomas.petazzoni at jabber.dk
KOS: http://kos.enix.org/ - Lolut: http://lolut.utbm.info
Fingerprint : 0BE1 4CF3 CEA4 AC9D CC6E  1624 F653 CB30 98D3 F7A7
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 256 bytes
Desc: OpenPGP digital signature
Url : http://the-doors.enix.org/pipermail/sos/attachments/20050108/a0faa556/signature.pgp


Plus d'informations sur la liste de diffusion Sos