Difference between revisions of "VMware (Italiano)"

From ArchWiki
Jump to: navigation, search
m (Patch per VMware)
Line 12: Line 12:
 
Questo articolo tratta l'installazione di VMware in Arch, si potrebbe essere invece interessati a [[Installing Arch Linux in VMware|Installare Arch Linux in VMware]].
 
Questo articolo tratta l'installazione di VMware in Arch, si potrebbe essere invece interessati a [[Installing Arch Linux in VMware|Installare Arch Linux in VMware]].
  
==Installazione di un server VMware==
+
==Installazione==
 +
 
 +
 
 +
===VMware Server ===
  
 
'''1.''' Installare [http://aur.archlinux.org/packages.php?ID=6182 vmware-server] da [[AUR]].
 
'''1.''' Installare [http://aur.archlinux.org/packages.php?ID=6182 vmware-server] da [[AUR]].
Line 24: Line 27:
 
'''5.''' Completare l'operazione di compilazione.
 
'''5.''' Completare l'operazione di compilazione.
  
===Installazione===
+
===VMware Workstation/Player===
  
 
{{Nota| VMware Workstation/Player non potrà essere gestito con pacman se i file non saranno installati con esso.}}
 
{{Nota| VMware Workstation/Player non potrà essere gestito con pacman se i file non saranno installati con esso.}}
Line 90: Line 93:
 
  # ./vmware7.1.1-patch-kernel-2.6.35.bash
 
  # ./vmware7.1.1-patch-kernel-2.6.35.bash
  
===Installare moduli aggiuntivi===
+
===Moduli di VMware===
  
 
'''7.''' A questo punto potresti voler installare i moduli. Prima di tutto bisogna di cambiare sia la  {{Codeline|lsmod binary path}} in {{Filename|/etc/rc.d/vmware}} da {{Filename|/sbin/lsmod}} fino a {{Filename|/bin/lsmod}}:
 
'''7.''' A questo punto potresti voler installare i moduli. Prima di tutto bisogna di cambiare sia la  {{Codeline|lsmod binary path}} in {{Filename|/etc/rc.d/vmware}} da {{Filename|/sbin/lsmod}} fino a {{Filename|/bin/lsmod}}:
Line 109: Line 112:
  
 
'''11.''' Ora aprire VMware Workstation ({{Codeline|vmware}} nel terminale) o VMware Player ({{Codeline|vmplayer}} nel terminale) per configurarli e usarli!
 
'''11.''' Ora aprire VMware Workstation ({{Codeline|vmware}} nel terminale) o VMware Player ({{Codeline|vmplayer}} nel terminale) per configurarli e usarli!
 +
 +
{{Nota|Quando viene aggiornato il kernel bisogna ricompilare i moduli di vmware con:
 +
# vmware-modconfig --console --install-all
 +
Il fallimento di questa operazione potrebbe risolversi in un crash di sistema quando si aprono le macchine virtuali.}}
  
 
==Tips & Tricks==
 
==Tips & Tricks==
Line 117: Line 124:
 
  $ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom
 
  $ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom
  
Una volta modificato il BIOS in qualsiasi cosa sia necessaria, spostarlo nella cartella in cui è presente la propria VM, e aggiungerlo al file {{Codeline|.vmx}}:
+
Per usare il BIOS modificato spostarlo in {{Filename|~/vmware/<Nome della macchina virtuale>}} e aggiungere al file {{Codeline|<Nome della macchina virtuale>.vmx}}  
 
  bios440.filename = "bios440.rom"
 
  bios440.filename = "bios440.rom"
 
=== Stampare da un SO ospite ===
 
Se si è configurato il proprio sistema operativo ospite per usare le stampanti dell'host, e i lavori di stampa non stanno funzionando, ci potrebbe essere un problema di permessi con il filtro ThinPrint CUPS ('''thnucups'''), che è usato da  VMware.
 
 
Da {{Filename|/var/log/cups/error_log}}:
 
E [22/Nov/2010:14:10:11 -0800] Unable to execute /usr/lib/cups/filter/thnucups: insecure file permissions (0104755)
 
 
Questo dovrebbe risolvere:
 
 
# chmod u-sw /usr/lib/cups/filter/thnucups
 
# rc.d restart cupsd
 
  
 
== Risoluzione dei problemi ==
 
== Risoluzione dei problemi ==
  
=== L'installer non parte ===
+
===Could not open /dev/vmmon: No such file or directory ===
Se si torna subito al prompt quando si apre il file {{Filename|.bundle}}, allore probabilmente è installata una versione vecchia del {{Codeline|vmware installer}} e sarebbe opportuno rimuoverla (si può prendere spunto anche dalla sezione  [https://wiki.archlinux.org/index.php/VMware_(Italiano)#Disinstallazione Disinstallazione] di questo articolo):
+
# rm -r /etc/vmware-installer
+
 
+
===Errore: Could not open /dev/vmmon: No such file or directory ===
+
 
L'errore completo è:
 
L'errore completo è:
 
  Could not open /dev/vmmon: No such file or directory.
 
  Could not open /dev/vmmon: No such file or directory.
Line 144: Line 136:
 
  # rc.d start vmware
 
  # rc.d start vmware
  
=== Errore: Kernel headers for version 3.x.x-xxxx were not found. If you installed them[...] ===
+
=== Kernel headers for version 3.x-xxxx were not found. If you installed them[...] ===
 
Installarli con:
 
Installarli con:
 
  # pacman -S linux-headers
 
  # pacman -S linux-headers
  
=== Errore: implicit declaration of function ‘iommu_unmap_range’ ===
+
=== La stampa non funziona ===
 +
Se non è possibile stampare dal sistema operativo ospite ci potrebbero essere problemi con il filtro ThinPrint CUPS ('''thnucups'''), che viene usato da VMware. Prima di tutto assicurarsi che il proprio {{Filename|/var/log/cups/error_log}} contenga qualcosa del genere:
 +
E [22/Nov/2010:14:10:11 -0800] Unable to execute /usr/lib/cups/filter/thnucups: insecure file permissions (0104755)
 +
 
 +
In questo caso si potrebbe provare:
 +
 
 +
# chmod u-sw /usr/lib/cups/filter/thnucups
 +
# rc.d restart cupsd
 +
 
 +
=== L'installer non parte ===
 +
Se si torna subito al prompt quando si apre il file {{Filename|.bundle}}, allore probabilmente è installata una versione vecchia del {{Codeline|vmware installer}} e sarebbe opportuno rimuoverla (si può prendere spunto anche dalla sezione  [https://wiki.archlinux.org/index.php/VMware_(Italiano)#Disinstallazione Disinstallazione] di questo articolo):
 +
# rm -r /etc/vmware-installer
 +
 
 +
=== implicit declaration of function ‘iommu_unmap_range’ ===
 
Se compare il seguente errore mentre vengono compilati i moduli:
 
Se compare il seguente errore mentre vengono compilati i moduli:
 
  ...
 
  ...
Line 168: Line 173:
 
Altrimenti tutto il sistema potrebbe andare in crash quando si prova a far partire le macchine virtuali.
 
Altrimenti tutto il sistema potrebbe andare in crash quando si prova a far partire le macchine virtuali.
  
=== Errore: implicit declaration of function ‘kernel_locked’ ===
+
=== implicit declaration of function ‘kernel_locked’ ===
 
Se stai ricevendo questo errore significa che usi probabilmente un kernel  < 2.6.36 e occorrono alcune attenzioni ulteriori. Attenzione che VMware paga raramente.
 
Se stai ricevendo questo errore significa che usi probabilmente un kernel  < 2.6.36 e occorrono alcune attenzioni ulteriori. Attenzione che VMware paga raramente.
  
 
[http://communities.vmware.com/thread/293321 Qui] ci sono una patch, insieme a molti altri errori di compilazione.
 
[http://communities.vmware.com/thread/293321 Qui] ci sono una patch, insieme a molti altri errori di compilazione.
  
=== Errore: ‘struct sock’ has no member named ‘sk_sleep’ ===
+
=== ‘struct sock’ has no member named ‘sk_sleep’ ===
 
Questo errore spesso capita quando si compila il modulo vsock, l'errore appare più o meno così:
 
Questo errore spesso capita quando si compila il modulo vsock, l'errore appare più o meno così:
  

Revision as of 12:25, 13 September 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Sommario help replacing me
Questo articolo spiega come installare e configurare VMware Workstation o VMware Player in Arch.
Articoli correlati
Installing Arch Linux in VMware
VirtualBox (Italiano)

Questo articolo tratta l'installazione di VMware in Arch, si potrebbe essere invece interessati a Installare Arch Linux in VMware.

Installazione

VMware Server

1. Installare vmware-server da AUR.

2. Installare vmware-server-console. Altrimenti, su Arch64, può essere installata la versione bin32.

3. Scaricare l'immagine dal sito VMWare.

4. Copiare l'immagine nella cartella di compilazione.

5. Completare l'operazione di compilazione.

VMware Workstation/Player

Nota: VMware Workstation/Player non potrà essere gestito con pacman se i file non saranno installati con esso.
Suggerimento: Per un kernel 2.6.39 è possibile usare questo script automatizzato. Sarà necessario eseguire ugualmente i passaggi 3, 4, 5, (6), 10 e 11.

Per installare VMware Workstation o Vmware Player su un host usando un bundle:

1. Scaricare VMware Workstation o VMware Player (si può provare anche una versione di test (Beta/RC)).

2. Creare a fake System V init style directory for VMware e iniziare l'installazione (il flag Template:Codeline usa il terminale invece dell'interfaccia grafica, ed è necessario Template:Codeline per selezionare the Template:Codeline runlevels directory):

# mkdir -p /etc/rc.d/vmware.d/{rc{0..6},init}.d
# chmod +x VMware-<edition>-<version>.<release>.<architecture>.bundle
# ./VMware-<edition>-<version>.<release>.<architecture>.bundle --console --custom

3. Leggere e accettare la EULA per continuare.

4. Accettare le impostazioni di base finché non viene richiesto Template:Codeline – Definirlo in:

/etc/rc.d/vmware.d/

5. Impostare gli script dei Template:Codeline in:

/etc/rc.d

6. (Opzionale) Immettere il percorso della cartella per il Debugger Virtuale Integrato per Eclipse se questo è installato.

Configurazione

Patch per VMware

Suggerimento: C'è un pacchetto chiamato Template:Package AUR in AUR che ha lo scopo di tentare l'automatizzazione del processo di patch.

kernel 3.1rc

In aggiunta alla patch del kernel 3.0 si può applicare solo questa.

kernel 3.0

C'è un insieme di patch che gestisce correttamente il kernel 3.0 qui.

Il modulo VMware di build non gestisce correttamente la stringa della versione del nuovo modulo che ha solo due parti (3.x) invece di tre (2.6.xx). Può essere di aiuto anche questa discussione.

La soluzione più facile per questo punto è di eseguire la patch di due binari:

# sed 's/\x83\xe8\x03\x83\xf8\x01\x0f\x96\xc0/\x83\xe8\x02\x83\xf8\x01\x0f\x96\xc0/' -i /usr/lib/vmware/lib/libvmware-modconfig-console.so/libvmware-modconfig-console.so
# sed 's/\x83\xe8\x03\x83\xf8\x01\x0f\x96\xc0/\x83\xe8\x02\x83\xf8\x01\x0f\x96\xc0/' -i /usr/lib/vmware/lib/libvmware-modconfig.so/libvmware-modconfig.so

kernel 2.6.39

$ mkdir /tmp/vmware && cd /tmp/vmware
# for t in /usr/lib/vmware/modules/source/*.tar; do tar xf $t; mv $t{,.original}; done
# wget -qO- http://kaslit.com/downloads/vmware2.6.39fixed.patch | patch -Np1
# for d in *-only; do tar cf /usr/lib/vmware/modules/source/${d/%-only/}.tar $d; done

Un membro della comunità di Fedora qui ha fatto l'upload della cartella Template:Filename in una tarball compressa.

kernel 2.6.37 e .38

cd /tmp
$ wget http://www.russo79.com/vmware7.1.3-patch-kernel-2.6.37.sh
$ chmod +x vmware7.1.3-patch-kernel-2.6.37.sh
# ./vmware7.1.3-patch-kernel-2.6.37.sh

kernel 2.6.36

$ cd /tmp
$ wget http://files.archlinux.org.il/vmmon_fix_2.6.36.sh
$ chmod +x vmmon_fix_2.6.36.sh
# ./vmmon_fix_2.6.36.sh

kernel 2.6.35

$ cd /tmp
$ wget http://www.sputnick-area.net/scripts/vmware7.1.1-patch-kernel-2.6.35.bash
$ chmod +x vmware7.1.1-patch-kernel-2.6.35.bash
# ./vmware7.1.1-patch-kernel-2.6.35.bash

Moduli di VMware

7. A questo punto potresti voler installare i moduli. Prima di tutto bisogna di cambiare sia la Template:Codeline in Template:Filename da Template:Filename fino a Template:Filename:

# sed -i "s|/sbin/lsmod|/bin/lsmod|g" /etc/rc.d/vmware

o creare un link simbolico con:

# ln -s /bin/lsmod /sbin/lsmod

8. Ora si possono installare i moduli. È possibile fare questo o lanciando VMware e lasciandoglieli installare con l'interfaccia grafica o eseguendo:

# vmware-modconfig --console --install-all

9. (Opzionale) Aggiungere vmware Alla serie di DEMONI in Template:Filename in modo che il server parta automaticamente all'avvio.

10. Installare ed eseguire HAL:

# pacman -S hal
# rc.d start hal

11. Ora aprire VMware Workstation (Template:Codeline nel terminale) o VMware Player (Template:Codeline nel terminale) per configurarli e usarli!

Nota: Quando viene aggiornato il kernel bisogna ricompilare i moduli di vmware con:
  1. vmware-modconfig --console --install-all
Il fallimento di questa operazione potrebbe risolversi in un crash di sistema quando si aprono le macchine virtuali.

Tips & Tricks

Estrazione del BIOS di VMware

Per estrarre il BIOS di VMware BIOS, che può essere manipolato e usato in seguito con le proprie macchine virtuali:

$ objcopy /usr/lib/vmware/bin/vmware-vmx -O binary -j bios440 --set-section-flags bios440=a bios440.rom.Z
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom

Per usare il BIOS modificato spostarlo in Template:Filename e aggiungere al file Template:Codeline

bios440.filename = "bios440.rom"

Risoluzione dei problemi

Could not open /dev/vmmon: No such file or directory

L'errore completo è:

Could not open /dev/vmmon: No such file or directory.
Please make sure that the kernel module `vmmon' is loaded.

Questo significa che almeno il servizio di VMware vmmon non è partito. Può essere fatto partire eseguendo (come root):

# rc.d start vmware

Kernel headers for version 3.x-xxxx were not found. If you installed them[...]

Installarli con:

# pacman -S linux-headers

La stampa non funziona

Se non è possibile stampare dal sistema operativo ospite ci potrebbero essere problemi con il filtro ThinPrint CUPS (thnucups), che viene usato da VMware. Prima di tutto assicurarsi che il proprio Template:Filename contenga qualcosa del genere:

E [22/Nov/2010:14:10:11 -0800] Unable to execute /usr/lib/cups/filter/thnucups: insecure file permissions (0104755)

In questo caso si potrebbe provare:

# chmod u-sw /usr/lib/cups/filter/thnucups
# rc.d restart cupsd

L'installer non parte

Se si torna subito al prompt quando si apre il file Template:Filename, allore probabilmente è installata una versione vecchia del Template:Codeline e sarebbe opportuno rimuoverla (si può prendere spunto anche dalla sezione Disinstallazione di questo articolo):

# rm -r /etc/vmware-installer

implicit declaration of function ‘iommu_unmap_range’

Se compare il seguente errore mentre vengono compilati i moduli:

...
/tmp/vmware-root/modules/vmmon-only/linux/iommu.c:403:7: erreur: implicit declaration of function ‘iommu_unmap_range’
make[2]: *** [/tmp/vmware-root/modules/vmmon-only/linux/iommu.o] Erreur 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmmon-only] Erreur 2
make[1]: quittant le répertoire « /usr/src/linux-2.6.35-ARCH »
make: *** [vmmon.ko] Erreur 2

Questo errore è dovuto a un cambiamento nelle API del kernel, a un cambio di nome che rimuove il suffisso '_range' dalle funzioni iommu. Si può fare la patch manualmente dei sorgenti rimuovendo il suffisso '_range' con una veloce espressione sed:

$ cd /tmp
$ tar xvf /usr/lib/vmware/modules/source/vmmon.tar
$ sed 's/_range//' -i vmmon-only/linux/iommu.c
# tar cvf /usr/lib/vmware/modules/source/vmmon.tar vmmon-only

Notare che all'aggiornamento del kernel bisognerà ricompilare i moduli vmware con:

# vmware-modconfig --console --install-all

Altrimenti tutto il sistema potrebbe andare in crash quando si prova a far partire le macchine virtuali.

implicit declaration of function ‘kernel_locked’

Se stai ricevendo questo errore significa che usi probabilmente un kernel < 2.6.36 e occorrono alcune attenzioni ulteriori. Attenzione che VMware paga raramente.

Qui ci sono una patch, insieme a molti altri errori di compilazione.

‘struct sock’ has no member named ‘sk_sleep’

Questo errore spesso capita quando si compila il modulo vsock, l'errore appare più o meno così:

make[1]: Entering directory `/usr/src/linux-headers-2.6.35-7-generic-pae'
  CC [M]  /tmp/vmware-root/modules/vsock-only/linux/af_vsock.o
/tmp/vmware-root/modules/vsock-only/linux/af_vsock.c:312: warning: initialization from incompatible pointer type
/tmp/vmware-root/modules/vsock-only/linux/af_vsock.c:359: warning: initialization from incompatible pointer type
/tmp/vmware-root/modules/vsock-only/linux/af_vsock.c: In function ‘VSockVmciStreamConnect’:
/tmp/vmware-root/modules/vsock-only/linux/af_vsock.c:3224: error: ‘struct sock’ has no member named ‘sk_sleep’
/tmp/vmware-root/modules/vsock-only/linux/af_vsock.c:3247: error: ‘struct sock’ has no member named ‘sk_sleep’
...

Per sistemarlo ricorriamo ad un approccio simile a quello mensionato sopra:

cd /tmp
# tar xvf /usr/lib/vmware/modules/source/vsock.tar
# sed 's/\([a-z_]*\)->compat_sk_sleep/compat_sk_sleep(\1)/g' -i vsock-only/linux/af_vsock.c
# tar cvf /usr/lib/vmware/modules/source/vsock.tar vsock-only

Poi bisogna dare:

# vmware-modconfig --console --install-all

Disinstallazione

Controllare il nome del prodotto:

# vmware-installer -l

e disinstallare:

# vmware-installer -u <vmware-product>

Le parti inserite manualmente in Template:Filename devono essere cancellate manualmente. Non dimenticarsi di rimuovere vmware dalla serie di DEMONI in Template:Filename.