C++-Kernel mit GRUB — Änderungen 6695 → 6696

Zeile 26: Zeile 26:
  
 
   // Textausgabe
 
   // Textausgabe
−
   screen << background(color::white) << color::blue << "Willkommen im C++-TestKernel!";
+
   screen << background(color::light_gray) << color::blue << "Willkommen im C++-TestKernel!";
 
}
 
}
 
</cpp>
 
</cpp>
Zeile 290: Zeile 290:
 
SECTIONS
 
SECTIONS
 
{
 
{
−
   .text 0x0100000 :
+
  . = 0x0100000;
 +
 
 +
   .text :
 
   {
 
   {
−
     *(.text)
+
     *(.text*)
 
     *(.rodata)
 
     *(.rodata)
 
   }
 
   }
Zeile 301: Zeile 303:
 
     *(.ctors)
 
     *(.ctors)
 
     end_ctors = .;
 
     end_ctors = .;
−
 
−
    start_dtors = .;
 
−
    *(.dtors)
 
−
    end_dtors = .;
 
  
 
     *(.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.