gcc boot



  • Hallo,

    mit interrupt 19 startet man bekanntlich den bootloader wenn vorher kein memop geladen wurde.

    gcc nutzt ja bekanntlich den AT&T Code, kann man den bootsektor von dl $0x80 in 7C00 setzen bzw für interrupt 19, also entweder indem man dl auf 80 setzt oder wirklich mit interrupt 13, 80 ausliest und für interrupt 19 setzt.

    Ziel ist es von laufwerk zu starten auch wenn im BIOS in der Bootreihenfolge eventuell kein Eintrag mehr folgt oder von CD.

    mfg
    Sascha999999999



  • AFAIK nimmt int 19h keine Parameter an, dh. du kannst so nicht ohne Weiteres beeinflussen, was als naechstes gestartet wird.
    Ob ein CD-ROM per int 13h angesprochen werden kann, ist mir nicht bekannt.

    ... was hat das jetzt mit gcc zu tun?



  • dann muss man den Speicher ändern wie bei einem Bootloader.

    kann man mit interrupt 13h den code kopieren.

    gcc weil der assamlycode in "AT&T Code" benötigt wird.

    mfg
    Sascha999999999

    p.s.: Beipiel: http://ruslug.rutgers.edu/~mcgrof/grub-images/patches/grub-0.93+cvs20030224/stage1/stage1.S unter "general setup", einen workaround for buggy BIOSes



  • Wenn du das sagst...



  • "Wenn du das sagst..."

    so war das nicht gemeint (sorry)...

    Frage ist: Wie macht das ein Bootloader? Ein Bootloader kann ja auch anbieten von CD, Laufwerk, Diskette u.s.w. zu booten auch wenn diese nicht im BIOS eingetragen sind.

    Bin für anregungen dankbar.

    Gruß
    Sascha999999999


Log in to reply