Qemu mit KQemu

Dieses Thema im Forum "Anwendungen" wurde erstellt von freddymc, 20.12.2005.

  1. #1 freddymc, 20.12.2005
    Zuletzt von einem Moderator bearbeitet: 20.12.2005
    freddymc

    freddymc Guest

    Hallo allerseits!

    Ich wollte mir heute (als Linuxneuling) Qemu angucken.
    Dazu habe ich auch eine recht gute Anleitung gefunden: **************/forums/showthread.php?t=141201
    (Warum wird hier das Wort l-i-n-u-x-f-o-r-e-n.d-e zensiert?)
    Das Problem dabei wird hier angeschnitten: http://www.opensuse.org/Qemu_with_kqemu_kernel_module_support
    Qemu kompeliert nur unter Verwendung von gcc 3.3.6 , mein Suse stellt lediglich gcc in der Version 4 zur Verfügung.
    Ein fertiges rpm von Qemu scheint wegzufallen da man, um die qemu Beschleunigung, qemu mit kqemu selbst kompilieren muss.
    Von gcc 3.3.6 habe ich leider auch kein rpm gefunden und die auf der openSUSE-Seite erwähnte Methode zu Installation von gcc 3.3.6 funktioniert nicht, bei make bootsrap spuckt der Gute 2 Fehler aus (unten in der Code Box).
    Es ist schon pervers mit gcc4 den gcc3 zu bauen.

    Nunja, auf http://ls11-www.cs.uni-dortmund.de/people/chimani/PG478/gcc.html wird geschrieben, dass man doch gperf RPM installieren sollte, dass man gcc3 mit einer höheren gcc Version kompilieren kann.
    Aber diese Rpm finde ich nirgens, vllt. kann mir ja jemand helfen oder hat einen einfacheren besseren Weg gefunden.

    :hilfe2:

    Vielen Dank schonmal,

    Fred

    Code:
    linux:/tmp/gcc-3.3.6 # make bootstrap
    
    make[1]: Entering directory `/tmp/gcc-3.3.6/libiberty'
    rm -f needed-list; touch needed-list; \
    for f in atexit calloc memchr memcmp memcpy memmove memset rename strchr strerror strncmp strrchr strstr strtol strtoul tmpnam vfprintf vprintf vfork waitpid bcmp bcopy bzero; do \
      for g in mkstemps.o ; do \
        case "$g" in \
          *$f*) echo $g >> needed-list ;; \
        esac; \
      done; \
    done
    echo regex.o cplus-dem.o cp-demangle.o md5.o alloca.o argv.o choose-temp.o concat.o dyn-string.o fdmatch.o fibheap.o floatformat.o fnmatch.o getopt.o getopt1.o getpwd.o getruntime.o hashtab.o hex.o lbasename.o lrealpath.o make-relative-prefix.o make-temp-file.o objalloc.o obstack.o partition.o physmem.o pexecute.o safe-ctype.o sort.o spaces.o splay-tree.o strerror.o strsignal.o ternary.o xatexit.o xexit.o xmalloc.o xmemdup.o xstrdup.o xstrerror.o > required-list
    make[2]: Entering directory `/tmp/gcc-3.3.6/libiberty/testsuite'
    make[2]: Für das Ziel »all« ist nichts zu tun.
    make[2]: Leaving directory `/tmp/gcc-3.3.6/libiberty/testsuite'
    make[1]: Leaving directory `/tmp/gcc-3.3.6/libiberty'
    Bootstrapping the compiler
    make[1]: Entering directory `/tmp/gcc-3.3.6/gcc'
    make AR_FOR_TARGET="ar" \
            RANLIB_FOR_TARGET="ranlib" \
            CC="gcc" libdir=/opt/gcc33/lib LANGUAGES="c " \
            CFLAGS="-g " MAKEINFO="/tmp/gcc-3.3.6/missing makeinfo --no-split" \
            MAKEINFOFLAGS="" COVERAGE_FLAGS=
    make[2]: Entering directory `/tmp/gcc-3.3.6/gcc'
    TM_DEFINES="" \
    HEADERS="auto-host.h ansidecl.h  i386/i386.h i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h defaults.h" XM_DEFINES="POSIX" \
    TARGET_CPU_DEFAULT="TARGET_CPU_DEFAULT_pentiumpro" \
    /bin/sh ./mkconfig.sh config.h
    config.h is unchanged
    TM_DEFINES="" \
    HEADERS="auto-host.h ansidecl.h  i386/i386.h i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h defaults.h" XM_DEFINES="POSIX" \
    TARGET_CPU_DEFAULT="TARGET_CPU_DEFAULT_pentiumpro" \
    /bin/sh ./mkconfig.sh hconfig.h
    hconfig.h is unchanged
    echo "/* This file is machine generated.  Do not edit.  */" > tmp-gtyp.h
    echo "static const char *srcdir = "  >> tmp-gtyp.h
    echo "\".\"" >> tmp-gtyp.h
    echo ";" >> tmp-gtyp.h
    echo "static const char *lang_files[] = {" >> tmp-gtyp.h
    ll="./c-lang.c  ./c-parse.in  ./c-tree.h  ./c-decl.c  ./c-common.c  ./c-common.h  ./c-pragma.c  ./c-objc-common.c "; \
    for f in $ll; do \
    echo "\"$f\", "; done >> tmp-gtyp.h
    echo "NULL};" >> tmp-gtyp.h
    echo "static const char *langs_for_lang_files[] = {" >> tmp-gtyp.h
    ff="c  c  c  c  c  c  c  c "; \
    for f in $ff; do \
    echo "\"$f\", " ; done  >> tmp-gtyp.h
    echo "NULL};" >> tmp-gtyp.h
    echo "static const char *all_files[] = {" >> tmp-gtyp.h
    gf="config.h auto-host.h ./../include/ansidecl.h ./config/i386/i386.h ./config/i386/unix.h ./config/i386/att.h ./config/dbxelf.h ./config/elfos.h ./config/svr4.h ./config/linux.h ./config/i386/linux.h ./defaults.h ./defaults.h ./location.h ./../include/hashtab.h ./bitmap.h ./function.h  ./rtl.h ./optabs.h ./tree.h ./libfuncs.h ./hashtable.h ./real.h ./varray.h ./ssa.h ./insn-addr.h ./cselib.h ./c-common.h ./c-tree.h ./basic-block.h ./alias.c ./bitmap.c ./cselib.c ./dwarf2out.c ./emit-rtl.c ./except.c ./explow.c ./expr.c ./fold-const.c ./function.c ./gcse.c ./integrate.c ./lists.c ./optabs.c ./profile.c ./ra-build.c ./regclass.c ./reg-stack.c ./sdbout.c ./stmt.c ./stor-layout.c ./tree.c ./varasm.c ./config/i386/i386.c ./c-lang.c ./c-parse.in ./c-tree.h ./c-decl.c ./c-common.c ./c-common.h ./c-pragma.c ./c-objc-common.c"; \
    for f in $gf; do \
    echo "\"$f\", "; done >> tmp-gtyp.h
    echo " NULL};" >> tmp-gtyp.h
    echo "static const char *lang_dir_names[] = { \"c\", " >> tmp-gtyp.h
    gf=""; \
    for l in $gf; do \
    echo "\"$l\", "; done >> tmp-gtyp.h
    echo "NULL};" >> tmp-gtyp.h
    /bin/sh ./move-if-change tmp-gtyp.h gtyp-gen.h
    gtyp-gen.h is unchanged
    gcc   -g  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long   -DHAVE_CONFIG_H -DGENERATOR_FILE  -o gengtype \
     gengtype.o gengtype-lex.o gengtype-yacc.o ../libiberty/libiberty.a
    gengtype.o: In function `adjust_field_rtx_def':
    ./gengtype.c:430: undefined reference to `lexer_line'
    ./gengtype.c:473: undefined reference to `lexer_line'
    ./gengtype.c:530: undefined reference to `lexer_line'
    ./gengtype.c:573: undefined reference to `lexer_line'
    ./gengtype.c:620: undefined reference to `lexer_line'
    gengtype.o:./gengtype.c:633: more undefined references to `lexer_line' follow
    gengtype.o: In function `main':
    ./gengtype.c:2609: undefined reference to `parse_file'
    gengtype-yacc.o: In function `yyparse':
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.c:1023: undefined reference to `yylex'
    gengtype-yacc.o: In function `yyparse':
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.y:70: undefined reference to `lexer_line'
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.y:72: undefined reference to `lexer_line'
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.y:73: undefined reference to `lexer_toplevel_done'
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.y:79: undefined reference to `lexer_line'
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.y:81: undefined reference to `lexer_toplevel_done'
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.y:89: undefined reference to `lexer_line'
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.y:94: undefined reference to `lexer_line'
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.y:99: undefined reference to `lexer_line'
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.y:107: undefined reference to `lexer_toplevel_done'
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.y:119: undefined reference to `lexer_line'
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.y:162: undefined reference to `lexer_line'
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.y:162: undefined reference to `lexer_line'
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.y:173: undefined reference to `lexer_line'
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.y:173: undefined reference to `lexer_line'
    gengtype-yacc.o:/tmp/gcc-3.3.6/gcc/gengtype-yacc.y:190: more undefined references to `lexer_line' follow
    gengtype-yacc.o: In function `yyparse':
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.c:1504: undefined reference to `yyerror'
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.c:1508: undefined reference to `yyerror'
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.c:1512: undefined reference to `yyerror'
    /tmp/gcc-3.3.6/gcc/gengtype-yacc.c:1627: undefined reference to `yyerror'
    collect2: ld returned 1 exit status
    make[2]: *** [gengtype] Fehler 1
    make[2]: Leaving directory `/tmp/gcc-3.3.6/gcc'
    make[1]: *** [stage1_build] Fehler 2
    make[1]: Leaving directory `/tmp/gcc-3.3.6/gcc'
    make: *** [bootstrap] Fehler 2
    
     
  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. devilz

    devilz Pro*phet
    Administrator

    Dabei seit:
    01.05.2002
    Beiträge:
    12.244
    Zustimmungen:
    0
    Ort:
    Hessen
    Weil es vermehrt zur indirekten/direkten Werbung benutzt wurde.
    So sind u.a. auch andere Spamlinks gesperrt worden - sofern es sich wieder bessert, nehm ich die auch wieder raus ;)


    Warum sollte das nicht gehen ?
    Du kannst doch das qemu.rpm verwenden und das kqemu modul bauen ;)

    1. apt install qemu

    2. kqemu bauen ...
    Code:
    make -C /lib/modules/2.6.13-15.7-default/build M=`pwd` modules
    make[1]: Entering directory `/usr/src/linux-2.6.13-15.7-obj/i386/default'
    make -C ../../../linux-2.6.13-15.7 O=../linux-2.6.13-15.7-obj/i386/default modules
      CC [M]  /root/qemu-0.8.0/kqemu/kqemu-linux.o
    cp /root/qemu-0.8.0/kqemu/kqemu-mod-i386.o /root/qemu-0.8.0/kqemu/kqemu-mod.o
      LD [M]  /root/qemu-0.8.0/kqemu/kqemu.o
      Building modules, stage 2.
      MODPOST
    Warning: could not find /root/qemu-0.8.0/kqemu/.kqemu-mod.o.cmd for /root/qemu-0.8.0/kqemu/kqemu-mod.o
      CC      /root/qemu-0.8.0/kqemu/kqemu.mod.o
      LD [M]  /root/qemu-0.8.0/kqemu/kqemu.ko
    make[1]: Leaving directory `/usr/src/linux-2.6.13-15.7-obj/i386/default'
    
     
  4. #3 freddymc, 21.12.2005
    Zuletzt von einem Moderator bearbeitet: 21.12.2005
    freddymc

    freddymc Guest

    laut der openSUSE seite nicht oder?
    Man soll doch den qemu enpacken und im qemu verzeichnis dann kqemu entpacken, dann qemu kompilieren dabei wird dann kqemu berücksichtigt.
    Hast du das ganze schonmal gemacht?

    leider verstehe ich deinen geposteten code nicht... X(
    Kannst du mir das näher erläutern? :think:

    Danke,
    Fred

    [EDIT] Ich habs mal so gemacht wie du's gesagt hast: rpm installiert kqemu sourcen entpackt und dann make -C /lib/modules/2.6.13-15-default/build M=`pwd` modules eingegeben
    das darauf folgende make install gab
    linux:/tmp/kqemu # make install
    cat install.sh >install
    chmod a+x install
    aus.
    allerdings konnte ich dann kein modprobe kqemu machen es kam immer
    FATAL: Module kqemu not found.

    Wie jetzt weiter?
     
  5. #4 DennisM, 21.12.2005
    DennisM

    DennisM Moderator u. Newsposter

    Dabei seit:
    08.05.2004
    Beiträge:
    4.883
    Zustimmungen:
    0
    Ort:
    GER/NRW/Essen
  6. #5 freddymc, 21.12.2005
    freddymc

    freddymc Guest

    Schonklar... aber ich scheitere ja schon beim bauen von gcc3.3.6 ....

    von euch hat auch keiner gcc 3.3.6 als suse rpm oder?
     
  7. devilz

    devilz Pro*phet
    Administrator

    Dabei seit:
    01.05.2002
    Beiträge:
    12.244
    Zustimmungen:
    0
    Ort:
    Hessen
    Das war nur ein Code Beispiel damit du siehst das es klappt unter SuSE 10.

    Ich hab das rpm mittels apt4rpm installiert ... das 0.8er qemu Source gezogen .. ./configure make und dann die kqemu source reingelegt und gebaut ....

    Das sollte doch auch bei dir klappen ...
     
  8. #7 freddymc, 21.12.2005
    freddymc

    freddymc Guest

    Ah.
    also erst qemu rpm installieren und dann noch mal qemu + kqemu drüber?
     
  9. Anzeige

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

    devilz Pro*phet
    Administrator

    Dabei seit:
    01.05.2002
    Beiträge:
    12.244
    Zustimmungen:
    0
    Ort:
    Hessen
    Jein - RPM installieren, aber die Source von qemu nur bauen (oder soweit make laufen lassen bis er selbst abbricht) damit du kqemu bauen lassen kannst (das dann aber mit make install installieren!).
     
  11. #9 freddymc, 21.12.2005
    Zuletzt von einem Moderator bearbeitet: 22.12.2005
    freddymc

    freddymc Guest

    okay...
    kontest du qemu mit gcc 4 bauen?

    Vielen Dank ich probiers gleich nachher mal aus...

    also ich habe kqemu verzeichnis ins qemu qeullverzeichnis gelegt.
    in qemu: make -> kommt Fehler, abgebrochen
    cd kqemu
    make -C /lib/modules/2.6.13-15-default/build M=`pwd` modules
    make install

    doch dann kommt: make: »install« ist bereits aktualisiert.

    ;( *heul*

    df gibt jetzt allerdings folgendes aus:

    tmpfs 517988 12 517976 1% /dev/shm

    wenn ich in der qemu konsole 'info kqemu' eingebe, meldet er mir, dass kqemu unterstützung fehlt.

    weiß nich mehr weiter...
    Danke,
    Fred

    [EDIT] jetzt hab ich gperf (apt), bison und flex installiert, jetzt scheint es als könnte ich den gcc 3.3.6 bauen... mal sehen

    [EDIT_2] jawollja! gcc 3.3.6 wurde kompeliert, damit konnte ich erst quemu bauen (gcc 3) dann ins kqemu verz. (wiederum im quemu verz.) dort bauen (gcc 4!) dann wieder ins qemu dann make install.
    Es hat geklappt :)
     
Thema:

Qemu mit KQemu

Die Seite wird geladen...

Qemu mit KQemu - Ähnliche Themen

  1. KQemu unter NetBSD-3.0 starten

    KQemu unter NetBSD-3.0 starten: Moin, ich habe qemu mit dem Parameter : make WITH_KQEMU=yes kompiliert. Kann mir jemand sagen wie ich das kqemu-Modul unter NetBSD starte...
  2. Qemu 2.5 veröffentlicht

    Qemu 2.5 veröffentlicht: Die Qemu-Entwickler haben ihren freien CPU- und System-Emulator Qemu in der Version 2.5 veröffentlicht. Qemu kann verschiedene, auch ältere...
  3. Virtualisierung: QEMU 2.3 verfügbar

    Virtualisierung: QEMU 2.3 verfügbar: Die QEMU-Entwickler haben den quelloffenen CPU- und System-Emulator um viele Funktionalitäten erweitert und in der Version 2.3 veröffentlicht....
  4. Qemu 2.2 freigegeben

    Qemu 2.2 freigegeben: Der CPU- und System-Emulator Qemu liegt jetzt in Version 2.2 vor. Die aktuelle Version enthält zahlreiche Verbesserungen, darunter die Emulation...
  5. Qemu stellt Adventskalender vor

    Qemu stellt Adventskalender vor: Die Entwickler der freien virtuellen Maschine Qemu haben einen eigenen Adventskalender vorgestellt. Der Clou - jeden Tag sollen spezielle Images...