Underc0de

Sistemas Operativos => GNU/Linux => Mensaje iniciado por: DtxdF en Noviembre 01, 2020, 05:05:50 AM

Título: Instalación de FreeDOS en QEMU + Alternativas
Publicado por: DtxdF en Noviembre 01, 2020, 05:05:50 AM
FreeDOS es un sistema operativo completo, gratuito, de código abierto y compatible con DOS que se puede utilizar para jugar juegos DOS clásicos, ejecutar software empresarial heredado o desarrollar sistemas integrados. Cualquier programa que funcione en MS-DOS también debería ejecutarse en FreeDOS.

(https://consejerodigital.com/wp-content/uploads/2019/07/FreeDOS-logo.jpg)

FreeDOS es mucho más que una aplicación para revivir algunas aplicaciones y juegos clásicos, además de ser muy útil en entornos donde haya sistemas heredados pero obsoletos, los cuales mayormente son usados en el sistema operativo MSDOS. FreeDOS además de ser compatible con las míticas aplicaciones de aquella época, hacen que cualquier aficionado veterano o curioso por aprender, le dé 5 estrellas a este proyecto que se ha mantenido por decadas.

Descarga:

En nuestro caso elegiremos la versión estándar (http://www.freedos.org/download/download/FD12CD.iso) que puede ser encontrada aquí (http://www.freedos.org/download/).

Código (bash) [Seleccionar]
wget -c -vv http://www.freedos.org/download/download/FD12CD.iso

Instalación:

Se usará QEMU sin un frontend gráfico, y será usado en FreeBSD, aunque el resultado no será diferente a otros sistemas. Si se desea usar un frontend gráfico en debian se puede leer este artículo (https://underc0de.org/foro/gnulinux/qemu-una-alternativa-a-virtualbox-y-vmware-con-una-interfaz-intuitiva/). En el caso de Arch Linux, es recomendable este artículo (https://wiki.archlinux.org/index.php/QEMU_(Espa%C3%B1ol)#Con_libvirt) de la misma wiki.

También se tiene la libertad de elegir otros virtualizadores compatibles...


Antes de empezar, es necesario crear una imagen usando qemu-img(1) (https://www.freebsd.org/cgi/man.cgi?qemu-img):


Código (bash) [Seleccionar]
qemu-img create freedos.img 200M

El formato por defecto es crudo (raw, en inglés) que permite ser simple y fácilmente exportable a otros emuladores. También asignamos 200 Megabytes de espacio (suficiente para la mayoría de cosas, incluso puede ser una exageración).

Ahora ejecutamos FreeDOS:


Código (bash) [Seleccionar]
qemu-system-i386 -smp cores=$(nproc) -m 32 -drive file=freedos.img,media=disk,format=raw -drive file=FD12CD.iso,media=cdrom -boot order=d

Nota: Para los usuarios de FreeBSD, deben crear un alias para nproc, mientras que en Gnu/Linux ya existe el comando como tal. Como por ejemplo:

Código (bash) [Seleccionar]
alias nproc="sysctl -n hw.ncpu"

Explicación breve:

qemu-system-i386: Usaremos QEMU para emular un sistema con el juego de instrucciones del i386 (https://es.wikipedia.org/wiki/Intel_80386)
-smp cores=$(nproc): Configura algunas opciones para el invitado, como el número de núcleos a utilizar
-m 32: Le asignamos 32 megabytes de memoria (aunque 16 también funcionaría, me gusta exagerar :D)
-drive file=freedos.img,media=disk,format=raw: file=... define la imagen del disco virtual (https://en.wikipedia.org/wiki/Disk_image); media=... define el tipo de medio (disk o cdrom); format=... define el formato del disco virtual, que en nuestro caso es en crudo (raw, en inglés).
-boot order=d: El orden de las unidades. a y b para el disquete 1 y 2; c para el primer disco duro; d para el primero cdrom

Nota: Es recomendable leer el manual de qemu (https://www.freebsd.org/cgi/man.cgi?query=qemu&sektion=1&apropos=0)


Ahora, una vez comprendemos cada parámetro y opción ajustada, lo ejecutaremos para pasar a instalarlo:


(https://imgur.com/oJWX8j7.png)

Ya hemos configurado correctamente nuestra máquina virtual, ahora seleccionamos la primera opción (Install to harddisk)

(https://imgur.com/VZEm11K.png)

Ahora seleccionamos nuestro idioma de preferencia.

(https://imgur.com/VZEm11K.png)

Presionamos: Sí - Continúe con la instalación

(https://imgur.com/BEdoQlT.png)

Presionamos: Sí - Crear tabla de particiones en la unidad C:

(https://imgur.com/37cIRJ9.png)

CitarFree FDISK es capaz de usar soporte de disco grande para permitirle crear particiones mayores a 2.048 MB usando particiones FAT32. Si habilita la compatibilidad con discos grandes, cualquier partición o unidad lógica de más de 512 MB se creará utilizando FAT32.

IMPORTANTE: si habilita la compatibilidad con discos grandes, algunos sistemas operativos podrán acceder a las particiones y unidades lógicas que tengan más de 512 MB de tamaño.

Si estás de acuerdo, presiona Y, que en nuestro caso será así.

(https://imgur.com/0CzDTpw.png)

Nos aparecerán varias opciones interesantes, pero la más relevante para este tutorial será la primera: Crear partición DOS o unidad lógica DOS (Create DOS partition or logical DOS drive, en inglés). Presionamos enter.

(https://imgur.com/IVvtwDz.png)

Ahora presionamos la primera opción, ya que nos interesa crear una partición primaria (https://es.wikipedia.org/wiki/Partici%C3%B3n_de_disco) con el fin de instalar un sistema operativo en ella (FreeDOS, en nuestro caso).

(https://imgur.com/VgKiP2v.png)

Ahora nos pregunta si queremos usar el tamaño máximo de la partición disponible, que en nuestro caso será: Y

(https://imgur.com/m480uFr.png)

Finalizado la creación de la partición, terminemos el proceso saliendo con ESC.

(https://imgur.com/0CzDTpw.png)

Nos devolverá a este menú nuevamente, pero lo ignoraremos y presionaremos otra vez ESC

(https://imgur.com/kUBfC2e.png)

Ahora presionamos otra vez ESC para salir y que los cambios hagan efecto.

(https://imgur.com/Tv2Lf8Z.png)

Reiniciamos presionando: Sí - Por favor, reiniciar ahora

(https://imgur.com/oJWX8j7.png)

Nos aparecerá el mismo menú del principio, y debemos presionar nuevamente la primera opción.

(https://imgur.com/VZEm11K.png)

Otra vez seleccionamos el idioma de preferencia.

(https://imgur.com/KrfrnyN.png)

Presionamos: Sí - Continúe con la instalación

(https://imgur.com/2b0aJQS.png)

Le damos formato a la unidad presionando: Sí - Por favor, borrar y dar formato a la unidad C:.

(https://imgur.com/2v4FA3z.png)

(https://imgur.com/2v4FA3z.png)

(https://imgur.com/JhkAX49.png)

(https://imgur.com/xzo8f3W.png)

Seleccionamos la distribución del teclado de nuestra preferencia, que en nuestro caso será: Español.

(https://imgur.com/M6ytVZh.png)

En esta parte se tiene la libertad de elegir cuántos paquetes instalar y si incluir con ellos, el código fuente. Solo paquetes básicos es una opción perfecta si solo queremos el software que está en MSDOS, pero Todos los paquetes es si queremos los paquetes básicos y el software que ha creado la comunidad FreeDOS con el tiempo. En nuestro caso la opción que está en la imagen es perfecta.

(https://imgur.com/cTaVZyZ.png)

Presionamos: Sí - Por favor, instale FreeDOS 1.2.

(https://imgur.com/ZDIdIqu.png)

(https://imgur.com/iDNXb7J.png)

(https://imgur.com/6ncuqOo.png)

(https://imgur.com/OwRwD9X.png)

Una vez finalizada la instalación, reiniciamos.

(https://imgur.com/UhsTmtj.png)

Ahora iniciamos el sistema.

(https://imgur.com/9D3Xe25.png)

Ya tenemos FreeDOS instalado en QEMU :D

Alternativas:

Dosbox:

DOSBox (https://es.wikipedia.org/wiki/DOSBox) es un emulador que recrea un entorno similar al sistema DOS con el objetivo de poder ejecutar programas y videojuegos originalmente escritos para el sistema operativo MS-DOS.

Existe dosbox-staging el cual es mantenido por los fanáticos de este emulador y tiene mejoras sutiles (https://www.linuxadictos.com/despues-de-10-anos-dosbox-se-actualizo-y-llega-a-su-nueva-version-dosbox-0-75.html) respecto a Dosbox. La instrucciones pueden variar dependiendo de la distribución, así que lo dejaré en manos de los mismo autores: Instalación de dosbox-staging en Gnu/Linux (https://dosbox-staging.github.io/downloads/linux/).

FreeBSD ya tiene incluido el paquete:


Código (bash) [Seleccionar]
doas pkg install dosbox-staging

Con dosbox podemos hacer exactamente lo mismo que FreeDOS, pero no tendremos a disposición todo el software en comparación.

(https://imgur.com/oNFfBT3.png)
Jugando Ace of the Pacific

Antes de continuar, es recomendable ajustar un pequeño valor en el archivo de configuración de dosbox/dosbox-staging.

Código (bash) [Seleccionar]
vim ~/.config/dosbox/dosbox-staging.conf

Cambiamos 'keyboardlayout' de 'auto' a 'es' para que tengamos preconfigurado la distribución del teclado.

Una vez iniciado dosbox:


(https://imgur.com/FbYeRRR.png)

Montamos un directorio que deseamos, como Games

(https://imgur.com/h16Iqa3.png)

Otro pequeño consejo es que para aumentar el rendimiento de los programas en dosbox, debemos aumentar la velocidad del CPU. Con CTRL + F11 lo disminuimos y con CTRL + F12 lo aumentamos. Es recomendable aumentarlo hasta donde sea coherente.

MSDOS:

Sí, hasta él se puede usar nuevamente pero hay que recordar que ya no está mantenido, aunque FreeDOS es caso contrario, pero en caso de que eso no importe, se puede descargar el código fuente mismo desde el repositorio (https://github.com/microsoft/ms-dos) o desde Computer History Museum (https://computerhistory.org/blogs/microsoft-research-license-agreement-msdos-v1-1-v2-0/).

Juegos clásicos:

Podemos conseguir juegos clásicos en las siguientes páginas:


Lectura recomendada:


~ DtxdF
Título: Re:Instalación de FreeDOS en QEMU + Alternativas
Publicado por: ??????? en Noviembre 01, 2020, 02:44:56 PM
Interesante y excelente tutorial compañero  ;D ;D. Que nostalgia al ver esos juegos clásicos :')

Saludos!
-Kirari
Título: Re:Instalación de FreeDOS en QEMU + Alternativas
Publicado por: DtxdF en Noviembre 01, 2020, 03:06:00 PM
Tú lo has dicho, sin duda es una excelente opción para revivirlos :D

~ DtxdF
Título: Re:Instalación de FreeDOS en QEMU + Alternativas
Publicado por: Nomad en Noviembre 03, 2020, 01:45:32 PM
DtxdF, buenisimo post, sin duda obligatorio para todos los nostálgicos de los viejos programas, en mi caso me resulta muy útil tu post por el hecho de que en mi empresa tenemos software basado en ms-dos que debe revisarse con fines contables.
Título: Re:Instalación de FreeDOS en QEMU + Alternativas
Publicado por: DtxdF en Noviembre 03, 2020, 03:33:34 PM
Gracias @Nomad (https://underc0de.org/foro/index.php?action=profile;u=58496) por leerlo, es un gusto como siempre.

Sí, una vez entré a un hospital y pude observar con mis propios ojos que usaban MSDOS. FreeDOS es de las mejores alternativas para estos programas heredados.

PD: Ya estoy preparando una especie de segunda parte ^-^

~ DtxdF