asm mit c datei linken



  • also ich hab einen bootloader den ich mit nasm übersetz und einen
    kernel den ich mit gcc übersetz

    das problem ist, dass ich im bootloader nicht weiss wie groß der kernel ist
    ich lad also einfach möglichst viele sektoren von der diskette und hoff dass es reicht

    allerdings kommt mir das n bissi unsauber vor

    ne andere möglichkeit wär noch dass ich nahe am start des kernel codes die größe kernels ableg und dann im bootloader nach dem laden des ersten sektors auf kernelstart+offset zugreif bevor ich den rest lade

    kommt mir aber auch ned so ganz sauber vor



  • Ist es auch nicht. Ein vernuenftiger Bootloader hat eine rudimentaere Unterstuetzung fuer das Dateisystem, mit dem dein OS arbeitet (zB. idR. FAT12 auf Disketten).
    Die Unterstuetzung zum Laden der Kerneldatei von FAT12 passt sogar locker in 512 byte.
    Fuer andere Dateisysteme musst du deinem Bootloader evtl. ein paar weitere Sektoren anhaengen - und da solltest du auf jeden Fall wissen, wieviele das sind.


Anmelden zum Antworten