Jump to content











Photo
- - - - -

Couple of quick questions about boot order


  • Please log in to reply
10 replies to this topic

#1 Garrett Serack

Garrett Serack

    Newbie

  • Members
  • 15 posts
  •  
    United States

Posted 10 December 2007 - 11:44 PM

Howdy,

I've got a couple of questions, and although this may sound a bit odd, bear with me.

I'm *terribly* interested in network booting--primarily to use it at home, as the kids each have a computer, as does the wife, and I.

I hate the fact I've got serveral PCs all with a fairly large hard drive in them, and each one only uses a small smattering of the space, and the rest goes unused. Rathere than attempting to use that all over the house, I had thought about consolidating the space at the server, and booting remotely. Having done that with Linux many years ago, I'm quite crushed that the only solutions are either WAY TOO EXPENSIVE, or ... well, I didn't find any that weren't too expensive for my tastes (meaning free).

I came here one day and some folks had talked about remote booting, but it's clear there is no solution that ImDisk provides.

I let that stew in my brain, until I had the clever idea of using an Compact Flash to IDE converter, and slap in a 2-4 GB compact flash card into it, and boot *PART* of the OS localally, and connect a drive image across the network, and have a bunch of junctions to as much of the OS that I can put into the remote image.

This would let the PC boot, be almost silent (no hard drives), and have very low power requirements.

The pcs all have 2gb+ ram, so eliminating the swap isn't a problem either.

Looking at the layout of c:\Windows , I'm pretty sure that I can shrink down the stuff that *has* to be local to a pretty small footprint -- at least 2gb or less.

It's going to to be tricky to do the initial install (some Imaging and whatnot... heh-heh) but I'm going to prove it out using Virutal PC first.

So, the real question is:

How early can I get an image mounted in the boot process, as the earlier I can do it, the less that I will *have* to have on the compact flash (and thus, the smaller it can be)--Consider too, that I'd need the network to be available.


And then the second question is:

What's the most efficient way to expose the hard drive images at the server? File shares? that DevIO thingie? (ah there's the Win32 version of the server)

I'm have huge amounts of memory in the server (4gb right now), and could do some serious caching if the server side allowed (provided?) for it.

I've been playing with my gigabit network at home, and I'm confident that I'm being bound disk speeds, not by network speeds. (well, after tweaking the crap out of Vista)

another thing I was curious about:

Anyone know if it's possible or how to do a pivot_root on Windows?

Finally..

How in the world does ImageX (from the Windows IAK) mount a WIM file overtop of an in-use directory, but ImDisk can't?

Knowing that might solve my pivot_root idea/problem.


I'm really quite anxious to try this live before the end of the month, so any help or information means alot to me :cheers:

thanks,

Garrett

#2 Garrett Serack

Garrett Serack

    Newbie

  • Members
  • 15 posts
  •  
    United States

Posted 10 December 2007 - 11:51 PM

(this post deleted by author :cheers: )

#3 Nuno Brito

Nuno Brito

    Platinum Member

  • .script developer
  • 10533 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 11 December 2007 - 01:43 PM

ImDisk can likely be loaded early enough on the boot procedure - but how are you going to do for network support with drivers and such? :cheers:

This sounds an interesting project but very troublesome to achieve success - nevertheless - good luck with your goals.

I hope Olof can elucidate us if it can be done or not.

:cheers:

#4 Garrett Serack

Garrett Serack

    Newbie

  • Members
  • 15 posts
  •  
    United States

Posted 11 December 2007 - 06:28 PM

ImDisk can likely be loaded early enough on the boot procedure - but how are you going to do for network support with drivers and such? :cheers:


As I mentioned, I'll have to boot to at least the point where it's got TCP/IP network support--I suppose that I'll have to make ImDisk take a dependency on that, which should solve that. I guess it'd be nice to coax TCP/IP to be ready as early as possible :cheers:

G

#5 Olof Lagerkvist

Olof Lagerkvist

    Gold Member

  • Developer
  • 1368 posts
  • Location:Borås, Sweden
  •  
    Sweden

Posted 11 December 2007 - 08:02 PM

Quick explanation to the limitations of auto-mounting virtual disks when ImDisk driver loads:
ImDisk as such can be setup to start as early as you like in the boot process, but there are of course some restrictions what could actually be done at different stages of the boot process. If you set the start option to either boot or system, the only kind of virtual disks ImDisk can create when it loads are blank RAM disks. If the start option is set to auto it can create virtual disks backed by RAM or local files. If you also set the dependency so that the ImDisk driver depends on both tcpip and imdsksvc it becomes possible to create network backed virtual disks automatically when ImDisk driver loads.

#6 Garrett Serack

Garrett Serack

    Newbie

  • Members
  • 15 posts
  •  
    United States

Posted 11 December 2007 - 08:38 PM

If you also set the dependency so that the ImDisk driver depends on both tcpip and imdsksvc it becomes possible to create network backed virtual disks automatically when ImDisk driver loads.


Very Cool. I'll start experimenting with that (provided I can work around my devio problem :cheers:)

I'm also wondering how performant DevIO is? I assume it should be faster than using a file share to share the image.

thanks!

Garrett

#7 Olof Lagerkvist

Olof Lagerkvist

    Gold Member

  • Developer
  • 1368 posts
  • Location:Borås, Sweden
  •  
    Sweden

Posted 11 December 2007 - 09:22 PM

Very Cool. I'll start experimenting with that (provided I can work around my devio problem :cheers:)

Good :cheers:

I'm also wondering how performant DevIO is? I assume it should be faster than using a file share to share the image.

I have came to the conclusion that devio is the fastest option, but how much faster pretty much depends on the response delays on the network. For slow network connections with long response delays the technique used by devio is much more efficient. Another thing is of course that devio just requires one tcp connection and nothing else while file share needs a lot more services and network components running.

#8 Garrett Serack

Garrett Serack

    Newbie

  • Members
  • 15 posts
  •  
    United States

Posted 11 December 2007 - 10:52 PM

I have came to the conclusion that devio is the fastest option, but how much faster pretty much depends on the response delays on the network. For slow network connections with long response delays the technique used by devio is much more efficient.


I'm on gigabit ethernet in my house, and it's pretty darn snappy, *after* tweaking Vista a bunch.

Nice to hear... I suspect as well, that I may be able to implement a pretty good caching/buffer algorithm with the DevIO server peice... I'm not sure that Windows does a good job of caching that stuff.

Another thing is of course that devio just requires one tcp connection and nothing else while file share needs a lot more services and network components running.


Well, that's not all that big of deal--the server will be running file services anyway, but good to know. I'm going to have to play around with the DevIO stuff to see what kind of stability I get, and perhaps build it as a service, and servicing multiple instances--if several pcs are using it, it'll have to stand up pretty strong.

G

#9 Olof Lagerkvist

Olof Lagerkvist

    Gold Member

  • Developer
  • 1368 posts
  • Location:Borås, Sweden
  •  
    Sweden

Posted 12 December 2007 - 07:32 AM

I'm on gigabit ethernet in my house, and it's pretty darn snappy, *after* tweaking Vista a bunch.

Nice to hear... I suspect as well, that I may be able to implement a pretty good caching/buffer algorithm with the DevIO server peice... I'm not sure that Windows does a good job of caching that stuff.

That could be a good idea. There is no special cache in devio right now, all caching relies on the default filesystem caching in Windows.

Well, that's not all that big of deal--the server will be running file services anyway, but good to know.

I have not tested mounting images on network shares a lot with automatic loading of the kind you are planning, but there could be a few problems regarding for example permissions to use the network share from the driver. I would think that a domain with computer accounts would be needed in this case.

#10 Garrett Serack

Garrett Serack

    Newbie

  • Members
  • 15 posts
  •  
    United States

Posted 12 December 2007 - 04:53 PM

That could be a good idea. There is no special cache in devio right now, all caching relies on the default filesystem caching in Windows.

That's what I figured... Pity, I'm not really an expert on caching algorithms.... I'll probably end up reinventing the wheel on that one, but I think that for the purpose, it will be pretty damn good, and I should be able to beat out the native OS caching (which I don't beleive is really effective for what I wanna do). I have a pretty good idea too as to how to build an effective read-cache, and a really effective write cache (with, a slim chance of corruption on power failure--a risk I can live with). Given that I'm only putting the OS into the DevIO image (program files and whatnot can all be done via traditional fileshares ) I'm pretty confident on my likelyhood of success.

I have not tested mounting images on network shares a lot with automatic loading of the kind you are planning, but there could be a few problems regarding for example permissions to use the network share from the driver. I would think that a domain with computer accounts would be needed in this case.


I'd be less worried about that (nullsession shares work great :cheers:) than the overly agressive firewall in Vista--having TCP/IP around isn't a guarantee that you can use it. The Firewall kicks in early in the boot process to prevent bad apps from doing communication too early... and I'm not too sure if it's a wide blocking blanket , or if it's actually processing the firewall rules that early. *sigh* Guess I'll find out. :cheers:

I haven't looked--how tolerant of lost connections (ie, reconnecting when neccesary) is ImDisk?

G

#11 Garrett Serack

Garrett Serack

    Newbie

  • Members
  • 15 posts
  •  
    United States

Posted 16 December 2007 - 09:42 PM

Update:

Well, it would seem that it's not all that easy to get stuff up as soon as I'd like.

I've done some early testing, trying to mount a remote image using fileshares... the damn lanmanworkstation service doesn't start up until *really* late in the boot process. (in my autologin Vista, it's actually on the desktop before it's ready!)

I'm going to have to swtich to using the devio way--provided I can figure out why it bluescreens my vpc.

Even with the devio method, I'm going to have to wait until TCP/IP is started (which is the NDIS group)... which is still somewhat later than I had hoped...

Well, not *later*, just there is a lot of crap that's earlier than I would have thought necessary.

a snippet from the boot order:
...

Boot File System

Base

Pointer Port

Keyboard Port

Pointer Class

Keyboard Class

Video Init		  // Odd that this is done that early!

Video			   // Odd that this is done that early!

Video Save		  // Odd that this is done that early!

File System

					// obviously, needs to follow File System!

Streams Drivers

NDIS Wrapper

COM Infrastructure

Event Log

AudioGroup

ProfSvc_Group

UIGroup

MS_WindowsLocalValidation

PlugPlay

PNP_TDI

NDIS

					 // Earliest I could *possibly* do...

TDI

iSCSI

NetBIOSGroup

ShellSvcGroup

SchedulerGroup

SpoolerGroup

SmartCardGroup

NetworkProvider	  // lanmanworkstation is here! *sigh*

MS_WindowsRemoteValidation

NetDDEGroup

Parallel arbitrator

Extended Base

PCI Configuration

MS Transactions

I'm actually quite surprised how late networkdir ing is started. I suppose that's normally not so much of a problem, if you don't normally need network access that early.

I may have to take a different tact with this... hmm.

G




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users