GRUB-0.93 kompilieren - Riesen Stage Files bzw. Linker Fehler?

Dieses Thema im Forum "Laufwerke / Speichermedien" wurde erstellt von sticky bit, 05.07.2003.

  1. #1 sticky bit, 05.07.2003
    Zuletzt bearbeitet: 05.07.2003
    sticky bit

    sticky bit Grünschnabel

    Dabei seit:
    17.06.2003
    Beiträge:
    6
    Zustimmungen:
    0
    Ort:
    anywhere before EOF
    Also ich versuch mich gerade im GRUB kompilieren, Version 0.93.
    Umgebungs CFLAGS waren "-O3 -march=i586 -mcpu=i586", Umgebungs LDFLAGS "-Bdynamic". Konfigureiert habe ich das ganze mit ./configure --prefix=/usr --sysconfdir=-etc --disable-hercules --disable-serial --disable-auto-linux-mem-opt. Dann make und sobald make an die Stage2 Dateien geht passiert am Ende folgendes:
    Code:
    gcc  -O3 -march=i586 -mcpu=i586  -Bdynamic -o pre_stage2.exec -nostdlib -Wl,-N \
    -Wl,-Ttext -Wl,8200 pre_stage2_exec-asm.o pre_stage2_exec-bios.o \
    pre_stage2_exec-boot.o pre_stage2_exec-builtins.o pre_stage2_exec-char_io.o \
    pre_stage2_exec-cmdline.o pre_stage2_exec-common.o pre_stage2_exec-console.o \
    pre_stage2_exec-disk_io.o pre_stage2_exec-fsys_ext2fs.o \
    pre_stage2_exec-fsys_fat.o pre_stage2_exec-fsys_ffs.o pre_stage2_exec-fsys_jfs.o \
    pre_stage2_exec-fsys_minix.o pre_stage2_exec-fsys_reiserfs.o \
    pre_stage2_exec-fsys_vstafs.o pre_stage2_exec-fsys_xfs.o \
    pre_stage2_exec-gunzip.o pre_stage2_exec-hercules.o pre_stage2_exec-md5.o \
    pre_stage2_exec-serial.o pre_stage2_exec-smp-imps.o pre_stage2_exec-stage2.o \
    pre_stage2_exec-terminfo.o pre_stage2_exec-tparm.o
    pre_stage2_exec-terminfo.o: In function `ti_set_term':
    pre_stage2_exec-terminfo.o(.text+0x220): undefined reference to `memcpy'
    pre_stage2_exec-terminfo.o: In function `ti_get_term':
    pre_stage2_exec-terminfo.o(.text+0x23d): undefined reference to `memcpy'
    collect2: ld returned 1 exit status
    
    (gekürzt zwecks besserer Lesbarkeit, gesamte Ausgabe des make Vorgangs im Anhang)
    OK, dacht ich mit liegt vielleicht an meinen CFLAGS bzw. LDFLAGS so Stagefiles sind sicherlich was besonderes also ein make distclean; unset LDFLAGS; unset CFLAGS und der ganze Spass von vorne. Ergebnis, das selbe, selber Fehler. Hmm, also hab ich mir die Befehle mal angesehen und, na klar memcpy() kommt aus libc.a aber es ist der -nostdlib Switch gesetzt, dann linked das wohl ins Leere. Schön als wieder die make distclean und die CFLAGS angepasst, dies mal "-lc" und siehe da alles lief durch. Nur jetzt hab ich riesen Stage Files, so um die 13 MB each, bzw. Stage2 sogar fast 27 MB:
    Code:
    $ ls -l /usr/share/grub/i386-pc/
    total 263120
    -rw-r--r--    1 root     wheel    134504703 Jun 21 09:09 e2fs_stage1_5
    -rw-r--r--    1 root     wheel    134504703 Jun 21 09:09 fat_stage1_5
    -rw-r--r--    1 root     wheel    134504703 Jun 21 09:09 ffs_stage1_5
    -rw-r--r--    1 root     wheel    134504703 Jun 21 09:09 jfs_stage1_5
    -rw-r--r--    1 root     wheel    134504703 Jun 21 09:10 minix_stage1_5
    -rw-r--r--    1 root     wheel    134504703 Jun 21 09:10 reiserfs_stage1_5
    -rw-r--r--    1 root     wheel    134481151 Jun 21 09:10 stage1
    -rw-r--r--    1 root     wheel    268959875 Jun 21 09:09 stage2
    -rw-r--r--    1 root     wheel    134504703 Jun 21 09:10 vstafs_stage1_5
    -rw-r--r--    1 root     wheel    134504703 Jun 21 09:10 xfs_stage1_5
    
    Naja, das kanns ja nicht sein, die bring ich ja nie in meinem /boot unter und das kann auch nicht stimmen, so riesen Dinger für nen Bootloader, das ist alles teansy weansy bei so nem Ding und nicht gleich im MB Bereich, auch bei GRUB sicher nicht. Naja, einen hat ich noch, wieder die CFLAGS angepasst und diesmal "-lc -Wl,-no-whole-archive", hat aber auch nichts genützt, immer noch geanuso riesig die Dinger...

    Den GRUB Hint von LFS hab ich mir schon angesehen, konnte mir aber auch nicht weiterhelfen. Also vielleicht weiss ja jmd. hier mehr, wie man das hinkriegen könnte? Sonst hab ich ein System ohne Bootloader, toll... :(
     

    Anhänge:

    • make.txt
      Dateigröße:
      17,5 KB
      Aufrufe:
      1
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. MTS

    MTS Kaiser

    Dabei seit:
    09.11.2002
    Beiträge:
    1.242
    Zustimmungen:
    0
    Ort:
    NRW, Bochum
    öhm.
    also als vorübergehende Lösung würde ich dir empfehlen erstmal lilo zu nehmen .... da sollte es eigentlich keine Probleme geben.

    Wenn du unbedingt Grub haben willst sag nochmal bescheid. Vielleicht finde ich dann bei zieten was raus...
    Aber wenn ich jetzt ganz ganz ganz in blaue tippen würde, könnte man ja annehmen dass du da irgendne große library statisch linkst, wäre zumindest ne Erklärung. Aber das muss ich mir dann erst genauer anschauen...
     
  4. #3 sticky bit, 07.07.2003
    sticky bit

    sticky bit Grünschnabel

    Dabei seit:
    17.06.2003
    Beiträge:
    6
    Zustimmungen:
    0
    Ort:
    anywhere before EOF
    Nö, lilo wollt ich nicht, der wollte unbedingt nasm zum Kompilieren und das wollte ich wieder nicht...
    Hat sich aber inzwischen erledigt, ich habe wohl irgendwas verduselt oder irgendwas ist schief gelaufen, beim ersten Versuch ohne die CFLAGS. Als ich es auf eindringlichen Rat von jmd. noch mal probiert habe ging es dann. Die Aufrufe von memcpy() scheinen von Kompiler wegen des -O3 Switches hinzugekommen zu sein (mit -O2 und -O sowie den -march und -mcpu Flags bei mir anscheinend auch...), ohne die Flags, muss man nicht gegen die libc.a linken one einen Fehler zu bekommen und hat auch keine Riesen-Dateien mehr... :)
     
  5. MTS

    MTS Kaiser

    Dabei seit:
    09.11.2002
    Beiträge:
    1.242
    Zustimmungen:
    0
    Ort:
    NRW, Bochum
    ja genau das hätte ich als nächstes gesagt ;)
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

GRUB-0.93 kompilieren - Riesen Stage Files bzw. Linker Fehler?

Die Seite wird geladen...

GRUB-0.93 kompilieren - Riesen Stage Files bzw. Linker Fehler? - Ähnliche Themen

  1. Node.js unter Debian kompilieren

    Node.js unter Debian kompilieren: Moin, ich möchte auf unseren Debian Server Node.js kompilieren. Dafür habe ich mir eine Anleitung gefunden: Node.js kompilieren Wenn ich nun...
  2. CUPS Godex Filter kompilieren

    CUPS Godex Filter kompilieren: Hallo Ich möchte einen Godex EZPii 1300 an unserem CUPS druckbar bekommen. Leider scheitert es schon beim kompilieren des filters :think:...
  3. Selber kompilieren: Linux From Scratch 7.2 ist fertig

    Selber kompilieren: Linux From Scratch 7.2 ist fertig: Das Linux From Scratch-Projekt (LFS) hat seine gleichnamige Linux-Selbstbauanleitung in der Version 7.2 veröffentlicht. In LFS 7.2 wurden viele...
  4. Treiber für Atheros AR8152 kompilieren

    Treiber für Atheros AR8152 kompilieren: Hallo, ich habe es nun endlich geschafft mir Gentoo auf mein Netbook (Asus EeePC R011PX) zu installieren. Jedoch habe ich nun das Problem, dass...
  5. Debian Kernel kompilieren

    Debian Kernel kompilieren: hallo zusammen, versuche schon seit tagen einen debian-kernel zu kompilieren. weil ich das modul "bbc_envctrl" haben muss, damit dieser...