2009-06-16 3 views
2

Ich überlege, einige Linux-Kernel und Gerätetreiber-Entwicklung unter einer VMware-VM zum Testen (Ubuntu 9.04 als Gast unter VMware-Server 2.0) während der Kompilierung auf dem Ubuntu 8.04-Host.Cross Compiling Linux Kernel und Debugging via VMware

Ich möchte nicht die Leistungssteigerung der Kompilierung unter der VM nehmen.

Ich weiß, dass der Kern offensichtlich nicht auf etwas außerhalb seiner selbst nicht verknüpfen, so sollte es keine Probleme in dieser Hinsicht, aber

  1. sind es spezielle Gotcha die ich brauche zu achten, wenn dabei Dies?
  2. darüber hinaus noch einen laufenden Computer, wenn der Kernel abstürzt gibt es irgendwelche anderen Vorteile für dieses Setup?
  3. Gibt es Anleitungen zur Verwendung dieser Art von Setup?

bearbeiten

ich zahlreiche Hinweise auf Remote-Debugging in VMware Workstation 6.0 über mit GDB auf dem Host gesehen habe. Weiß jemand, ob dies mit einer der freien Versionen von VMWare wie Server 2.0 funktioniert?

+0

In Bezug auf das Debuggen gibt es eine Vielzahl von Seiten beschreiben mit gdb zu debuggen, wenn Sie kvm im Debug-Modus ausführen. Irgendein Grund, warum Sie vmware anstelle von kvm verwenden? – stsquad

Antwort

2

Ich bin nicht sicher über Ubuntu-Sache. Da Sie keine echte Kreuzkompilierung durchführen (d. H. X86-> arm), würde ich das make-kpkg-Paket verwenden. Dies sollte ein installierbares .deb Archiv mit Kernel für Ihr System erzeugen. das würde für mich auf debian funktionieren, könnte es für dich auf ubuntu sein.

mehr über Make-kpkg: http://www.debianhelp.co.uk/kernel2.6.htm

  1. Ich bin irgend gotchas nicht bewusst. Aber im Grunde hängt es davon ab, welche Art von Kernel-Teil Sie mit arbeiten. Je spezieller HW/Treiber Sie benötigen, desto wahrscheinlicher wird die VM für Sie nicht funktionieren.

  2. wahrscheinlich schneller boots und mein lieblings ist die möglichkeit, screenshot (cut'n'paste) von panic message zu machen.

  3. versuchen Sie zu VMware-Communities zu durchsuchen. dieses Themas sieht sehr vielversprechend, obwohl es Thema für MacOS dicusses: Sie sowieso http://communities.vmware.com/thread/185781

0

Übersetzen, Bearbeiten, Zusammenstellen recht schnell ist, nicht neu kompilieren Sie ganze Kernel jedes Mal, wenn Sie den Treiber ändern.

Bevor Sie abstürzen, können Sie Deadlock, schlechte Nutzung der Ressource, die zu nicht entfernbaren Modul führt, Speicherleck etc ... Alle Arten von Dingen, die einen Neustart benötigt, auch wenn Ihre Maschine nicht abstürzte, also ja, kann dies sein eine gute Idee.

Die Fehler können in Form der Installationsschritt- und Modulabhängigkeitsgenerierung auftreten, da Sie den Treiber nicht auf dem Host, sondern auf dem Zielcomputer installieren möchten.