systemadmin.es > Distribuciones > Crear USB arrancable con FreeDOS desde Linux

Crear USB arrancable con FreeDOS desde Linux

Algunas herramientas que proveen los fabricantes únicamente se pueden ejecutar desde DOS, por ejemplo, con FreeDOS. Vamos a ver cómo crear un USB bootable con FreeDOS desde Linux:

Primero crearemos la partición FAT32 con parted, suponiendo que el USB corresponde a /dev/sdb, haríamos:

# parted /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel msdos                                                    
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? y                                                                 
(parted) unit %                                                           
(parted) mkpart primary fat32 0 100%
(parted) set 1 boot on                                                    
(parted) q                                                                
Information: You may need to update /etc/fstab.                           

A continuación deberemos bajar la ISO de FreeDOS a nuestra home y la montamos:

mkdir -p /mnt/{freedosbase,freedos}
wget http://www.freedos.org/download/download/fd11src.iso
mount ~/fd11src.iso -o loop /mnt/freedosbase/

Dentro de la ISO de FreeDOS tenemos los ficheros comprimidos, deberemos descomprimirlos y preparar el entorno para syslinux:

cd ~
mkfs.msdos /dev/sdb1 
mount /dev/sdb1 /mnt/freedos
mkdir -p /mnt/freedos/fdos
unzip /mnt/freedosbase/freedos/packages/boot/syslnxx.zip -d  /mnt/freedos/fdos/
cp /mnt/freedos/fdos/bin/syslinux.cfg /mnt/freedos
find /mnt/freedosbase/freedos/packages/base -iname \*zip -exec unzip -o {} -d /mnt/freedos/fdos/ \;
mv /mnt/freedos/fdos/autoexec.txt /mnt/freedos/autoexec.bat
mv /mnt/freedos/fdos/config.txt /mnt/freedos/config.sys

El fichero /mnt/freedos/config.sys define un menú de arranque:

# cat /mnt/freedos/config.sys
!COUNTRY=001,437,C:\FDOS\BIN\COUNTRY.SYS 
!LASTDRIVE=Z
!BUFFERS=20     
!FILES=40
!DOSDATA=UMB
!MENUCOLOR=7,0
MENUDEFAULT=1,5
MENU 1 - Load FreeDOS with JEMMEX, no EMS (most UMBs), max RAM free
MENU 2 - Load FreeDOS with EMM386+EMS and SHARE
MENU 3 - Load FreeDOS including HIMEMX XMS-memory driver
MENU 4 - Load FreeDOS without drivers 
1?DEVICE=C:\FDOS\BIN\JEMMEX.EXE NOEMS X=TEST 
3?DEVICE=C:\FDOS\BIN\HIMEMX.EXE 
2?DEVICE=C:\FDOS\BIN\JEMMEX.EXE X=TEST I=B000-B7FF
12?DOS=HIGH
12?DOS=UMB
1234?SHELLHIGH=C:\FDOS\BIN\COMMAND.COM C:\FDOS\bin /E:1024 /P=C:\AUTOEXEC.BAT
1234?SET DOSDIR=C:\FDOS

Nos aparecería el siguiente menú con la primera opción por defecto:

menu FreeDOS

menu FreeDOS

Como que sería más interesante la opción 4, podemos hacerla por defecto mediante:

MENUDEFAULT=4,5

Por lo tanto, lo modificamos, desmontamos y instalamos syslinux:

sed 's/\(^MENUDEFAULT\).*/\1=4,5/' -i /mnt/freedos/config.sys
umount /mnt/freedos
umount /mnt/freedosbase
syslinux -i /dev/sdb1

Al arrancar desde el USB si no decimos nada nos saltará la 4 y obtendremos el FreeDOS:

Prompt de FreeDOS 1.1

Prompt de FreeDOS 1.1

También podemos crear el USB arrancable de FreeDOS en Windows mediante rufus

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>