Qemu XP virtualizzato e samba per scambio files con slack

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3805
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Qemu XP virtualizzato e samba per scambio files con slack

Messaggio da joe »

Anni fà avevo iniziato un topic relativo allo stesso problema che sto cercando di risolvere al momento. Vi metto il link alla discussione che era del 2013:
http://slacky.eu/forum/viewtopic.php?f= ... ilit=samba

Riassumendo ho il mio SO Slackware-14.2 (host) in cui voglio far girare un sistema (guest) windows XP virtualizzato attraverso qemu.
Questo riesco a farlo, l'immagine dell'HD virtuale di XP è la stessa che usavo anni fà. Ho provato ad avviarla adesso, con la Slackware attuale e si avvia senza problemi.

Ok, ora che il sistema virtualizzato si avvia ed è utilizzabile vorrei poter scambiare files tra il sistema host slackware e quello virtualizzato, cioè il guest con XP.
Come si vede anche nel vecchio topic, ai tempi avevo configurato su slackware un server "samba" con la directory "/mnt/share" in condivisione.
Da XP virtualizzato vedevo nelle risorse di rete la directory in condivisione e i files che conteneva erano accessibili sia dal sistema reale host che dal virtualizzato guest.

Adesso ho l'impressione che siano cambiate un po' di cose nel funzionamento qemu o di samba.
Sintetizzando, il problema è che se su windows apro la directory condivisa, mi viene richiesta l'autenticazione via utente e password.
Ricordo che era capitato anche anni fà durante la configurazione ed era un problema di samba che richiedeva una l'impostazione di "security" su "share" piuttosto che "user".
Adesso pur provando a replicare le stesse impostazioni non sono riuscito a sbloccare la situazione.
E non so neanche cosa mettere come utente e password... Ho fatto alcune prove ma senza successo...

Prima di riportare altri dettagli vi chiedo: c'è qualcuno che utilizza qemu e ha messo in piedi samba per scambiare files con un sistema windows?
Potrebbe essere anche utile l'esperienza di chi ha messo in piedi samba anche in una lan tra sistemi reali linux windows. L'importante è che le versioni dei softwares siano simili alle mie che riporto di seguito:

Codice: Seleziona tutto

$ samba --version
Version 4.4.4

$ qemu-system-x86_64 --version
QEMU emulator version 2.8.0
Copyright (c) 2003-2016 Fabrice Bellard and the QEMU Project developers
Spero in qualche vostro aiuto! :)
Grazie in anticipo!

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3033
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Qemu

Messaggio da ponce »

qemu non c'entra, e' il parametro "security = share" di samba che dalla versione 4.x non funziona piu' come prima.

se vuoi impostare un server samba "aperto" col nuovo samba nella sezione [global] di /etc/samba/smb.conf metti le opzioni

Codice: Seleziona tutto

   security = user
   map to guest = Bad User
   guest account = tuoutente
dove "tuoutente" e', ad esempio, il proprietario delle directory condivise (e del contenuto).
se vuoi fare in modo di poterti collegare al server samba solo dalla sottorete delle macchine virtuali, ad esempio 192.168.122.0/24, puoi mettere questo parametro nella solita sezione

Codice: Seleziona tutto

   hosts allow = 192.168.122. 127.
poi definisci la condivisione con questi parametri

Codice: Seleziona tutto

[esempio]
   comment = esempio
   path = /percorso/a/directory/condivisa
   read only = no
   writable = yes
   public = yes
   guest ok = yes
   force user = tuoutente
   create mask = 000
   directory mask = 000
   force create mode = 666
   force directory mode = 777

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3805
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Qemu XP virtualizzato e samba per scambio files con slack

Messaggio da joe »

Grande Ponce! :thumbright:

Ho provato al volo a modificare la configurazione di samba come indicato:
- ho assegnato la proprietà della directory in condivisione al mio utente semplice:

Codice: Seleziona tutto

chown -R joe:users /mnt/share
- ho replicato la tua configurazione d'esempio lasciando per il momento aperta al mondo la condivisione

E avviando la macchina virtuale da XP riesco ad accedere alla directory condivisa che si trova tra le risorse di rete ed è nominata identicamente al titolo della sezione nel file di configurazione, nel nostro caso si chiamerebbe "esempio". Quindi così impostata, da XP non ho problemi con richiesta di credenziali come avveniva prima.

Però c'è ancora qualcosa che non funziona come dovrebbe, infatti da XP vorrei avere i pieni privilegi sulla directory in condivisione, ma così non è:
- posso creare (e rimuovere) una nuova sotto-directory rinominarla e cancellarla
- posso creare un nuovo file di testo (ad esempio), ma da XP non posso rinominarlo, editarlo nè cancellarlo, risulta come marcato "in sola lettura". Così a naso potrebbe essere dovuto alla maschera degli attributi:

Codice: Seleziona tutto

create mask = 000
directory mask = 000
- se creo un file dall'host linux (joe@host:~$ touch /mnt/share/pippo.txt), allora da XP posso rinominare il file, editarlo e cancellarlo e non risulta in sola lettura. Per la cronaca ho provato a creare sempre dall'host linux un file pippo.txt, ma lavorando come utente diverso da joe, ad esempio "root". In questo caso da XP posso accedere al file, che non risulta tra l'altro in sola lettura. Tuttavia non riesco nè ad editarlo nè a cancellarlo o rinominarlo in quanto (giustamente) non appartiene all'utente "joe" con cui è stata impostata la condivisione in smaba.

Detto questo, a me interesserebbe poter editare cancellare rinominare ecc ecc i files e le sotto-directory della directory in condivisione. In pratica dentro quella directory condivisa, lavorando da XP voglio avere gli stessi permessi che ho come utente semplice (il "tuoutente" dell'esempio).
Su quali parametri bisogna agire per ottenere la situazione desiderata?

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3033
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Qemu XP virtualizzato e samba per scambio files con slack

Messaggio da ponce »

se l'utente che usi su linux si chiama "joe" allora conviene che l'utente "tuoutente" indicato sopra sia anch'esso "joe": questo dovrebbe evitarti i problemi di cui sopra, perche' le opzioni "guest account = joe" e "force user = joe" dovrebbero far si che i file vengano gestiti da samba come se fosse joe.

ah, a proposito, ho visto che hai lo share su /mnt/share: che filesystem c'e' nella condivisione sotto linux? ext4? hai montato per caso un altro tipo di filesystem sotto /mnt/share?

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3805
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Qemu XP virtualizzato e samba per scambio files con slack

Messaggio da joe »

Sì, fà parte della partizione di sistema che è EXT4 (ho solo la "/" su slackware, niente home o altro, /mnt/share è semplicemente una sub directory, non vi è montato altro dispositivo tip HD altre partizioni ecc.).
L'utente anche è "joe" e l'ho sostituito al "tuoutente" dell'esempio che hai postato.

Che sia un conflitto tra i permessi del fs ext4 e i limiti di XP che invece non gestisce allo stesso modo gli attributi dei files?
Mi sembra strano però...

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3033
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Qemu XP virtualizzato e samba per scambio files con slack

Messaggio da ponce »

non credo, io uso tranquillamente la configurazione sopra con xp, windows 7 e windows 10.

prova a impostare i permessi della directory /mnt/share a 777 e guarda magari se ti fa la solita cosa creando una sottocartella, magari sempre con permessi 777, e lavorando nella sottocartella da XP.

se non andasse postami il tuo file /etc/samba/smb.conf completo.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3805
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Qemu XP virtualizzato e samba per scambio files con slack

Messaggio da joe »

I permessi erano già quelli: ti metto i permessi della dir share, quelle della subdir "ppp" di prova che contiene un file di testo creato da XP.
Quest'ultimo ha il nome di default che gli dà windows... proprio perchè non si riesce neanche a nominare per via dei permessi mancanti.

Codice: Seleziona tutto

$ ls -ld /mnt/share/ /mnt/share/ppp/ /mnt/share/ppp/Nuovo\ Documento\ di\ testo.txt 
drwxrwxrwx 3 joe users 4096 gen 21 17:57 /mnt/share/
drwxrwxrwx 2 joe users 4096 gen 21 13:52 /mnt/share/ppp/
---------- 1 joe users    0 gen 21 13:52 /mnt/share/ppp/Nuovo Documento di testo.txt
Metto qua sotto il file completo:

Codice: Seleziona tutto

[global]
   workgroup = MYGROUP
   server string = Samba Server
   server role = standalone server
   log file = /usr/local/samba/var/log.%m
   max log size = 50
   dns proxy = no 
   security = user
   map to guest = Bad User
   guest account = joe
[homes]
   comment = Home Directories
   browseable = no
   writable = yes
[printers]
   comment = All Printers
   path = /usr/spool/samba
   browseable = no
   guest ok = no
   writable = no
   printable = yes
[Qemu Samba Share]
   comment = Qemu Samba Share
   path = /mnt/share
   writable = yes
   public = yes
   guest ok = Yes
   force user = joe
   create mask = 000
   directory mask = 000
   force create mask = 666
   force directory mode = 777

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3033
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Qemu XP virtualizzato e samba per scambio files con slack

Messaggio da ponce »

in fondo hai scritto

Codice: Seleziona tutto

force create mask = 666
invece di

Codice: Seleziona tutto

force create mode = 666
credo sia un problema di copia/incolla venuto male...

a parte questo una curiosita': come mai hai i log in /usr/local/samba? hai installato samba dai sorgenti o dal pacchetto ufficiale Slackware? Lo chiedo perche' samba sulla 14.2 e' alla versione 4.4.8...

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3805
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Qemu XP virtualizzato e samba per scambio files con slack

Messaggio da joe »

Ciao e grazie per la correzione! Come hai osservato avevo ceffato nel copia incolla...
Con la correzione funziona come dovrebbe: posso creare e rimuovere files e directory all'interno dello share anche lavorando dal guest XP.

Per quanto riguarda quel log file è merito mio e di come ho creato il file di configurazione smb.conf.
Allora, il pacchetto samba è quello incluso nell'installazione full di Slackware 14.2. Che se non ricordo male non comprendeva un file di configurazione di default ma dei files di esempio.
Per caso ho guardato prima nella directory "/usr/doc/samba...." invece che nella directory /etc/samba (in quest'ultimo stava il file di esempio più corretto, che non include path "esotici" per slackware come /usr/local ecc ecc).
Tirando le somme ecco come avevo creato il file di configurazione:

Codice: Seleziona tutto

grep -v '^#\|^\;\|^$' /usr/doc/samba-4.4.4/examples/smb.conf.default               
[global]
   workgroup = MYGROUP
   server string = Samba Server
   server role = standalone server
   log file = /usr/local/samba/var/log.%m
   max log size = 50
   dns proxy = no 
[homes]
   comment = Home Directories
   browseable = no
   writable = yes
[printers]
   comment = All Printers
   path = /usr/spool/samba
   browseable = no
   guest ok = no
   writable = no
   printable = yes
Il tutto poi è stato rediretto su /etc/samba/smb.conf.
In realtà quella dir non esiste sul mio sistema quindi immagino che i log di samba vengano gettati al vento. Provvederò a mettere:

Codice: Seleziona tutto

log file = /var/log/samba.%m
Hai ragione ho controllato con "slackpkg" e adesso nel ramo stable di slackware c'è l'aggiornamento a samba 4.4.8. Ho la versione 4.4.4 semplicemente perchè non ho fatto gli aggiornamenti di sicurezza, che mi appresterò a fare... facendo attenzione a non retrocedere qualche pacchetto ricompilato da SBo con sbopkg che ho usato spesso! ;)

Insomma, direi che il discorso "samba + qemu + host-guest" sia risolto. Metterò risolto nel titolo.

PS.
Già che siamo in argomento avrei però una domanda ancora, relativa semplicemente a qemu.
All'avvio di XP viene rilevato un nuovo hardware che poi da "gestione periferiche" risulta essere "controller video (compatible VGA)" il quale XP vorrebbe cercare un driver.
Questo comportamento non sembra avere effetti particolari sul sistema virtualizzato... Ma potrebbe essere che in alcune circostanze possa causare problemi.
Per caso, avete idee su come rendere la periferica in oggetto pienamente gestita da XP?

Allego di seguito il comando che uso per avviare XP via qemu:

Codice: Seleziona tutto

qemu-system-i386 \
   -enable-kvm \
   -m 800 \
   -net nic,model=rtl8139 \
   -net user,smb=/mnt/share \
   -hda newXP-15G.img \
   -hdb /tmp/ramdisk/ntfs-ramdisk-300M \
   -drive file=newXP-15G.img,format=raw \
   -drive file=/tmp/ramdisk/ntfs-ramdisk-300M,format=raw
Le opzioni -drive-file non sono sicuro che abbiano senso, era un tentativo di far rientrare alcuni Warnings inerenti il "raw format" dei file immagine usati. Ne riporto per completezza il messaggio:

Codice: Seleziona tutto

WARNING: Image format was not specified for 'newXP-15G.img' and probing guessed raw.
         Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
         Specify the 'raw' format explicitly to remove the restrictions.
WARNING: Image format was not specified for '/tmp/ramdisk/ntfs-ramdisk-300M' and probing guessed raw.
         Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
         Specify the 'raw' format explicitly to remove the restrictions.
Inutile dire che pur con le opzioni "-drive file=,format=" i Warnings restano. Evidentemente non ho compreso il manuale...

Ma questa potrebbe essere un'altra domanda. Prima mi premeva capire meglio il discorso del controller video e driver mancante.

Ringrazio Ponce per le risposte e spero che la discussione possa tornare utile (a me senz'altro, in futuro la ricercherò quando dovrò riconfigurare samba! :D)

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3033
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Qemu XP virtualizzato e samba per scambio files con slack

Messaggio da ponce »

la scheda grafica emulata e' decisa dal parametro -vga: da "man qemu"

Codice: Seleziona tutto

-vga type
Select type of VGA card to emulate. Valid values for type are

cirrus
Cirrus Logic GD5446 Video card. All Windows versions starting from Windows 95 should recognize and use this graphic card. For optimal performances, use 16 bit color depth in the guest and the host OS.  (This one is the default)

std
Standard VGA card with Bochs VBE extensions.  If your guest OS supports the VESA 2.0 VBE extensions (e.g. Windows XP) and if you want to use high resolution modes (>= 1280x1024x16) then you should use this option.

vmware
VMWare SVGA-II compatible adapter. Use it if you have sufficiently recent XFree86/XOrg server or Windows guest with a driver for this card.

qxl
QXL paravirtual graphic card.  It is VGA compatible (including VESA 2.0 VBE support).  Works best with qxl guest drivers installed though. Recommended choice when using the spice protocol.

tcx
(sun4m only) Sun TCX framebuffer. This is the default framebuffer for sun4m machines and offers both 8-bit and 24-bit colour depths at a fixed resolution of 1024x768.

cg3
(sun4m only) Sun cgthree framebuffer. This is a simple 8-bit framebuffer for sun4m machines available in both 1024x768 (OpenBIOS) and 1152x900 (OBP) resolutions aimed at people wishing to run older Solaris versions.

virtio
Virtio VGA card.

none
Disable VGA card.
non avendo specificato niente nel tuo caso dovrebbe essere emulata una Cirrus Logic GD5446, il cui driver dovrebbe essere gia' supportato da windows xp.
seguendo la pagina man puoi provare anche con "-vga std".
a naso e' probabile che la periferica non riconosciuta sia un'altra ma non credo di poterti essere di molto aiuto al riguardo, forse chiedere nella mailing list di qemu potrebbe essere piu' efficace.
personalmente qui installo prima spice, compilo qemu e poi lo lancio con "-vga qxl", installando nel guest gli spice guest tools.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3805
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Qemu XP virtualizzato e samba per scambio files con slack

Messaggio da joe »

Non ho idea di quali vantaggi comportino i spice quest tools. Mi informerò, comunque ho fatto una prova come hai indicato:
1. ho installato il software su XP guest. È apparso qualche warning che ammoniva la possibile instabilità del sistema, tuttavia ho ignorato e ho completato l'installazione.
2. ho installato spice e dipendenze (SBo).
3. ho ricompilato qemu usando lo slackbuild di SBo come partenza, ho però compilato la versione 2.8.0 e ho aggiunto l'opzione --enable-spice al "configure". alla fine ho installato il nuovo pacchetto qemu.
4. quindi ho aggiunto l'opzione che indicavi al lancio di qemu "-vga qxl".

XP si è avviato, ha macinato un po' di più del solito e alla fine mi ha consentito di aprire il menù start.
Ho controllato le periferiche ed effettivamente dal device manager "gestione periferiche" vedo sotto schede video: "Red Hat QXL GPU". E anche la ricerca di prima del driver mancante non è avvenuta, segno che la scheda video indicata al lancio di qemu è quantomeno riconosciuta ed utilizzata dal sistema guest.
Vedremo se spunteranno problemi o se girerà tutto senza problemi.

Sono rimasti i Warnings relativi al formato "raw" dei files immagine dei dischi. Mi informerò meglio sul significato del messaggio e su come risolvere.

Per il momento torno a ringraziare per tutte le dritte e la disponibilità.
Grazie Ponce! :)

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3033
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Qemu XP virtualizzato e samba per scambio files con slack

Messaggio da ponce »

joe ha scritto:3. ho ricompilato qemu usando lo slackbuild di SBo come partenza, ho però compilato la versione 2.8.0 e ho aggiunto l'opzione --enable-spice al "configure". alla fine ho installato il nuovo pacchetto qemu.
in realta' non dovresti aver bisogno di editare lo SlackBuild, dovrebbe "accorgersi" che spice e' installato e abilitarlo di conseguenza.
il punto 1, a logica, dovresti farlo dopo il 4, ma probabilmente trovando i file gia' nel sistema xp installa da solo i driver quando poi lo lanci con la scheda grafica QXL.
Ultima modifica di ponce il dom 22 gen 2017, 19:53, modificato 1 volta in totale.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3805
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Qemu XP virtualizzato e samba per scambio files con slack

Messaggio da joe »

Ah ok, tanto meglio...

Penso di aver risolto anche i wrnings. Banalmente rileggendo il man è scritto chiaramente il problema:

Codice: Seleziona tutto

Instead of -hda, -hdb, -hdc, -hdd, you can use:

                   qemu-system-i386 -drive file=file,index=0,media=disk
                   qemu-system-i386 -drive file=file,index=1,media=disk
                   qemu-system-i386 -drive file=file,index=2,media=disk
                   qemu-system-i386 -drive file=file,index=3,media=disk
Alla luce di questo ho modificato il comando di lancio di qemu che ora risulta il seguente:

Codice: Seleziona tutto

qemu-system-i386 \
   -enable-kvm \
   -m 800 \
   -net nic,model=rtl8139 \
   -net user,smb=/mnt/share \
   -drive file=newXP-15G.img,format=raw,index=0,media=disk \
   -drive file=/tmp/ramdisk/ntfs-ramdisk-300M,format=raw,index=1,media=disk \
   -vga qxl
PS.
Il problema è che prima avevo effettuato tutti gli aggiornamenti di sicurezza con slackpkg selezionando anche i nuovi kernel. Ora ho il kernel nuovo disinstallato e quello vecchio non più presente così il modulo "kvm" non viene più trovato e la macchina virtuale è molto più lenta....
Dovrò riavviare il sistema, ma prima devo anche riconfigurare Grub... Lo avevo fatto qualche tempo fa in fase di installazione del sistema, ma sono andato un po' a caso. Alla fine funziona, ma lilo mi piaceva di più, solo che ho voluto passare a GPT ecc ecc.
Insomma si risolve un problema e se ne crea uno nuovo! ;)

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3805
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Qemu XP virtualizzato e samba per scambio files con slack

Messaggio da joe »

No c'è qualcosa che non và:
- se avvio con "-vga qxl", il mouse sparisce.... Cioè quando clicco sulla finestra di XP o quando la metto a tutto schermo con CTRL+ALT+F e poi clicco, invece di controllare il puntatore del mouse, quest'ultimo non c'è... O meglio non si vede, perchè se mi sposto in basso a sinistra noto che si illumina il "pulsante" del menù "START" di windows, quindi in realtà il puntatore c'è ma non si vede.
- ho provato a disinstallare gli spice tools
- ho provato a riavviare la macchina virtuale nuovamente, sempre con -vga qxl
- anche sta volta non si vede il puntatore del mouse
- tutti i dispositivi risultano comunque gestiti regolarmente dai drivers di xp
- ho comunque provato a reinstallare spice tools ma il puntatore non è riapparso
- alla fine ho riavviato xp ma il puntatore latita sempre
- riprovando a riavviare con -vga std o anche senza opzione -vga (quindi emulando la scheda Cirrus), ecco che il puntatore ricompare, ma salta fuori anche il problema spiegato prima relativo al driver mancante per il controller della scheda video.

Ho provato a chiedere lumi anche su qemu-discuss, la mailing list degli utenti qemu: per ora nessuna risposta.
Vi terrò aggiornati, se nel frattempo vi vengono idee sono in ascolto! :)

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3805
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Qemu XP virtualizzato e samba per scambio files con slack

Messaggio da joe »

Torno un attimo sulla questione scambio files tra il sistema guest virtualizzato via qemu e l'host.
Cercavo una soluzione al problemi "video" che ho rilevato dal sistema guest (driver mancante per la scheda video, oppure se uso qxl + spice-tools puntatore del mouse invisibile. Si veda il post precedente). E nel wiki di arch linux sono inciampato in queste righe:
QEMU - ArchWiki ha scritto: QEMU's documentation says it has a "built-in" SMB server, but actually it just starts up Samba with an automatically generated smb.conf file located at /tmp/qemu-smb.pid-0/smb.conf and makes it accessible to the guest at a different IP address (10.0.2.4 by default). This only works for user networking, and this is not necessarily very useful since the guest can also access the normal Samba service on the host if you have set up shares on it.
To enable this feature, start QEMU with a command like:

Codice: Seleziona tutto

$ qemu-system-i386 disk_image -net nic -net user,smb=shared_dir_path
where shared_dir_path is a directory that you want to share between the guest and host.
Then, in the guest, you will be able to access the shared directory on the host 10.0.2.4 with the share name "qemu". For example, in Windows Explorer you would go to \\10.0.2.4\qemu
Questo spiega il comportamento che rilevavo dal guest: cioè riuscivo a collegarmi alla risorsa condivisa sia dall'indirizzo del gateway, cioè del sistema host "10.0.2.2" che dall'indirizzo del samba server virtuale di qemu accessibile al 10.0.2.4. Però non ci avevo riflettuto sopra troppo pensando di collegarmi in entrambi i modi sempre al samba server dell'host. E invece no: ci sono due samba server: quello virtuale di qemu, che ha il suo file di configurazione creato al volo automaticamente in "tmp" (v.di il quote sopra) e poi c'è il samba server reale del sistema host (quello configurato grazie all'aiuto di Ponce nei post precedenti).
Ciò significa che se lo scopo è quello di passare files tra l'host e un solo sistema guest, come nel mio caso, non c'è necessità di avere un serve samba reale sul sistema host. E questo semplifica notevolmente le cose. Ho provato e funziona: ho lanciato qemu con l'opzione smb=/home/joe/qemu-share (che non è la directory di condivisione gestita dal samba server dell'host, quella era /mnt/share come si vede nei post precedenti). Bene, dal guest accedo regolarmente all'indirizzo "\\10.0.2.4\qemu", vi ho creato un file "pippo" ed effettivamente su slackware lo ritrovo nella directory /home/joe/qemu-share:

Codice: Seleziona tutto

$ ls -l qemu-share/
totale 8
-rwxr--r-- 1 joe users 294 gen 24 01:15 pippo.txt
-rwxr--r-- 1 joe users   4 gen 24 01:08 prova da samba xp.txt
In soldoni la soluzione per le mie esigenze era molto più semplice:
- non serviva samba in funzione sul sistema host
- le opzioni da passare a qemu che ho provato nel test sono quindi

Codice: Seleziona tutto

qemu-system-i386 \
   -m 2G \
   -net nic,model=rtl8139 \
   -net user,smb=/home/joe/qemu-share \
   -drive file=newXP-15G.img,format=raw,index=0,media=disk \
   -drive file=/tmp/ramdisk/ntfs-ramdisk-300M,format=raw,index=1,media=disk \
   -vga qxl \
   -display gtk \
   -enable-kvm
Considerazioni:
Se ho ben capito il server samba "built in" di qemu funziona solo se la gestione di rete host-guest è in modalità "user mode" (opzione "-net user,smb=sharedir").
Questo significa che se si ha l'esigenza di mettere ad esempio in rete diverse macchine virtuali, allora la rete user mode potrebbe non bastare più e di conseguenza il server samba sull'host avrebbe il suo perchè. Tuttavia nel mio semplice caso avevo solo necessità di passarmi files tra guest e host e bastava quindi solo la user mode network col samba built in di qemu.

Se avete altre considerazioni aggiungetele pure.
Lascio ancora "non risolto" perchè per completezza avrei voluto anche risolvere il problema della scheda video non gestita e/o del puntatore mouse invisibile se uso "-vga qxl".

Rispondi