| Zeile 26: | Zeile 26: | ||
// Textausgabe | // Textausgabe | ||
| − | screen << background(color:: | + | screen << background(color::light_gray) << color::blue << "Willkommen im C++-TestKernel!"; |
} | } | ||
</cpp> | </cpp> | ||
| Zeile 290: | Zeile 290: | ||
SECTIONS | SECTIONS | ||
{ | { | ||
| − | .text | + | . = 0x0100000; |
| + | |||
| + | .text : | ||
{ | { | ||
| − | *(.text) | + | *(.text*) |
*(.rodata) | *(.rodata) | ||
} | } | ||
| Zeile 301: | Zeile 303: | ||
*(.ctors) | *(.ctors) | ||
end_ctors = .; | end_ctors = .; | ||
| − | |||
| − | |||
| − | |||
| − | |||
*(.data) | *(.data) | ||
| Zeile 314: | Zeile 312: | ||
} | } | ||
| − | /DISCARD/ : { *(.dtors) } | + | /DISCARD/ : { *(.dtors) *(.comment) } |
} | } | ||
</pre> | </pre> | ||
| Zeile 321: | Zeile 319: | ||
Nur noch ein kurzer Aufruf von LD, und wir haben unseren fertigen Kernel: | Nur noch ein kurzer Aufruf von LD, und wir haben unseren fertigen Kernel: | ||
| − | ld -T link.txt -o kernel.bin asmKernel.o Startup.o Video.o Kernel.o | + | ld -melf_i386 -T link.txt -o kernel.bin asmKernel.o Startup.o Video.o Kernel.o |
Wie der Kernel nun mitsamt GRUB auf einer Diskette landet, kann im Artikel [[C-Kernel_mit_GRUB|C-Kernel mit GRUB]] nachgelesen werden. Hier verfährt man einfach analog. | Wie der Kernel nun mitsamt GRUB auf einer Diskette landet, kann im Artikel [[C-Kernel_mit_GRUB|C-Kernel mit GRUB]] nachgelesen werden. Hier verfährt man einfach analog. | ||