[syslinux] Memdisk doesn't work without floppy drive
Anssi Kolehmainen
anssi at aketzu.net
Fri Oct 27 07:09:13 PDT 2006
Hi,
I stumbled on a rather odd problem. A brand new HP Compaq dx2200 computer
didn't want to boot up pxelinux+memdisk image. The computer just gave "Disk I/O
error" and stopped there. Workaround was rather simple... Just attach regular
floppy drive to the motherboard and everything started working fine.
I tried with older 2.05 (pxelinux+memdisk) and newer 3.31. Both produced same
non-working results when floppy drive was not connected. Changing bios settings
(floppy controller enabled/disabled, floppy 1.44/none) didn't help (actually
with floppy controller disabled boot failed even with drive connected). Booting
works just fine with any other computer (so image & environment is OK). Boot
disk is made with Windows 98 boot files.
Does anybody have any ideas how to make booting work (without using extra
floppy drive)? Hard drive images might work, but boot images must be easily
modifiable from Windows XP and last time I checked there was no "loop-device"
for Windows.
Log of non-working case:
Intel UNDI, PXE-2.1 (build 082)
Copyright (C) 1997-2000 Intel Corporation
For Realtek RTL8139(X)/8130/810X PCI Fast Ethernet Controller v2.17 (051202)
[normal booting messages...]
Loading pxegiga_av.img
Ready.
MEMDISK 3.31 2006-09-25 Copyright 2001-2005 H. Peter Anvin
e820: 0000000000000000 000000000009f800 1
e820: 00000000000f0000 0000000000010000 2
e820: 00000000fec00000 0000000001400000 2
e820: 00000000e0000000 0000000010000000 2
e820: 000000001bef3000 000000000000d000 3
e820: 000000001bef0000 0000000000003000 4
e820: 000000000009f800 0000000000000800 2
e820: 0000000000100000 000000001bdf0000 1
Ramdisk at 0x1bd68000, length 0x00168000
command line: initrd=pxegiga_av.img BOOT_IMAGE=memdisk
Disk is floppy 0, 1440 K, C/H/S = 80/2/18
Total size needed = 1946 bytes, allocating 2K
Old dos memory at 0x9ec00 (map says 0x9f800), loading at 0x9e400
1588: 0xffff 15E801: 0x3c00 0x1ad6
INT 13 08: Success, count = 1, BPT = f000:99a9
old: int13 = f0007f80 int15 = f000f859
new: int13 = 9e400008 int15 = 9e400290
Loading boot sector... booting...
Disk I/O error
Replace the disk, and then press any key
Now later at home I realized that I could have taken logs with floppy attached
to see if there were any differences but I didn't remember to do that.
--
Anssi Kolehmainen
More information about the Syslinux
mailing list