====== Differences ====== This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
winpe_memdisk [2009/05/14 14:13] prestonb |
winpe_memdisk [2009/05/14 15:12] (current) prestonb |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ======Overview====== | ||
+ | This method of booting WinPE uses Memdisk to boot a hard disk image containing a WinPE WIM file and the support files necessary to load and boot the WIM. This is done in order to bypass the traditional (read: Microsoft) way of network booting WinPE over TFTP, and all the inherent problems with using TFTP, specifically, scaling to any significant number of clients on cheap hardware. | ||
+ | |||
======Requirements====== | ======Requirements====== | ||
You will need the following: | You will need the following: | ||
Line 63: | Line 66: | ||
======Customizing WinPE.wim====== | ======Customizing WinPE.wim====== | ||
Once you have winpe.dd which is just a 200MB Hard Disk Image, you can use Linux, fdisk, losetup, and ntfs-3g to exchange the WinPE.wim file inside winpe.dd with a customized WinPE.wim to suit your needs. This section will be filled out at a later date. | Once you have winpe.dd which is just a 200MB Hard Disk Image, you can use Linux, fdisk, losetup, and ntfs-3g to exchange the WinPE.wim file inside winpe.dd with a customized WinPE.wim to suit your needs. This section will be filled out at a later date. | ||
+ | |||
+ | ======Scaling up with SLAM====== | ||
+ | **All of this is highly experimental and should be used at your own risk.** | ||
+ | |||
+ | Memdisk is small enough that it can probably be served over any protocol without causing a significant bottleneck when serving 30+ clients simultaneously. The 200MB Hard Drive image on the other hand could be problematic. The gPXE source contains a small multicasting server called mini-slamd. Vanilla gPXE builds to not contain support for SLAM by default. To add SLAM support, grab the gPXE source and edit gpxe/src/config/general.h | ||
+ | |||
+ | general.h | ||
+ | @@ -50,7 +50,7 @@ | ||
+ | #undef DOWNLOAD_PROTO_HTTPS /* Secure Hypertext Transfer Protocol */ | ||
+ | #undef DOWNLOAD_PROTO_FTP /* File Transfer Protocol */ | ||
+ | #undef DOWNLOAD_PROTO_TFTM /* Multicast Trivial File Transfer Protocol */ | ||
+ | -#undef DOWNLOAD_PROTO_SLAM /* Scalable Local Area Multicast */ | ||
+ | +#define DOWNLOAD_PROTO_SLAM /* Scalable Local Area Multicast */ | ||
+ | #undef DOWNLOAD_PROTO_FSP /* FSP? */ | ||
+ | |||
+ | Make gPXE and confirm that your build has slamd support. This can be done by booting from the compiled gPXE binary and checking the supported protocols line when gPXE boots. | ||
+ | |||
+ | mini-slamd is in gpxe/contrib/mini-slamd. mini-slamd.c contains defines that should be tailored for your specific environment, including server port, multicast ip, maximum clients, TTL, etc. Once configured, compile with the included makefile and run, with the command line argument being the winpe.dd file. Hypothetically, one could network boot a large number of WinPE clients simultaneously using this method. One example of how this might be used would be at a university, to network boot a lab of computers to WinPE and then use ImageX to connect to a multicast reimage session on a Windows Deployment Server. |