viernes, 8 de mayo de 2015

Crear una MV DOS en VirtualBox

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
Ftpsrv.png
  • 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"

Bibliografia


http://www.codeproject.com/Articles/45788/The-Real-Protected-Long-mode-assembly-tutorial-for

No hay comentarios:

Publicar un comentario