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:
- VmWare Player (free)
- QEmu (open source)
- Free Dos (open source)
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:
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