/ / Compilazione incrociata di kernel Linux e debugging tramite VMware - linux, linux-kernel, vmware, linux-device-driver

Cross Compiling Linux Kernels e debugging tramite VMware - linux, linux-kernel, vmware, linux-device-driver

Sto prendendo in considerazione l'idea di fare un po 'di sviluppo del kernel e del device device Linux sotto una VM vmware per il testing (Ubuntu 9.04 come guest sotto vmware server 2.0) mentre faccio le compilazioni sull'host di Ubuntu 8.04.

Non voglio prendere il colpo di prestazioni di fare i compili sotto la VM.

So che il kernel ovviamente non si collega a nulla al di fuori di sé, quindi non ci dovrebbero essere problemi a riguardo, ma

  1. ci sono dei segreti particolari su cui devo fare attenzione quando lo faccio?
  2. oltre ad avere ancora un computer in esecuzione quando il kernel si blocca ci sono altri vantaggi a questa configurazione?
  3. Ci sono delle guide per usare questo tipo di installazione?

modificare

Ho visto numerosi riferimenti al debug remoto in VMware tramite Workstation 6.0 utilizzando GDB sull'host. Qualcuno sa se questo funziona con una qualsiasi delle versioni gratuite di VMWare come Server 2.0.

risposte:

2 per risposta № 1

Non sono sicuro della cosa di Ubuntu. Dato che non stai facendo una vera compilazione cross (cioè x86-> arm), prenderei in considerazione l'utilizzo del pacchetto make-kpkg. Questo dovrebbe produrre un .deb installabile archivia con il kernel per il tuo sistema. questo funzionerebbe per me su Debian, potrebbe fare per te su ubuntu.

altro su make-kpkg: http://www.debianhelp.co.uk/kernel2.6.htm

  1. Non sono a conoscenza di alcun trucco, ma fondamentalmente dipende dal tipo di kernel che utilizzi stanno lavorando con. Il più speciale HW / driver di cui hai bisogno, tanto più probabile la VM non ha funzionato per te.

  2. stivali probabilmente più veloci e il mio preferito è la possibilità di fare screenshot (taglio "n" incolla) di messaggi di panico.

  3. prova a navigare nelle community di vmware. questa discussione sembra molto promettente, anche se ne parla argomento per MacOS: http://communities.vmware.com/thread/185781


0 per risposta № 2

Compilare, modificare, compilare è abbastanza veloce in ogni caso, non ricompilare l'intero kernel ogni volta che si modifica il driver.

Prima di andare in crash, puoi avere un deadlock, un cattivo utilizzodi risorse che portano al modulo non rimovibile, perdita di memoria, ecc ... Tutti i tipi di cose che hanno bisogno di un riavvio, anche se la macchina non si è bloccata, quindi sì, questa può essere una buona idea.

I trucchi possono venire sotto forma del passaggio di installazione e della generazione di dipendenze del modulo, poiché non si desidera installare il driver nell'host, ma nel computer di destinazione.