| Zeile 5: | Zeile 5: | ||
== Kernel == | == Kernel == | ||
| − | Der | + | Der eigentliche Kernel soll ja in C programmiert sein. Ein Teil des Kernels muss aber immernoch in Assembler sein. |
=== Kernel - C === | === Kernel - C === | ||
| Zeile 66: | Zeile 66: | ||
=== Assemblieren === | === Assemblieren === | ||
| − | Dies | + | Dies geschieht ganz einfach mit diesem Befehl: |
$ nasm -f elf -o kernel_asm.o kernel.asm | $ nasm -f elf -o kernel_asm.o kernel.asm | ||
Damit wird eine [[Elf]]-Datei erzeugt, die wir später noch linken können. | Damit wird eine [[Elf]]-Datei erzeugt, die wir später noch linken können. | ||
| Zeile 76: | Zeile 76: | ||
=== Linken === | === Linken === | ||
| − | Meiner Meinung nach ist dies der schwierigste Teil des "Zusammenbauens". Beim Linken wird unser Assembler-Kernel und unser C-Kernel miteinander verbunden und es | + | Meiner Meinung nach ist dies der schwierigste Teil des "Zusammenbauens". Beim Linken wird unser Assembler-Kernel und unser C-Kernel miteinander verbunden und es wird z.B dem Assembler-Kernel auch gesagt wo die main-Funktion des C-Kernels liegt. Wir brauchen erstmal eine Konfigurationsdatei für ''ld'': |
ENTRY (loader) | ENTRY (loader) | ||