| Zeile 1: | Zeile 1: | ||
| − | |||
Ein '''Linker''' ist ein Programm, das (z.B. vom Compiler generierte) Objektdateien mit anderen Objektdateien und/oder Libraries verknüpft. | Ein '''Linker''' ist ein Programm, das (z.B. vom Compiler generierte) Objektdateien mit anderen Objektdateien und/oder Libraries verknüpft. | ||
| Zeile 93: | Zeile 92: | ||
} | } | ||
</code> | </code> | ||
| + | |||
| + | * Mit ENTRY kann der Einstiegspunkt definiert werden. Dort beginnt dann die Ausführung des Kernels. | ||
| + | * Im SECTIONS-Bereich kann man die Position (das Offset) der einzelnen Segmente im Speicher festlegen. Das ist notwendig, wenn der Kernel nicht an der Position 0x0001 im Speicher liegt. | ||
Am besten nimmt man sich für sein Linkerscript ein vorhandenes Exemplar und ändert die Einträge, z. B. "_main" statt "_start", eine andere Position des text-Segments usw. Wer sich dennoch näher mit Linkerscripts befassen möchte, findet [http://sourceware.org/binutils/docs/ld/index.html hier] das Handbuch zum ld. | Am besten nimmt man sich für sein Linkerscript ein vorhandenes Exemplar und ändert die Einträge, z. B. "_main" statt "_start", eine andere Position des text-Segments usw. Wer sich dennoch näher mit Linkerscripts befassen möchte, findet [http://sourceware.org/binutils/docs/ld/index.html hier] das Handbuch zum ld. | ||