SIGINT10 - final10

SIGINT 2010
Konferenz für Netzbewohner, Hacker und Aktivisten

Referenten
Andreas Galauner
Programm
Tag Day 2 - 2010-05-23
Raum Workshop (MP7)
Beginn 15:00
Dauer 01:45
Info
ID 3890
Veranstaltungstyp Workshop
Track Hacker
Sprache der Veranstaltung deutsch
Feedback

Intel x86 Bootstrapping

Wie bringt man eigenen Code auf einem Intel Prozessor zum laufen, wenn man aus dem BIOS fällt?

Wenn man so einen gebräuchlichen (Heim-)Computer einschaltet landet man nach dem BIOS im Regelfall in einem Bootloader, der ein Betriebssystem lädt. Doch wie genau tut er das und wie bekommen wir da eigenen Code anstatt eines Linux- oder Windows-Kernels ans laufen?

Der erste x86 Prozessor, der 8086, von Intel erblickte 1978 in Form einiger Schaltpläne das Licht der Welt. Verbaut wurde er in IBM PCs, Space Shuttles und einigen anderen Geräten. Sogar heutige, leicht kompliziertere, CPUs von Intel verhalten sich nach dem Einschalten immer noch wie eine CPU aus dem Jahre 1978. Wie bekommt man also alle versprochenen Features wie den 32 oder 64 Bit Modus, Paging, etc. mit möglichst wenig Assembler und möglichst viel Code in $Hochsprache (hier C oder C++) ans laufen? Genau das soll in diesem Workshop behandelt werden.