Newsgroup: it.comp.os.linux.iniziare
Titolo: bochs vs qemu

Voloendo far girare WinXP / 2K sotto linux
consigliate bochs o qemu (o VMware) ?
TIA
-- 
       _
.-._.=\-.
(_)=='(_)______________/ helix \___

 TIA
qemu + kqemu.
Avevo visto in rete (e forse anche su qualche NG) una pagina che 
spiegava un trucco per creare una macchina virtuale con qemu e 
utilizzare poi VMWare player (dal momento che windows è un po' rognoso 
con gli emulatori, e che con vmware funzia decentemente)
VMWarePlayer è gratuito, ma non permette di creare macchine virtuali 
ex-novo.
LP

 TIA
A mio parere vmware è il migliore in assoluto, è facile ed estremamente
intuitivo, però costa.
qemu + kqemu sono gratuiti e funzionano egregiamente, tranne che per la
gestione delle interfacce di rete virtuale, che ho trovato decisamente
brigosa. Io sono riuscito solo a creare una rete virtuale, ma non ad
interfacciarla con la rete fisica su cui è attestata la macchina host.
Devo confessare, però, di non avere dedicato molto tempo alla cosa.
qemu ha anche il vantaggio di emulare arvhitetture diverse, cosa con la
quale ho giocato non poco :-)
Manuel
-- 
Bud (un bergamasco "de sura" a Pavia)
Guzzi California 1100ie '94
ex Gilera ECO 50 '79 (ma moooolto ex)
ICQ: 172 017 730
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Devo confessare, però, di non avere dedicato molto tempo alla cosa.
dopo varie peripezie io ci sono riuscito (un bel po di tempo fa), e mi
ricordo che non è stato per niente semplice.
magari adesso le cose sono migliorate

RedWiz ha scritto:

Grazie a tutti,
userò VMware


RedWiz wrote:

No, devi solo usare vde/vde_switch, che ti permette, assieme ad un apposito
programma (vdeq/vdeqemu), di creare un rete virtuale per qemu che è
connessa alla rete fisica con totale routing dei dati, quindi condivisioni
samba, accesso a internet, in maniera totalmente trasparente.
(Io sto lavorando a una personalizzazione di vdeqemu per dotarlo di varie
opzioni (tra cui un file di configurazione), in modo da semplificare
pesantemente l'uso di qemu, solo che ne l'autore di qemu ne quello di vde
sono minimamente interessati, quindi ci vorrà molto tempo).
Io uso un servizio per configurare vde:
#! /bin/bash
#
# gdb-vde_qemu: Start/Stop the vde for qemu
#
# chkconfig: 2345 99 10
# description: Vde for qemu
# processname: gdb-vde_qemu
# config: /etc/?
# pidfile: /var/run/gdb-vde_qemu.pid
# Source function library.
. /etc/init.d/functions
RETVAL=0
# See how we were called.
PATH=$PATH:/usr/local/bin
ServName="gdb-vde_qemu"
ServDes="Vde for qemu"
prog="vde_switch"
ProgRun="/var/run/"$ServName".pid"
ProgSock="/tmp/vde_qemu.ctl"
IPSwitch="192.168.0.254"
MaskSwitch="255.255.255.0"
start(){
    local ServPid
    echo -n $"Starting $ServDes: (tap0 192.168.0.254)"
    ServPid=`pidfileofproc $ServName`
    if [ "$ServPid" ]; then
        RETVAL=1
    else
# Carica il modulo 'tun'
        if ! /sbin/lsmod | grep tun > /dev/null; then
            /sbin/modprobe tun
        fi
        daemon $prog -tap tap0 -sock $ProgSock -m 0770 -daemon -pidfile
$ProgRun -M /tmp/vde.mgmt
        [ $RETVAL -eq 0 ] && chgrp users $ProgSock && chgrp users
"$ProgSock/ctl" && chmod 760 "$ProgSock/ctl"
        [ $RETVAL -eq 0 ] && ifconfig tap0 $IPSwitch netmask $MaskSwitch
    fi
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch "/var/lock/subsys/"$ServName
    return $RETVAL
}
stop(){
    echo -n $"Stopping $ServDes: "
    killproc $ServName -HUP
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f "/var/lock/subsys/"$ServName
    return $RETVAL
}
case "$1" in
    start)
        start ;;
    stop)
        stop ;;
    restart)
        stop
        start
        ;;
    status)
        status $prog ;;
    *)
        echo $"Usage: $0 {start|stop|restart|status}"
        exit 1
esac
exit $?
E uno script per lanciare qemu (se non si vuole configurare sudo è possile
togliere l'uso di sudo e lanciare lo script da root o spostare (o
eliminare) i comandi in uno script di configurazione generale da lanciare
da root):
#! /bin/bash
# Avvia l'immagine del sistema guest
# E' necessario per l'uso di ' /dev/net/tun ':
# ' gdb     exnet= PASSWD: /bin/chmod o+rw /dev/net/tun '
# E' necessario:
# ' gdb     exnet= PASSWD: /sbin/modprobe kqemu '
# ' gdb     exnet= PASSWD: /sbin/service gdb-vde_qemu * '
# ' gdb     exnet= PASSWD: /bin/mount '
# ' gdb     exnet= PASSWD: /bin/umount '
# Opzionale:
# ' 192.168.0.200           
win98.dbg.it
    win98 ' in ' /etc/hosts '
# ' 192.168.0 254 linuxhost ' in ' \windows\lmhosts '
#
MemGuest="512"
MemShm="900"
DevTun="/dev/net/tun"
ImgPathGuest="/mnt/disk/image"
ImgGuest="win98.img"
IfUp="./qemu-simple"
QemuCdRom=""
ProgSock="/tmp/vde_qemu.ctl"
VdeServ="gdb-vde_qemu"
VdeRun="/var/run/"$VdeServ".pid"
#
StartVde="false"
StopVde="false"
# imposta le opzioni della linea di comando
if [ $# -eq "0" ]; then
     echo "Opzioni: -v (VDE) -c (cdrom), -d (debian sarge 3.1)  -s (suse
10)"
fi
while getopts ":cdsv" Option; do
    case $Option in
    c ) QemuCdRom="-cdrom /dev/cdrom1" ;;
    d ) ImgGuest="debian-sarge-3.1.img" ;;
    s ) ImgGuest="suse-10.img" ;;
    v ) StartVde="true" ;;
    * ) echo "Opzione non valida" ;;
   esac
done
#  Decrements the argument pointer so it points to next argument.
#  $1 now references the first non option item supplied on the command line
#+ if one exists.
shift $(($OPTIND - 1))
#
# Carica il modulo di accelerazione
if ! /sbin/lsmod | grep kqemu > /dev/null; then
    sudo /sbin/modprobe kqemu
    echo "Caricato il modulo di accelerazione"
fi
#
# Avvia VDE
if [ "$StartVde" == "true" ]; then
    if ! [ -f $VdeRun ]; then
        sudo /sbin/service $VdeServ start
        StopVde="true"
    fi
else
# Imposta i permessi di accesso di $DevTun
    DevPerm=`ls -al $DevTun`
    DevPerm=${DevPerm:7:2}
    if [ "$DevPerm" != "rw" ]; then
        sudo /bin/chmod o+rw $DevTun
        echo "Impostati i permessi di "$DevTun" a o+rw"
    fi
fi
#
# Imposta la memoria condivisa
#
MntTmpFs=`mount|grep tmpfs`
SizeTmpFs=${MntTmpFs##*=}
if [ "$MntTmpFs" != "$SizeTmpFs" ]; then
    SizeTmpFs=${SizeTmpFs%%m*}
else
    SizeTmpFs="0"
fi
if [ "$SizeTmpFs" -lt "$MemShm" ]; then
    sudo umount /dev/shm
    sudo mount -t tmpfs -o size=$MemShm"m" none /dev/shm
    echo "Impostato memoria condivisa da "$SizeTmpFs" a "$MemShm" Mb"
fi
#
# Avvia l'immagine del sistema guest
if [ "$StartVde" == "true" ]; then
    vdeqemu -net nic -net vde,sock=$ProgSock -hda $ImgPathGuest"/"$ImgGuest
$QemuCdRom -m $MemGuest -soundhw sb16 -localtime
# Arresta VDE
    if [ "$StopVde" == "true" ]; then
        sudo /sbin/service $VdeServ stop
    fi
else
    qemu -hda $ImgPathGuest"/"$ImgGuest $QemuCdRom -n $IfUp -m $MemGuest
-soundhw sb16 -localtime
fi