Newsgroup: it.comp.os.linux.sys
Titolo: Virtualizzare Win98

Salve NG,
ho una ubuntu 9.04 e volevo virtualizzare Win98. Ho installato virt-manager 
(perche' sono newbie di virtualizzazione), qemu e kvm.
Da virt-manager non si puo' selezionare Win98, ma solo W2k, XP, Vista (per 
quel che riguarda windows).
Cosi' ho selezionato msdos e ho provato ad installare da cdrom. Dopo 
l'installazione, a parte una marea di driver che mi vengono richiesti, non 
riesco a far andare il mouse, o  meglio funziona per 2 secondi, poi si 
pianta, ecc.
Domanda: qualcuno ha dei suggerimenti per virtualizzare win98?
Grazie, Nicola.
-- 
chi va pian va san e va lontan



- postare in un altro ng
- provare ad usare virtualbox
- gettare w98
l'ordine sceglilo tu
S.

 - provare ad usare virtualbox
In cui w98 funziona, ma le guest additions sono parzialmente
implementate, non si impegnano più di tanto per quel sistema
operativo, e ad esempio, il video mi sembra non vada oltre i
640x480 della vga classica.
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net

 - gettare w98
Gia', ma non lo posso fare.



#* This file is part of start-guest.
#*
#* start-guest is free software; you can redistribute it and/or modify
#* it under the terms of the GNU General Public License as published by
#* the Free Software Foundation; either version 2 of the License, or
#* (at your option) any later version.
#*
#* start-guest is distributed in the hope that it will be useful,
#* but WITHOUT ANY WARRANTY; without even the implied warranty of
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#* GNU General Public License for more details.
#*
#* You should have received a copy of the GNU General Public License
#* along with start-guest; if not, write to the Free Software
#* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 
USA
#**************************************************************************/
# Avvia l'immagine del sistema guest
# Opzionale:
# ' 192.168.0 254 linuxhost ' in ' \windows\lmhosts '
# Qemu can use SDL sound instead of the default OSS
#export QEMU_AUDIO_DRV=sdl
# Whereas SDL can play through alsa:
#export SDL_AUDIODRIVER=alsa
function GetImgPath(){
    local ImgFileIn=$1
    ImgFileOut=""
    if [ ${ImgFileIn: 0: 1} == "/" ] || [ ${ImgFileIn: 0: 1} == "." ]; then
        ImgFileOut=$ImgFileIn
    else
        ImgFileOut=$GuestImgPath"/"$ImgFileIn
    fi
}
PATH=$PATH":/sbin"
ProgFile=$0
ProgPath=`dirname $ProgFile`
ProgName=`basename $ProgFile`
if [ $ProgPath == "." ]; then
    ProgPath=`pwd`;
fi
GuestImgPath=$ProgPath"/../os-img/qemu"
GuestSO=""
GuestImgNum=""
GuestImgHda=""
GuestImgHdb=""
GuestImgHdc=""
GuestImgHdd=""
GuestMAC=""
GuestRAM="512"
QemuMediaDisk=""
QemuBoot=""
QemuIfUp==$ProgPath"/qemu-simple"
ProgSock="/tmp/vde_qemu.ctl"
StartVde="false"
ImgFileOut=""
# Visualizza le opzioni della linea di comando
if [ $# -eq "0" ]; then
    echo -e "Selezione Guest S.O.:\n  'Tipo S.O.' 'Numero S.O.' (es. -w 1)"\
            "\nTipo S.O:\n  -o = Precedente installazione di windows 98"\
            "\n  -w = Windows 98, -W = Windows Vista"\
            "\n  -f = Fedora"\
            "\nNumero S.O:\n  0 = Originale, 1 = Uso normale, 2 = test"\
            "\nAttivazione VDE: -v"\
            "\nLista immagini virtuali: -l"\
            "\nImpostazione RAM: -m 'dimensione' (predefinita $GuestRAM
MB)"\
            "\nBoot da dvd/dvd-rw/cdrom: -i"\
            "\nAttivazione di dvd/dvd-rw/cdrom:"\
            "\n  -r dvd, dvd-rw, cdrom, 'file/device'"\
            "\nAssegnazione ad hda (boot)/b/c/d di immagine/harddisk:"\
            "\n  -a, -b, -c, -d, 'file/device'"
fi
# Elabora le opzioni della linea di comando
while getopts "vw:W:f:ir:lm:a:b:c:d:" Option; do
    case $Option in
    w ) GuestSO="Windows 98"
        GuestImgNum=$OPTARG ;;
    W ) GuestSO="Windows Vista"
        GuestImgNum=$OPTARG ;;
    f ) GuestSO="Fedora"
        GuestImgNum=$OPTARG ;;
    v ) StartVde="true" ;;
    a ) GuestImgHda=$OPTARG ;;
    b ) GuestImgHdb=$OPTARG ;;
    c ) GuestImgHdc=$OPTARG ;;
    d ) GuestImgHdd=$OPTARG ;;
    i ) QemuBoot="-boot d" ;;
    r ) QemuMediaDisk=$OPTARG ;;
    l ) ls $GuestImgPath;;
    m ) GuestRAM=$OPTARG ;;
    * ) echo "Opzione non valida" ;;
    esac
done
# Imposta l'unità hda di avvio
if ! [ "$GuestImgHda" ]; then
    case $GuestSO in
    "Windows 98" )
        case $GuestImgNum in
            "0" ) GuestImgHda="win98.qcow"      ;;
            "1" ) GuestImgHda="win98_1.qcow"    ;;
            "2" ) GuestImgHda="win98_2.qcow"    ;;
        esac ;;
    "Windows Vista" )
        case $GuestImgNum in
            "0" ) GuestImgHda="wintest.qcow2"   ;;
            "1" ) GuestImgHda="wintest_1.qcow2" ;;
            "2" ) GuestImgHda="wintest_2.qcow2" ;;
        esac ;;
    "Fedora" )
        case $GuestImgNum in
            "0" ) GuestImgHda="fedora.qcow"     ;;
            "1" ) GuestImgHda="fedora_1.qcow"   ;;
            "2" ) GuestImgHda="fedora_2.qcow"   ;;
        esac ;;
    esac
fi
# Imposta il MAC address della scheda di rete
NumGuest=$((`pidof -x start-guest | wc -w` - 1))
case $GuestSO in
    "Windows 98" )
    case $NumGuest in
        "1" ) GuestMAC="52:54:00:00:EE:12" ;;
        "2" ) GuestMAC="52:54:00:00:EE:13" ;;
        "3" ) GuestMAC="52:54:00:00:EE:14" ;;
    esac ;;
    "Windows Vista" )
    case $NumGuest in
        "1" ) GuestMAC="52:54:00:00:EE:22" ;;
        "2" ) GuestMAC="52:54:00:00:EE:23" ;;
        "3" ) GuestMAC="52:54:00:00:EE:24" ;;
    esac ;;
    "Fedora" )
    case $NumGuest in
        "1" ) GuestMAC="52:54:00:00:EE:32" ;;
        "2" ) GuestMAC="52:54:00:00:EE:33" ;;
        "3" ) GuestMAC="52:54:00:00:EE:34" ;;
    esac ;;
    * )
    case $NumGuest in
        "1" ) GuestMAC="52:54:00:00:EE:02" ;;
        "2" ) GuestMAC="52:54:00:00:EE:03" ;;
        "3" ) GuestMAC="52:54:00:00:EE:04" ;;
    esac ;;
esac
#
#  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))
#
if ! [ "$GuestImgHda" ]; then
    exit 0
fi
# Imposta le unità hda/b/c/d
if [ "$GuestImgHda" ]; then
    GetImgPath $GuestImgHda
    GuestImgHda="-hda "$ImgFileOut
fi
if [ "$GuestImgHdb" ]; then
    GetImgPath $GuestImgHdb
    GuestImgHdb="-hdb "$ImgFileOut
fi
if [ "$GuestImgHdc" ]; then
    GetImgPath $GuestImgHdc
    GuestImgHdc="-hdc "$ImgFileOut
fi
if [ "$GuestImgHdd" ]; then
    GetImgPath $GuestImgHdd
    GuestImgHdd="-hdd "$ImgFileOut
fi
# Imposta il lettore dvd/dv-rw/cdrom
if [ "$QemuMediaDisk" ]; then
    case $QemuMediaDisk in
        "dvd" ) QemuMediaDisk="/dev/scd0" ;;
        "dvd-rw" ) QemuMediaDisk="/dev/scd1" ;;
        "cdrom" ) QemuMediaDisk="/dev/scd0" ;;
    esac
    QemuMediaDisk="-cdrom "$QemuMediaDisk
fi
#
# Avvia l'immagine del sistema guest
#/usr/bin/qemu-kvm-Mpc-m500-smp1-monitorpty
if [ "$StartVde" == "true" ]; then
    if [ "$GuestSO" == "Windows Vista" ]; then
        vdeq qemu-kvm -net vde,vlan=0,sock=$ProgSock -net
nic,vlan=0,macaddr=$GuestMAC,model=ne2k_pci \
            $GuestImgHda $GuestImgHdb $GuestImgHdc $GuestImgHdd
$QemuMediaDisk $QemuBoot \
            -m $GuestRAM -usb -soundhw sb16 -localtime
    else
        vdeq qemu-system-x86_64 -net vde,vlan=0,sock=$ProgSock -net
nic,vlan=0,macaddr=$GuestMAC \
            $GuestImgHda $GuestImgHdb $GuestImgHdc $GuestImgHdd
$QemuMediaDisk $QemuBoot \
            -m $GuestRAM -usb -soundhw sb16 -localtime
    fi
else
# Non aggiornato da molto tempo, quasi sicuramente non funzionante
    qemu -hda $GuestImgFile $QemuMediaDisk -n $QemuIfUp -m
$GuestRAM -soundhw sb16 -localtime
fi
#! /bin/bash
#
# gdb-vde_qemu: Start/Stop the vde for qemu
#
# chkconfig: 2345 60 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:/usr/local/sbin
MemShm="900"
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 MntTmpFs SizeTmpFs
# Avvia il g15 daemon
    if ! lsmod | grep uinput > /dev/null; then
        modprobe uinput
        echo "Caricato il modulo uinput"
    fi
    g15daemon
# Imposta la memoria condivisa
    SizeTmpFs=`df -m -t tmpfs | grep shm | (read sez1 sez2 sez3 sez4
sez5 ;echo $sez4)`
    if [ "$SizeTmpFs" -lt "$MemShm" ]; then
#       umount /dev/shm
        mount -t tmpfs -o size=$MemShm"m" none /dev/shm
        echo "Impostato memoria condivisa da "$SizeTmpFs" a "$MemShm" Mb"
    fi
# Carica il modulo di accelerazione kqemu
    if ! lsmod | grep kqemu > /dev/null; then
        modprobe kqemu
        echo "Caricato il modulo kqemu"
    fi
    echo -n $"Starting $ServDes: (tap0 $IPSwitch)"
    ServPid=`pidfileofproc $ServName`
    if [ "$ServPid" ]; then
        RETVAL=1
    else
# Carica il modulo 'tun'
        if ! lsmod | grep tun > /dev/null; then
            modprobe tun
# Wait for the module to be loaded
            while ! lsmod |grep -q "^tun"; do echo Waiting for tun
device;sleep 1; done
        fi
# Start tap switch
        daemon $prog -tap tap0 -sock $ProgSock -m 0770 -daemon -pidfile
$ProgRun -M /tmp/vde.mgmt
        RETVAL=$?
        if [ $RETVAL -eq 0 ]; then
            chgrp users $ProgSock && chgrp users "$ProgSock/ctl" && chmod
760 "$ProgSock/ctl"
            ifconfig tap0 $IPSwitch netmask $MaskSwitch
        fi
    fi
    echo
    [ $RETVAL -eq 0 ] && touch "/var/lock/subsys/"$ServName
    return $RETVAL
}
stop(){
    echo -n $"Stopping $ServDes: "
# Ferma il g15 daemon
    g15daemon -k
    modprobe -r uinput
    ifconfig tap0 down
    killproc $ServName -HUP
# Remove the control socket
    rm -f /tmp/vde.*
    RETVAL=$?
    sleep 0.2
    modprobe -r tun
    modprobe -r kqemu
    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 $?

 operativo, 
Sistema operativo? Non si parlava di Win98?
Ciao
  G

zivotinjica ha scritto:

Sì, ma da come reagisci, sembra tu abbia capito Millennium.
Windows: CE, ME, NT.


 640x480 della vga classica.
Sarà che è un po' che dovrebbe essere uscito di scena (ufficialmente)?
Enrico

 Windows: CE, ME, NT.
"Hard as a rock, dumb as a brick"
ilSimo
-- 
now playing: 
All of the damned will be wearing the crown
It's hard to believe as your world's turns around
No, you won't understand why
They served you so well
It's hard to believe,
Why the hopeless are marching through hell
                                Gammaray - All Of The Damned

 #  line

-- 


 risultati. Comunque mi sa che riprovo wine.
Scusa una domanda, ma il programma per il GE Fanuc che gira sotto XP, non ti
piace usarlo?
Te lo domando, in quanto, usando questi una connessione di rete, con
virtualbox, non avresti problemi. Ti installi un XP minimale, ti carichi il CD
col soft Fanuc, imposti la scheda di rete e dovresti essere a posto.
Per prassi giapponese, tutti i sistemi Fanuc sono compatibili retroattivamente,
per cui un soft per XP, _DEVE_ essere compatibile con sistemi precedenti sia
col 98 che col dos!
Per curiositï¿œ, con quali altri PLC devi lavorare?
For my real address use the X-SPAM header
-- 
94% dei calcolatori hanno lime corrotte, inutilizzate e possibilmente nocive.
   * Prestazioni del PC di spinta
   * Aumenti la stabilita' del sistema
   * Eviti .exe errori.
+-----#13--------------------Campagna contro le pubblicita` idiote.---------+

 Sì, ma da come reagisci, sembra tu abbia capito Millennium.
No, lo avevo rimosso ;)
Ciao
  G

 Grazie per lo script, provo anche quello.
]zac[
Sono due script.
Il primo gestisce l'avvio di varie macchine virtuali usando qemu-kvm
lanciato da vde switch (opzione -v), nota che l'uso di qemu senza vde non è
aggiornato, quindi potrebbe non avviarsi (non è difficile correggerlo).
Il secondo andrebbe inserito in /etc/init.d per avviare vde-switch all'avvio
del sistema, in sintesi aggancia uno switch virtuale controllabile via
socket con una interfaccia tun/tap, le macchine virtuali si agganciano alla
switch virtuale o all'interfaccia tun/tap, in questo modo si ha a
disposizione una rete virtuale completamente trasparente senza dover
mettere in modalità promiscua la scheda di rete usata dal sistema per
connettersi alla rete locale reale.

 Per curiositá, con quali altri PLC devi lavorare?
Il 90% dei PLC sono Siemens S5/S7. Ho qualche GE per il quale ho il software 
LM90 che non sono riuscito a far andare con dosbox, il problema e' la 
comunicazione seriale.
Xp non va bene per i software obsoleti.
Grazie, Nicola.


 sistema per connettersi alla rete locale reale.
Uhm, devo studiare la cosa. Tanto piu' che adesso usando virt-manager non 
riesco ad uscire in rete con XP (con w98 non ho potuto nemmeno provare).
Grazie, Nicola,


 Xp non va bene per i software obsoleti.
Nell'azienda in cui lavoro usiamo normalmente CNC siemens 810d e 840d, CNC
fanuc 210 i tb, CNC fagor 8055, num 1040 e num 1050, e li programmiamo tutti
usando XP.
Il pacchetto siemens per 810d e 840d, lo uso anche per piccoli software che
usano come plc l's7.
Per il siemens S5, esiste un pacchetto aggiuntivo per l's7, che gira anch'esso
su XP (ce l'ho installato, ma non ho mai avuto occasione di usarlo, l'ultimo
plc con l's5 l'ho sviluppato circa una decina di anni fa ed avevo il w98).
A parte l'810d e l'840d, che segue un mio collega, gli altri CNC e PLC
relativi, li seguo io, ed uso appunto un pc con XP.
Col w98, sviluppo software (o meglio sviluppavo, ora ci faccio solo assistenza
ed eventuali modifiche richieste dai clienti) con il CNC marposs e9034, num
750 e num 760 (non esistono aggiornamenti per cose cosï¿œ obsolete), ma ci
faccio assistenza, usando un giochetto batch (che ho sviluppato io) in
finestra dos di XP.
Per comunicazione seriale, abbiamo un banalissimo convertitore USB-RS232, e
funziona...
Ho sentito dire che in rete si trovi il pacchetto s7 completo con cura (io
comunque ho tutte le licenze pagate dal titolare...).
La virtualizzazione del w98, interesserebbe anche a me, ma per altri motivi: Ho
alcuni vecchissimi programmini che avevo installato tanti anni fa, quando lo
avevo sul mio pc, e mi piacerebbe poterli usare ancora, specialmente se
riuscissi a copiare la partizione che ho (e che, togliendo 2 giga di ram,
funziona ancora) in una macchina virtuale ed usarla.
Attualmente, uso dosbox per giochini dos e virtualbox della sun per alcune
cosette con xp.
For my real address use the X-SPAM header
-- 
+---------------------------------------------------------------------------+
| La paranza e' la danza di una stronza che, sull'isola di Ponza, si tirava |
| la patonza.                                                               |
+-----#21--------------------Campagna contro le pubblicita` idiote.---------+

 riesco ad uscire in rete con XP (con w98 non ho potuto nemmeno provare).
]zac[
Ti consiglio il sito 
http://www.qemu.org/
 , dove ci sono vari how-to su qemu
e sui vari tipi di networking che qemu supporta (nota che gli unici due che
consento un full networking è il bridge (soluzione usata da virtual-box) o
usare vde-switch).
Noterai che attualmente l'unico modo per sfruttare le
funzionalità ''avanzate'' di qemu è usarlo da linea di comando.
P.S. kvm/qemu-kvm è una derivazione di qemu per usare l'emulazione hardware
kvm e non quella utilizzata da kvm, in pù il pacchetto kvm spesso installa
un bios emulato più recente.

 (perche' sono newbie di virtualizzazione), qemu e kvm.
Con VMware Server non dovresti avere grossi problemi.
-- 
Bye
Gianfranco Bartolini
(gianfranco punto bartolini at tiscali punto it)

 Con VMware Server non dovresti avere grossi problemi.
Con il precedente notebook usavo VMware Player. Con quello nuovo che ha la 
virtualizzazione hardware volevo provare delle soluzioni piu' "open source".


 installa un bios emulato più recente.
Ok, allora vanno sempre in coppia kvm e qemu.
Grazie, Nicola.


 virtualizzazione hardware volevo provare delle soluzioni piu' "open source".
Ora si che mi e' tutto piu' chiaro. ;-)


 Ok, allora vanno sempre in coppia kvm e qemu.
]zac[
Sno, c'è qemu + kqemu (emulazione hardware) e poi c'è kvm che è una
derivazione di qemu, cioè qemu-kvm + kvm (emulazione hardware).
E visto che sono molto simili la documentazione su qemu è '''la
documentazione''' anche di kvm (o meglio qemu-kvm), anche ci sono dei punti
su cui divergono.
P.S. Non so se ti interessa, ma tieni conto che con qemu o kvm è difficile o
impossibile accedere dal guest alle periferiche harware dell'host, come
seriali, parallele, usb, ecc. .

 seriali, parallele, usb, ecc. .
Ops, e dunque? Per avere una seriale (mi serve, o almeno la usb) devo 
tornare a vmware ???


 tornare a vmware ???
]zac[
Non so risponderti, non le ho mai usate con qemu, l'unica è scaricarsi
l'ultima versione di qemu e/o kvm, leggere la documentazione di qemu e
provare.
L'unica cosa che posso dirti è che il supporto alle seriali sembra stabile,
mentra quello per l'usb sembra ancora sperimentale (il che vuol dire che
probabilmente ci potranno essere dei problemi).
In sintesi se hai voglia e tempo prova, altrimenti lascia perdere kvm e
qemu.

Giuseppe Della Bianca wrote:

Ok, grazie della dritta. Onestamente pensavo che questi progetti fossero 
ampiamente collaudati :(


 tornare a vmware ???
Con Xen in virtualizzazione, posso portare al guest le seriali e le usb.
In paravirtualizzazione solo le usb.
-- 
ValeRyo
CBR600F "Cerbero" - In vendita - 
http://www.slimmit.com/go.asp?7X0
GamerTag: 
http://card.mygamercard.net/IT/nxe/ValeRyo76.png
 

 seriali, parallele, usb, ecc. .
Dal man di KVM:
-usb
           Enable the USB driver (will be the default soon)
-serial dev
           Redirect the virtual serial port to host character device dev. The
           default device is "vc" in graphical mode and "stdio" in non graphical
           mode.
-parallel dev
           Redirect the virtual parallel port to host device dev (same devices as
           the serial port). On Linux hosts, /dev/parportN can be used to use
           hardware devices connected on the corresponding host
           parallel port.
Dalla serie: l'uso di GUI Frontend e nessun RTFM e` il modo sbagliato
per conoscere il funzionamento di qualcosa
Enrico

 ampiamente collaudati :(
Nessun progetto e` ampiamente collaudato. Sicuramente c'e` sempre
qualche problema oppure qualche imperfezione, in quanto si tratta sempre
di progetti in costante sviluppo e miglioramento. Inoltre, consideriamo
anche il fatto che KVM, rispetto a Vmware e Xen, e` piu` giovane e fino
ad ora era stato portato avanti solo dallo spirito di collaborazione che
c'e` in ogni progetto FLOSS. Solo da poco c'e` stata la spinta di Red
Hat per lo sviluppo del progetto, spinta dovuta all'acquisizione di
Qumranet di un anno fa
Enrico

Enrico 'Henryx' Bianchi wrote:

Beh, mi sono espresso male. Forse la parola esatta sarebbe stata "maturi". 
Tuttavia come hai gia' detto il supporto usb dovrebbe essere OK, solo che 
devo imparare a farlo andare, anche su winxp.


 Tuttavia come hai gia' detto il supporto usb dovrebbe essere OK, solo che
]zac[
Il supporto usb di qemu/qemu-kvm? fino a poco tempo fa e da molti mesi, è
indicato nella documentazione come experimental, e avvisa che può provocare
pesanti rallentamenti.
Il fatto che ci siano le opzioni per attivare un qualcosa non vuol dire
obbligatoriamente che la cosa sia ok, matura, usabile, funzionante, ecc. .
Senza contare che c'è una certa differenza tra limitarsi a verificare
l'esistenza delle opzioni e il aver provato ad usarle cercando di far
funzionare la cosa.
Se poi si vuole anche sfruttare le periferiche hot-swap (usb o meno), con
qemu/qem-kvm diventa obbligario imparare ad usare la sua console, cosa non
totalmente amichevole.

Giuseppe Della Bianca wrote:

Ah, ecco non sapevo nemmeno che avesse una console.
