Jump to content

Is anyone else using the SDI ramdisk method for PE 2005?


Albuquerque

Recommended Posts

I keep seeing more and more posts about retrofitting ramdisk functionality into PE , both Bart and Microsoft OPK builds. And I see these questions about getting a writeable ramdisk jammed in there too, along side the read-only PE ramdisk that you're forced to endure using the "normal" methods.

Why aren't more people using the SDI method? Maybe you just don't know about it?

Instead of loading an ISO of your PE image into ram, load an SDI image of PE into ram. This gives you the ability to have a writeable ramdisk as your X: drive with the rest of your PE system. The SDI file also supports NTFS compression on all files contained, so my 189mb PE image squishes down into a 140mb SDI file -- with 8mb of free space still available! And it boots just that much faster too...

SDI is a file storage method used by Windows XP Embedded. You can download the XP Embedded toolkit freely from Microsoft, and since you're not going to use any of the actual OS components, then you don't have to worry about the license issues. The SDI tools are in the Windows Embedded AIK under the Utilities folder. All the rest of the details can be found HERE which is where I started.

I'd love to hear some feedback from folks who are using this, or aren't using this and are thinking of making the switch, or folks who just hate it and wouldn't touch it with a 10-foot pole.

Link to comment
Share on other sites


The reason for us not to use it is the legal part.

We couldn't get a clear answer if we could use sdi without the complete embedded kit so we used a ordinary ramdrive instead.

Now it's running until we go into vista

Link to comment
Share on other sites

This seems like a very useful idea potentially, I am toying with this myself - only instead of using from a CD I want to PXE boot it. I get file not found errors when I run in Virtual Machine and havent found a way around it yet. (havent built the backend to PXE it yet)

Any ideas or tips?

Link to comment
Share on other sites

This seems like a very useful idea potentially, I am toying with this myself - only instead of using from a CD I want to PXE boot it. I get file not found errors when I run in Virtual Machine and havent found a way around it yet. (havent built the backend to PXE it yet)

Any ideas or tips?

The only thing I can think of would be to make sure you're using the proper WINNT.SIF boot entry to load your SDI file with. It should read exactly this:

[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\i386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdimageoffset=36352 /rdpath=\I386\<yourfile.sdi>"
Architecture = "i386"

Notice the need for an I386 subfolder, and make sure NTDETECT and SETUPLDR.BIN are both in that I386 folder too.

Link to comment
Share on other sites

Ok, I must be missing some detail here. I am getting an error saying

Windows could not start due to an error while booting from a RAMDISK

Windows failed to open the RAMDISK image.

File WINPE2005.SDI could not be loaded.

The error code is 16

Setup cannot continue. Press any key to exit.

I would guess this means that for some reason it doesn't recognize the SDI file and thus can't read it. I'm using the ntdetect.com and setupldr.bin from the win2k3 disc.

my directory structure is

WINNT.SIF

\i386

\i386\ntdetect.com

\i386\setupldr.bin

\i386\WINPE2005.SDI

and my SIF file is exactly as Albuquerque posted, with WINPE2005.SDI as the SDI file.

Any ideas?

-John

Edited by JSmith
Link to comment
Share on other sites

What version of the PE ODK are you using, and what base OS are you building this with?

Example: I'm using the PE 1.6 ODK (July 2005) with a base OS of Server 2003 R2.

Oh, and try renaming WINPE2005.SDI to something that fits an 8.3 naming standard -- such as PE2005.SDI

Edited by Albuquerque
Link to comment
Share on other sites

Base OS is XPSP2 as thats what my version of PE was complaining for. I'm not entirely sure what version it is, but the files are all timestamped 8/4/04 12PM. I'm sure I can get a hold of a newer version if necessary, and Server 2003 if needed. Think thats the problem?

I'll give the 8.3 naming a shot here, can't hurt.

Link to comment
Share on other sites

I believe you need the ramdisk.dll file from a Server 2003 install; moving to a Server 2003 SP1 base OS would probably solve that problem and also give you several other cool upgraded options as well. Thing such as the Microsoft Scalable Network pack and other neat things :)

The SDI file should be in the same ISO file that the rest of your completed PE files and folder structure are in. I'm not sure it can work any other way...

Link to comment
Share on other sites

I believe you need the ramdisk.dll file from a Server 2003 install

To be more exact, you need both SETUPLDR.BIN and RAMDISK.SY_ (expanded to RAMDISK.SYS) from Server 2003 but:

Server 2003 - NO WORKIE

Server 2003 SP1 - OK

Server 2003 SP2 - OK

jaclaz

Link to comment
Share on other sites

Also a note -- when you build your SDI disk, leave plenty of extra room. Any empty space on your SDI image later becomes writeable room on your X:\ ramdisk. And if you're using compression (as you should) then anything written to that writeable space will also be compressed, effectively giving you even more space to use.

This has helped me do so many things on my CD; one such example was "patching in" fixes from a network script. When I forgot to add a few pieces to make ADO work, I just updated the System32 folder and re-registered the DLL's on the fly.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...