C-Kernel mit GRUB — Änderungen 2914 → 3259

Zeile 83: Zeile 83:
 
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'':
 
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)
+
<pre>
−
+
ENTRY (loader)
−
SECTIONS{
+
 
−
    . = 0x00100000;
+
SECTIONS
−
+
{
−
    .text :{
+
  . = 0x00100000;
−
        *(.text)
+
−
    }
+
  .text :
−
+
  {
−
    .rodata ALIGN (0x1000) : {
+
    *(.text)
−
        *(.rodata)
+
  }
−
    }
+
−
+
  .rodata ALIGN (0x1000) :
−
    .data ALIGN (0x1000) : {
+
  {
−
        *(.data)
+
    *(.rodata)
−
    }
+
  }
−
+
 
−
    .bss : {
+
  .data ALIGN (0x1000):  
−
        _sbss = .;
+
  {
−
        *(COMMON)
+
    *(.data)
−
        *(.bss)
+
  }
−
        _ebss = .;
+
 
−
    }
+
  .bss :
−
}
+
  {
 +
    _sbss = .;
 +
    *(COMMON)
 +
    *(.bss)
 +
    _ebss = .;
 +
  }
 +
}
 +
</pre>
 +
 
 
Ich bin mir nicht 100%ig sicher ob dies die optimalste Linkerfile ist, aber sie funktioniert ;)
 
Ich bin mir nicht 100%ig sicher ob dies die optimalste Linkerfile ist, aber sie funktioniert ;)