Bonjour, j'ai remarqué que certain tutos disaient qu'il fallait compiler le bootSecteur / kernel en format ELF alors que d'autres, en binaire pur ! Lequel choisir ? Et quelles sont les différences ?
Bonjour, j'ai remarqué que certain tutos disaient qu'il fallait compiler le bootSecteur / kernel en format ELF alors que d'autres, en binaire pur ! Lequel choisir ? Et quelles sont les différences ?
Bonjour,
En format ELF, tu seras obligé d'utiliser un éditeur de lien pour avoir ton programme final (utilisé surtout pour les OS en C).
En format binaire, le code est entièrement compilé en une seule étape.
Si c'est le secteur de boot lui-même que tu veux initialiser, sache que le MBR d'un PC fait exactement 512 octets, auquel tu enlèves 2 octets pour la signature « 55 AA » et quatre fois 16 octets pour la table des partitions primaires.
Il te reste donc exactement 446 octets pour y loger ton exécutable. Si tu arrives à y loger un ELF, bravo. Mais, dans tous les cas, le BIOS va charger ce secteur en une seule fois à l'adresse 0000:7c00 et l'exécuter à partir du début. Donc, binaire brut.
Comme le dit Euquigam, l'intérêt est d'avoir des fichiers que tu peux manipuler avec tes outils habituels pendant tout le temps de la construction. Il se peut aussi que ces tutoriels partent du principe que le secteur de boot contiennent une amorce chargeant un petit bout de programme capable de repérer et de lire un ELF, qui lui va contenir soit un noyau entier, soit un programme suffisamment long pour démarrer ton ordinateur en entier.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager