Crear una MV DOS en VirtualBox
Muchas veces es necesario trabajar con maquinas en modo real, el DOS es un sistema operativo que trabaja en modo real.
Usamos el FreeDOS el cual lo podemos descargar de aqui.
Una vez descargado el archivo fd11src.iso iniciamos VirtualBox
- Elegimos la pestana del procesador y reducimos la "Execution Cap" de 100 % a 40 %.
- Cambiamos el adaptador de red de "NAT" a "Bridged Adapter".
Luego procedemos como como cualquier otro sistema operativo, seleccionamos instalar a "harddisk"
- Y el CD de instalación de FreeDOS bootea la nueva maquina virtual.
- Elegimos crear el disco C "Create Drive C:" desde el menu de booteo.
- Esto inicia la instalacion de Free FDISK. Permitimos a Free FDISK soporte de FAT32 respondiendo "Y"".
- Creamos una particion DOS eligiendo "1".
- Como la primera partición, y también debe ser la partición primaria. Elegimos "1".
- Si es la unica particion contestamos y queremos usar todo el espacio del disco respondemos: "Y".
- Free FDISK muestra el resultado
- Reboot.
Para intercambiar archivos entre FreeDOS y el Host habilitamos la red y un servidor FTP en el FreeDOS.
Habilitar la red
Por default VirtualBox use el adaptador de red AMD's PCnet Fast III (Am79C973) . Este es un driver de paquetes libre que también usa FreeDOS. Para activarlo:
- Tipee "
auto
" para abrir el editor y editar AUTOEXEC.BAT
- Remover "
REM
" en la linea mostrada en la figura, de tal forma que queda.
LH PCNTPK INT=0x60
- Para habilitar el DHCP cliente remover "REM" de la siguiente linea y queda
DHCP
- Reboote y deberá cargar una dirección IP
- Para verificar la dirección IP vea el archivo C:\fdos\mtcp.cfg
Configurar el FTP server
Para intercambiar archivos entre el host y el FreeDOS guest, se debe iniciar el servidor FTP en DOS. FreeDOS incluye el programa TCP ftpsrv de Michael B. Brutman. Para usarlo debemos configurarlo.
FreeDOS 1.1 guarda la configuración de mTCP en el archivo MTCP.CFG debemos realizar los siguientes comandos:
copy C:\FDOS\DOC\MTCP\SAMPLE.CFG C:\FDOS\MTCP.CFG edit C:\fdos\mtcp.cfg
- Activamos y seteamos las siguientes opciones:
MTU 1472
ftpsrv_password_file c:\fdos\ftppass.txt ftpsrv_log_file c:\fdos\ftpsrv.log FTPSRV_FILEBUFFER_SIZE 16 FTPSRV_TCPBUFFER_SIZE 16 FTPSRV_PACKETS_PER_POLL 2
- Ahora creamos y editamos el archivo de password para el FTP server:
edit C:\fdos\ftppass.txt
- IUsamos user como usuario y password como password para acceder a todos los archivos, el archivo ftppassword.txt quedaria asi:
user password [none] [any] all
Iniciamos el FTP server
- Iniciamos el FTP server con el siguiente comando:
ftpsrv
- Nos conectamos desde una consola Linux con el usuario y password especificados en el archivo C:\FDOS\ftppass.txt.
Ejecutamos un programa
En el Host linux editamos el siguiente programa para imprimir "Hello world"; Guardarlo como dos.asm, assemble con nasm -f bin -o dos.com dos.asm ORG 100h Start: JMP Main strOfs DB 'hello, world' strLen EQU $-strOfs Main: MOV SI,strOfs ; offset address de la cadena MOV CX,strLen ; longitud de la cadena MOV AX, 0B800h ; segment address del buffer de video MOV ES, AX ; se almacena en extra segment register MOV DI, 160 ; posicion en la pantalla CLD ; nextChar: LODSB ; carga AL de DS:[SI], e incrementa SI STOSB ; almacena AL en ES:[DI], incrementa DI INC DI ; salta sobre el byte de atributo LOOP nextChar ; repite hasta CX=0 MOV AH,00h ; BIOS function GET KEYSTROKE INT 16h ; Presione una tecla para continuar RET ; Sale del programa
Lo asemblamos con: nasm -f bin -o dos.com dos.asm y luego lo transferimos a la maquina virtual DOS.
En la maquina virtual DOS lo ejecutamos
Y imprime "Hello World"
No hay comentarios:
Publicar un comentario