Thanks this looks promising. I'm looking forward to a release.
Do you like another request?
OFS combines FAT(32), NTFS and CDFS. A RAM loaded FAT(32) image at CD.
Boot PE normal from CD and ISO RAM loading, with one file section.
RAM loading read a ISO image from CD.
Obvious but worth to remember: A CD image contains a CD image.
Or the other way round: A CD represents a image.
Or if we like to load a image, we can RAM load hole CD.
Normal PE boot and RAM load boot use the same filesystem.
Default CD boot: use files at CD\I386
RAM load: load hole CD
Standard ECMA-119 is also approved as ISO 9660.http://www.ecma-inte...ds/Ecma-119.htm
Section 9 describe File and Directory Descriptors
Prepare a PE.ISO. This goes to CD.
Add a multiboot environment. This can be grub4dos, bcdw, isolinux, and more.
RAM load part:
BootDevice = "ramdisk(0)"
BootPath = "\i386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=LOOP.ISO"
\I386\SETUPLD2.BIN: renamed 2003 SP1 setupldr.bin
gsar -o "-s:winnt.sif" "-r:x46:winn2.sif" setupld2.bin
rem ignore checksum: geitonaki http://www.msfn.org/board/index.php?showtopic=58410
gsar -o "-s:x46:xda:x74:x03" "-r:x46:xda:xEB:x1A" setupld2.bin
Add a dummy file: LOOP.ISO. Use a zero size file (part of command): mkisofs -graft-points /LOOP.ISO=nul
A zero size file gets a known LBA. That way a known LOOP.ISO file descriptor is added to PE.ISO.
A recent mkisofs version is expected http://cdrecord.berl...e/cdrecord.htmlhttp://www.student.t...t/thomas.plank/
Next patch file PE.ISO: adjust LOOP.ISO file descriptor.
Map LOOP.ISO Location of Extent to zero. And Data Length to PE.ISO file size.
Now LOOP.ISO file descriptor match the hole CD.
Gsar is used to patch PE.ISO.
That's a working, but quick and dirty solution.
Maybe another member like to create nicer a solution. Walk through File and Directory Descriptors, find appropiate LOOP.ISO File Descriptor and patch this entry.