[syslinux] [gPXE] Chain Grub4Dos over HTTP?
Shao Miller
Shao.Miller at yrdsb.edu.on.ca
Mon Dec 7 11:31:13 PST 2009
Cross-posting to the Syslinux mailing-list.
Joakim Schicht wrote:
> But part of the question is also about "memdisk raw" vs "memdisk iso".
"raw" and "iso" are not mutually exclusive. I think that perhaps you
meant "HDD versus El Torito emulation." One can do:
LABEL ramwin
KERNEL memdisk
APPEND raw iso
INITRD ramwin.iso
> Lets say you have a ramboot windows (winvblock, firadisk, ms ramdisk,
> wimboot, disklessangel, etc) and you will boot this over HTTP. What
> would be the ideal way, utilizing resources most, to do this, of the 2
> mentioned methods?
Again, assuming you are asking about an HDD image versus an .ISO image,
the ISO9660 filesystem is read-only by design, so don't expect to save
anything on it, regardless of whether it's a RAM disk or a real CD/DVD.
For that reason, I prefer HDD images. Some OSs have "live CD" versions
which expect to boot from such a filesystem; Some flavours of Windows PE
would be examples of this. I know of several Linux distros which offer
"live CD" .ISOs. For these, you'll want to use "iso" with MEMDISK.
Whether you use "raw" or not might be a matter of experiment with your
particular hardware platform, if you experience difficulties.
> If I have understood it correct the usage of "memdisk iso" on such a
> setup will result in a lost/wasted ram equivalent to the size of the
> iso (not being able to use it until next reboot)..
Correct. If the bulk of the .ISO image is an embedded RAM disk image
(such as a squashfs or .WIM file) and that image is _again_ loaded into
RAM by some process, you would need roughly twice the RAM, which is
redundant.
> Now would it not be more wise in terms of resource utilization, to
> boot with "memdisk raw" and winvblock (because then all ram is
> utilized)? Or is it possible to recover the ram used by "memdisk iso"?
Assuming you meant "memdisk HDD emulation" rather than "memdisk raw",
you need an OS driver to find and provide the MEMDISK to the OS.
WinVBlock is an example of this. Currently, WinVBlock _only_ supports
HDDs, so there's little choice about it. That will change sooner or
later. Why, just last night a patch for MEMDISK was submitted towards
furthering OS driver support for MEMDISK.
Taking Windows out of the picture altogether, MEMDISK works by hooking
[at least] INTerrupt 13h. Any OS using this method for disk I/O will
thus be intercepted by MEMDISK. "Proper OSs" such as Linux, *BSD,
Windows, etc. do not use INT 13h, but use drivers for disk I/O.
gPXE can download the RAM disk image as MEMDISK's "initrd" via HTTP. At
this time, WinVBlock is the only "proper" OS driver which can find an
use the same RAM disk image in RAM, and it can only perform HDD emulation.
- Shao Miller
More information about the Syslinux
mailing list