[syslinux] nopassany parameter causing trouble
Bernd Blaauw
bblaauw at home.nl
Sun Dec 18 15:40:35 PST 2011
I'm running into an issue which I didn't expect to encounter.
When specifying the "nopassany" parameter to hide physical drives, I'm
getting different output from ELTORITO.SYS (v1.5, syslinux distro) such
that it fails.
My intent is a LiveCD functionality with a DOS RAMDISK program taking
over as drive C:, meaning either no FAT partitions on harddisks and
removable disks (as the DOS kernel enumerates them) or using the
NOPASSANY parameter for MEMDISK.
Different output:
* ISO9660 found: drive E0 with address 0800h (omitting nopassany)
* Nothing found: drive 70 with address 0000h (nopassany specified)
My expectation was that only floppydrives and USB/harddisk units would
be hidden. (for that matter I'd prefer booting from USB FAT32 yet hide
USB drive but not harddisk, but can't have it all).
Original Boot order:
BIOS -> CD -> Isolinux 4.04 -> Memdisk 4.04 -> FLOPPY.IMG
Alternative with ISO in RAM:
BIOS -> CD -> Isolinux -> Memdisk -> ISO -> isolinux -> memdisk ->
floppy.img
The issue seems to be a bug in ELTORITO.SYS itself, as MDISKCHK lists
the drive properly as E0. Below captured from redirecting to COM1 in QEMU:
Drive 00 is MEMDISK 4.04:
Address = 0x094ce000, len = 720 sectors, chs = 40/2/9,
loader = 0x33 (ISOLINUX),
cmdline = nopassany initrd=/isolinux/fdboot.img
BOOT_IMAGE=/isolinux/memdisk
Drive E0 is MEMDISK 4.04:
Address = 0x09549000, len = 7461 sectors, chs = 65535/255/15,
loader = 0x33 (ISOLINUX),
cmdline = iso initrd=/isolinux/fdbootcd.iso
BOOT_IMAGE=/isolinux/memdisk
Drive 00 is MEMDISK 4.04:
Address = 0x094ce000, len = 720 sectors, chs = 40/2/9,
loader = 0x33 (ISOLINUX),
cmdline = nopassany initrd=/isolinux/fdboot.img
BOOT_IMAGE=/isolinux/memdisk
More information about the Syslinux
mailing list