On 09/09/2010 09:23 AM, Sam Liddicott wrote:> Is there a mix of SYSLINUX and ISOLINUX that can boot an ISO image
> from a FAT file system? Sort of like MEMDISK but doesn't need to load
> the entire great-big ISO into RAM or install an int-13 driver?
>
> SYSLINUX would need to be installed on the FAT file system but it would
> want to chain-load ISOLINUX as installed on the ISO. ISOLINUX would load
> it's blocks from the ISO file in the FAT file system on the FAT devices
> instead of from a CD device.
>
> As well as passing that knowledge to ISOLINUX it would be good if it
> could also pass some APPEND text used by ISOLINUX
>
> Maybe the syslinux config would be:
>
> KERNEL ubuntu-10.10.iso
> APPEND cd_loopback=ubuntu-10.10.iso
>
> syslinux notes that the kernel is an ISO file and so loads ISOLINUX from
> the ISO file. ISOLINUX adds: cd_loopback=ubuntu-10.10.iso to all APPEND
> strings
>
> Thus, with a little bit of init-rd support to look for cd_loopback and
> find the ISO file; any newer linux ISO could be booted merely by
> dropping it onto a prepared memory stick.
>
> or...
> perhaps a MEMDISK option that didn't need to load the entire ISO
because
> int 13 is only needed until the legacy ISOLINUX exec's the kernel it
> just loaded (via a hooked int 13)
>
There has been talk of such a "mapdisk" system extension, but it is
*way* different than anything else currently in Syslinux because it
would require either the filesystem code to stay resident or (more
likely) a huge extent map to be produced, stored in memory and then used
to filter the INT 13h requests.
It really isn't a bad idea, but it's nontrivial.
-hpa