Difference between revisions of "VMware (Italiano)"

From ArchWiki
Jump to: navigation, search
m
m
Line 1: Line 1:
 
[[Category:Emulators (Italiano)]]
 
[[Category:Emulators (Italiano)]]
 +
[[Category:HOWTOs (Italiano)]]
 
{{i18n|Installing VMware}}
 
{{i18n|Installing VMware}}
  

Revision as of 07:56, 7 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 – فارسی

Questo articolo tratta l'installazione di VMware in Arch, potresti essere interessato a Installing Arch Linux in VMware.

Installazione di un server VMware

1. Installa vmware-server da AUR.

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

3. Scarica l'immagine dal sito VMWare website.

4. Copia l'immagine nella directory di build.

5. Completa l'operazione di build.

VMware Workstation o VMware Player

Installazione

Nota: VMware Workstation/Player non potrà essere gestito con pacman se i file non sono installati con esso.
Tip: Per un kernel 2.6.39 potresti usare questo script automatizzato: http://kaslit.com/downloads/vmwareinstallshell.sh – nota che avrai bisogno di eseguire ugualmente i passaggi 3, 4, 5(6), 10 e 11

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

1. Download VMware Workstation o VMware Player (puoi provare anche testing (Beta/RC) versions).

2. Crea a fake System V init style directory for VMware e inizia l'installazione (il flag Template:Codeline usa il terminale invece dell'interfaccia grafica, e abbiamo bisogno di 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. Leggi e accetta la EULA per continuare.

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

/etc/rc.d/vmware.d/

5. Imposta Template:Codeline in:

/etc/rc.d

6. (Opzionale) Immettere il percorso di directory per il Debugger Virtuale Integrato per Eclipse se Eclipse è installato.

Moduli VMware e patch

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

kernel 3.1rc

In aggiunta alla patch del kernel 3.0 puoi applicare solo questa: http://weltall.heliohost.org/wordpress/2011/08/10/vmware-workstation-7-1-4-fix-for-linux-3-1/

kernel 3.0

C'è un insieme di patch che gestisce correttamente il kernel 3.0 su: http://weltall.heliohost.org/wordpress/2011/05/14/running-vmware-workstation-player-on-linux-2-6-39-updated/

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). Vedi anche questa discussione: https://bbs.archlinux.org/viewtopic.php?id=123695.

La soluzione più facile per questo punto è di patchare 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 comunity di Fedora ha anche fatto l'upload della cartella Template:Filename in una tarball compressa qui: http://www.fedoraforum.org/leigh123linux/vm/source.tar.lzma

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

Installazione (conclusa)

7. A questo punto potresti voler installare i moduli. Prima di tutto hai bisogno 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 puoi installare i moduli. Puoi fare questo o lanciando VMware e lasciandogli installare i moduli con l'interfaccia grafica o eseguendo:

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

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

10. Installa ed esegui HAL:

# pacman -S hal
# rc.d start hal

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

Disinstallazione

Controlla il product name:

# vmware-installer -l

e disinstalla:

# vmware-installer -u <vmware-product>

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

Estrazione del VMware BIOS

Per estrarre il BIOS di VMware BIOS, che può essere manipolato e usato in seguito con le tue 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

Una volta modificato il BIOS in qualsiasi cosa tu abbia bisogno, spostalo nella cartella in cui c'è la tua VM, e aggiungilo al file Template:Codeline:

bios440.filename = "bios440.rom"

Risoluzione dei problemi

L'installer non parte

Se torni subito al prompt quando apri il file Template:Filename, allore probabilmente hai una versione vecchia del Template:Codeline e dovresti rimuoverla (puoi prendere spunto anche dalla sezione Disinstallazione di questo articolo):

# rm -r /etc/vmware-installer

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 almeno che il vmmon VMware service non è partito. Puoi farlo partire eseguendo (come root):

# rc.d start vmware

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

Installali con:

# pacman -S linux-headers

error: 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, solo a un cambio di nome che rimuove il suffisso '_range' dalle funzioni iommu. Puoi patchare manualmente i 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

Per piacere nota che quando aggiornerai il kernel dovrai ricompilare i moduli vmware con:

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

Altrimenti tutto il tuo sistema potrebbe andare in crash quando provi a far partire le macchine virtuali, quindi tienilo bene a mente.

error: implicit declaration of function ‘kernel_locked’

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

Qui ci sono una patch, insieme a molti altri errori di compilazione [1]

error: ‘struct sock’ has no member named ‘sk_sleep’

Questo errore spesso capita quando si compila il modulo vsock, l'errore appare tipo 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 dare:

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

Stampare da un guest OS

Se hai configurato il tuo guest OS per usare le stampanti sul tuo 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 Template:Filename:

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