[syslinux] nopassany parameter causing trouble

Bernd Blaauw bblaauw at home.nl
Mon Dec 19 12:13:50 PST 2011

Op 19-12-2011 8:05, Shao Miller schreef:
> In syslinux/doc/memdisk.txt, we can see that "nopass" hides drives of
> the same type and "nopassany" allows only the emulated drive to be
> accessible. If MEMDISK provides a RAM-backed HDD as drive 0x80 and
> either of these parameters is used, that will hide any another drive
> numbers, including 0xE0.

all I'm looking for is to not get partitions on harddisk and USB flash 
drive mounted as C: and further. Thus a "nopasshdd" and "nopassusb" 
would be ideal, without hiding CD.
Due to keeping C: available I'm using floppy emulation, which means 
nopassany is my only option to hide harddisks..yet kills CD access 
through eltorito.sys.

> I don't follow. You said a RAM disk that becomes C:. Floppy images will
> not become C:, they will become A:. HDD images will become C:.

A:\RAMDISK.EXE (well, SHSURDRV.EXE actually) becomes C: , especially as 
you can't indicate an automaticly adapting size for "memdisk initrd=hdd.gz".

> MDISKCHK attempts to find MEMDISKs by three different methods:
> - An INT 0x13 probe of every BIOS number
> - A search for so-called mBFT tables in memory
> - Walking the so-called "safe INT 0x13 hook" chain
> You can choose which methods are used with command-line options. By
> default, only the probe of every BIOS number is performed. Since you are
> seeing drive 0x00 twice in your output, you must be using multiple
> methods. What are your command-line options? I would expect that if you
> only choose the default behaviour, it will be consistent with ElTorito.Sys.

0x00 twice is a bug in MDISKCHK, it always is listed twice. I'm only 
using the "-m" option, and for batch purposes combine it with "-b".
Looks like -m doesn't replace the default but rather adds to it thus the 
double listing.

> This seems like another situation that a hypothetical MAPDISK could
> assist with: You'd do something like BIOS -> PXE -> PXELINUX -> MEMDISK
> some ISO with "nopass" to hide any real HDDs and CDs -> ISOLINUX ->
> MAPDISK some HDD image in the ISO9660 filesystem -> DOS with . Syslinux
> doesn't include a MAPDISK at this time, as far as I know.

I wonder if your memdisk.c32 module (at reboot.pro) would work. The 
trouble is I don't know if ELTORITO.SYS can hook into it.
(also recent Syslinux seems to be missing ifmemdsk.c32, only has a .c file)

label Install
memdisk.c32 initrd=mycd.iso iso
memdisk initrd=floppy.img

label Live
memdisk.c32 initrd=mycd.iso iso nopass
memdisk initrd=floppy.img

label TinyInst
memdisk initrd=floppy.img

label TinyLive
memdisk initrd=floppy.img nopassany
# uh oh ELTORITO.SYS won't work!!!
# UIDE is IDE/SATA-only, not USB/MEM

More information about the Syslinux mailing list