Autor Thema: [solved] Problem mit Qemu  (Gelesen 5617 mal)

Nuker

  • Beiträge: 3
    • Profil anzeigen
Gespeichert
« am: 21. September 2009, 19:42 »
Hi @ll!

Ich hoffe ihr könnt mir helfen. Ich hab erfolgreich den "Hallo Welt!" Kernel erzeugen können und auch ein Floppy-Image davon erstellen können, mit Grub und das ganze in VisualBox testen können.

ABER: Jetzt wollte ich das ganze ein wenig beschleunigen und den erstellten Kernel, wie im Tutorial beschrieben, einfach direkt mit Qemu laden, ohne irgendwelche Images erzeugen zu müssen und VMs zu laden. Dies würde den Entwicklungsprozess erheblich beschleunigen. Könnte man sogar in make mit einbauen. Aber Qemu meckert rum dass es noch ein Festplattenimage benötigt.. kann man das irgendwie umgehen? Wieso geht das nicht so wie im Tutorial beschrieben? Was muss ich tun damit ich schnell und unkompliziert den erstellten Kernel mit Qemu testen kann, ohne großartig Images erzeugen zu müssen und VMs zu starten?

Bis dann! Gruß
« Letzte Änderung: 21. September 2009, 22:02 von Nuker »

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 21. September 2009, 19:55 »
Hi,

welche Qemu-Version hast du? Das direkte Laden geht erst ab Version 0.11.0.
Dieser Text wird unter jedem Beitrag angezeigt.

DerHartmut

  • Beiträge: 236
    • Profil anzeigen
    • Mein Blog
Gespeichert
« Antwort #2 am: 21. September 2009, 20:12 »
Imho ist das automatisierte Erstellen eines Images bzw. die Zeitersparnis durch das direkte Laden der binären Datei kein riesiger Aufwand und man spart nicht Unmengen an Zeit.

Ansonsten: qemu -fda kernel.bin -boot a

Funktioniert wie PorkChicken sagte erst ab 0.11.0 (meine Version: 0.11.50)
$_="krJhruaesrltre c a cnp,ohet";$_.=$1,print$2while s/(..)(.)//;
Nutze die Macht, nutze Perl ;-)

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 21. September 2009, 20:18 »
Also ich hab Nuker so verstanden, dass er einen Multiboot-Kernel hat. Und den kann man so nicht laden.
Dieser Text wird unter jedem Beitrag angezeigt.

DerHartmut

  • Beiträge: 236
    • Profil anzeigen
    • Mein Blog
Gespeichert
« Antwort #4 am: 21. September 2009, 20:39 »
Oh Pardon, überlesen.
$_="krJhruaesrltre c a cnp,ohet";$_.=$1,print$2while s/(..)(.)//;
Nutze die Macht, nutze Perl ;-)

Nuker

  • Beiträge: 3
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 21. September 2009, 21:05 »
Jep, genau. Ich hab "nur" den Multiboot-Kernel. Qemu Version ist die Neuste, also irgendwas jenseits von 0.11.x. Mich irritiert das halt nur, weil's im Tutorial eben genau so drin steht, dass man mit Qemu Versionen > 0.11 den Kernel ohne "Imagegedöns" zum schnellen Testen laden kann.

Konkret heissts da:
qemu -kernel kernel(wobei "kernel" der kompilierte/assemblierte/gelinkte Multiboot-Kernel ist ... wie in der Anleitung halt)

Geht das Ganze doch nicht so einfach?

MfG
Nuker

DerHartmut

  • Beiträge: 236
    • Profil anzeigen
    • Mein Blog
Gespeichert
« Antwort #6 am: 21. September 2009, 21:09 »
Nein, denn du hast ja sicher nicht GRUB mit in dem Kernel gelinkt.

Es muss ja schließlich erst stage1 geladen werden, dann stage2 und dann dein Kernel.

Somit klappt das also nicht und du musst ein Image erstellen. Aber das ist echt nicht zeitaufreibend, glaub mir ;-)
$_="krJhruaesrltre c a cnp,ohet";$_.=$1,print$2while s/(..)(.)//;
Nutze die Macht, nutze Perl ;-)

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 21. September 2009, 21:18 »
Hi,

der Artikel und ich haben wohl etwas irreführend angedeutet, dass 0.11.0 bereits erschienen ist. Das ist nicht der Fall. Die "neueste Version" ist 0.10.6. Es gibt die Version 0.11.0 nur als Release Candidate, den du aus dem Quelltext hättest selbstbauen müssen.

Es geht mit Version 0.11.0 so einfach. GRUB hat damit nichts zu tun.
Dieser Text wird unter jedem Beitrag angezeigt.

Nuker

  • Beiträge: 3
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 21. September 2009, 22:02 »
Tatsache! War wohl doch meine Schuld, auch wenn der Artikel etwas verwirrend ist ;) ...

Hab die wirkliche 0.11 Version kompiliert und es funzt einwandfrei. Hat den Build-Prozess wirklich extrem beschleunigt.

Danke für die Hilfe!

C YA @LL

 

Einloggen