C:\> RetroPC

appunti e note di un estimatore della riga di comando

Creare una virtual machine Freedos.

Esistono ancora situazioni nelle quali e' necessario lanciare vecchi programmi dos. Meglio ancora, alcune volte sarebbe necessario avere a disposizione un intero sistema dos. Ma non si ha a disposizione un vecchio pc adatto allo scopo. Come fare?

La soluzione piu' elegante (e stimolante) e' la virtualizzazione. In altri termini: far girare un sistema dos come macchina virtuale. Possiamo ottenere cio' che vogliamo utilizzando strumenti gratuiti? La risposta e' si'.
Prima di descrivere come fare, mi preme sottolineare come la miglior soluzione da me testata consista nell'utilizzo di un software non gratuito, VmWare Workstation. Si tratta di un ottimo prodotto, scaricabile in versione di prova.

A fini didattici utilizzeremo pero' solamente strumenti free, e precisamente:

Primo passo: scarico i software

Si seguano i link indicati sopra e si scarichi e si installi VmWare Player. E' richiesta una registrazione, ma il programa, validissimo, e' gratuito.

Per QEmu, se si lavora su piattaforma windows, consiglio di scaricare e dezippare direttamente questo file.

La scelta migliore per FreeDos e' di scaricare e masterizzare su cd l'immagine iso completa piu' recente, fdfullcd.iso. (Un'immagine iso puo' essere masterizzata, ad esempio, con Deepburner).

Secondo passo: creo un disco virtuale

Decompatto qemu e mi servo del comando qemu-img.exe in questa maniera:

qemu-img.exe create -f vmdk dos.vmdk 100M Formating 'dos.vmdk', fmt=vmdk, size=102400 kB

In questa maniera creo un disco virtuale da 100Mb, piu' che sufficiente per un sistema dos.
Ora creo un file dos.vmx:

config.version = "8"
virtualHW.version = "4"
ide0:0.present = "TRUE"
ide0:0.filename = "dos.vmdk"
memsize = "64"
MemAllowAutoScaleDown = "FALSE"
ide1:0.present = "TRUE"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
ide1:0.autodetect = "TRUE"
floppy0.present = "FALSE"
ethernet0.present = "TRUE"
usb.present = "TRUE"
sound.present = "TRUE"
sound.virtualDev = "es1371"
displayName = "dos"
guestOS = "dos"
nvram = "dos.nvram"
MemTrimRate = "-1"

ide0:0.redo = ""
ethernet0.addressType = "generated"
uuid.location = "56 4d f2 c7 6e 02 fa 6e-57 32 ef 96 3c 4b 6b e5"
uuid.bios = "56 4d f2 c7 6e 02 fa 6e-57 32 ef 96 3c 4b 6b e5"
ethernet0.generatedAddress = "00:0c:29:4b:6b:e5"
ethernet0.generatedAddressOffset = "0"

tools.syncTime = "TRUE"
ide1:0.startConnected = "TRUE"

uuid.action = "create"

checkpoint.vmState = "dos.vmss"

Ho scelto una dimensione di memoria di 64Mb settando il valore:
memsize = "64"

Terzo passo: installo freedos

Faccio un doppio click sul file appena creato, avendo cura di inserire il cd di freedos nel lettore. Parte l'installazione del sistema operativo (qualora non funzionasse, si verifichi nel bios della macchina emulata che sia attivato l'avvio da cdrom). Si formatta il disco c virtuale appena creato e si installa il sistema. Buon FreeDos a tutti!

E per chi volesse sapere di più del kernel freedos:

FreeDOS Kernel: An MS-DOS Emulator for Platform Independence & Embedded System Development



2004-2012 Paolo Gironi - P.Iva 03137610246