[syslinux] booting FreeDOS ISO image using syslinux hangs

Martin T m4rtntns at gmail.com
Sun Jul 1 07:22:13 PDT 2012

I would like to boot FreeDOS ISO image from USB memory stick using
syslinux. I have done following:

1) I created a partition to my 2GB memory stick:

root at debian64:~# fdisk -lu /dev/sdb

Disk /dev/sdb: 2013 MB, 2013265920 bytes
62 heads, 62 sectors/track, 1022 cylinders, total 3932160 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf672aa0a

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *          62     3928567     1964253    6  FAT16
root at debian64:~#

2) Downloaded latest syslinux:

root at debian64:~# /home/martin/syslinux-4.05/linux/syslinux -v
/home/martin/syslinux-4.05/linux/syslinux 4.05  Copyright 1994-2011 H.
Peter Anvin et al
root at debian64:~#

3) Installed boot code to MBR:

root at debian64:~# dd if=/home/martin/syslinux-4.05/mbr/mbr.bin
of=/dev/sdb bs=1 count=440 conv=notrunc
440+0 records in
440+0 records out
440 bytes (440 B) copied, 0,00719145 s, 61,2 kB/s
root at debian64:~#

4) created FAT16 file system to /dev/sdb1:

root at debian64:~# mkdosfs -v -F 16 /dev/sdb1
mkdosfs 3.0.9 (31 Jan 2010)
/dev/sdb1 has 62 heads and 62 sectors per track,
logical sector size is 512,
using 0xf8 media descriptor, with 3928506 sectors;
file system has 2 16-bit FATs and 64 sectors per cluster.
FAT size is 256 sectors, and provides 61372 clusters.
There are 64 reserved sectors.
Root directory contains 1024 slots and uses 64 sectors.
Volume ID is 37f2a26f, no volume label.
root at debian64:~#

5) installed syslinux to /dev/sdb1:

root at debian64:~# /home/martin/syslinux-4.05/linux/syslinux -i /dev/sdb1
root at debian64:~#

6) mounted /dev/sdb1 to /media/usb and copied iso
image(http://www.freedos.org/download/download/fd11src.iso), memdisk
image and created syslinux.cfg:

root at debian64:~# cp freedos.iso
/home/martin/syslinux-4.05/memdisk/memdisk /media/usb
root at debian64:~# printf 'LABEL FreeDOS\nLINUX memdisk\nINITRD
freedos.iso\nAPPEND iso\n' > /media/usb/syslinux.cfg
root at debian64:~# cat /media/usb/syslinux.cfg
LINUX memdisk
INITRD freedos.iso
root at debian64:~# ls -l /media/usb/
total 80960
-rwxr-xr-x 1 root root 82804736 juuli  1 20:10 freedos.iso
-rwxr-xr-x 1 root root    32256 juuli  1 20:06 ldlinux.sys
-rwxr-xr-x 1 root root    26140 juuli  1 20:10 memdisk
-rwxr-xr-x 1 root root       58 juuli  1 20:11 syslinux.cfg
root at debian64:~#

7) unmounted /dev/sdb1

root at debian64:~# umount /media/usb
root at debian64:~#

Now if I boot my machine from USB memory stick, then for some reason
syslinux.cfg file is not handled properly and I need to manually
specify boot command:


However, the main problem is that booting hangs during the memdisk boot:


Even Ctrl+Alt+Delete key combination does not reset the machine and I
need to use the reset button on the motherboard.

Am I doing something wrong? Or any ideas why memdisk loading hangs? If
any additional information is needed, then feel free to ask!


More information about the Syslinux mailing list