Problem beim Linken



  • Also folgendes ich habe versucht das ich dieses Tutorial(http://www.lowlevel.eu/wiki/C-Kernel_mit_GRUB) nachzu schreiben. Aber beim Linken ist bei mir ein fehler aufgetreten und zwar scheint alles zu funktionieren aber im VirtualBox schreibt er dann "FATAL: No bootable medium found! System halted." Und es wenn ich die datei dann im editor aufmache ist sie leer(Normalerweiße steht doch immer viele (NUL) teile drin) und sie hat auch 0 Bytes.

    command fürs Linken: "ld -T linkerscript -o kernel.bin kernel_asm.o kernel_c.o"
    Linkerdatei:

    ENTRY (loader)
    OUTPUT_FORMAT(elf32-i386)
    OUTPUT_ARCH(i386:i386)
    
    SECTIONS
    {
      . = 0x00100000;
    
      .text :
      {
        *(.text)
      }
    
      .rodata :
      {
        *(.rodata)
      }
    
      .data : 
      {
        *(.data)
      }
    
      .bss :
      {
        _sbss = .;
        *(COMMON)
        *(.bss)
        _ebss = .;
      }
    }
    

    Weiß nicht obs relevant ist aber ich benutze Win10 kein Linux wie im Tutorial!



  • Eine datei names ld.exe.stackdump wurde erstellt
    inhalt

    Exception: STATUS_ACCESS_VIOLATION at rip=0010043A393
    rax=0000000000000009 rbx=0000000000000000 rcx=0000000001E5C444
    rdx=0000000000000000 rsi=0000000600080638 rdi=0000000000000068
    r8 =000000000000000A r9 =0000000000000000 r10=0000000100000000
    r11=000000010048A590 r12=0000000000000000 r13=000000000000000A
    r14=000000000672D554 r15=0000000600080620
    rbp=0000000000000000 rsp=00000000FFFFC3C0
    program=C:\cygwin64\bin\ld.exe, pid 1940, thread main
    cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B
    Stack trace:
    Frame        Function    Args
    00000000000  0010043A393 (00000000000, 0060006F2E0, 00000000000, 00000000002)
    00000000002  00100441E63 (0060005F328, 0060006F2E0, 0060006E250, 0060005F328)
    00000000002  0010049D3B7 (0060006E120, 006000802C0, 006000802C0, 00600000000)
    00100573C00  001004BC36E (006000802F0, 00000000000, 00600080330, 00000000001)
    001004F1800  0010048FCF2 (000FFFFD680, 00180183D20, 0018011973B, 00600000001)
    00000000000  00100493320 (00100573C00, 000FFFFC910, 001800BA64C, 00000000000)
    00000000001  0010040F1E8 (0010050495C, 00600045640, 0010050495C, 00000000000)
    00000000001  0010040FD20 (00000200000, 00000000007, 001004E8A4A, 006000452A0)
    00100506474  00100411E16 (003FF3E91C0, 003FF3E1080, 001800462A0, 00100000001)
    00100506474  001004EA306 (000FFFFCBD0, 006000283A0, 00000000000, 000FFFFCCB0)
    000FFFFCCB0  001800479B2 (00000000000, 00000000000, 00000000000, 00000000000)
    00000000000  00180045653 (00000000000, 00000000000, 00000000000, 00000000000)
    000FFFFFFF0  00180045704 (00000000000, 00000000000, 00000000000, 00000000000)
    End of stack trace