Booting MDT 2013 LiteTouch with FOG
-
Method #2
This second method involves taking the LiteTouchPE_x86.wim and LiteTouchPE_x64.wim created in the MDT environment and combining them with elements of the WAIK to create a directly bootable MDT litetouch image that can be launch via FOG’s ipxe menu.
- On your MDT server select your Deployment Share->Update Deployment Share. This will update your litetouch boot image files with the latest settings from your MDT configuration. When the update process completes change to the DeploymentShare\boot folder. There are 2 files we will use for this method of integration. These files are LiteTouchPE_x86.On your MDT server select your Deployment Share->Update Deployment Share. This will update your litetouch boot image files with the latest settings from your MDT configuration. When the update process completes change to the DeploymentShare\boot folder. There are 2 files we will use for this method of integration. These files are LiteTouchPE_x86.wim and LiteTouchPE_x64.wim.
- Download the Windows Automated Installation Kit (WAIK) for Windows 7 from the following link: http://www.microsoft.com/en-us/download/details.aspx?id=5753
- Install WAIK on a development system (workstation). You will only need WAIK installed long enough to extract the boot images.
- Once WAIK is installed Follow this path Start menu->All Programs->Microsoft Windows AIK->Deployment Tools->Command Prompt. Selecting this menu should open a cmd shell. This next step we will create both the 32-bit and the 64-bit versions of the WinPE boot environments. In the command shell key in the following:
mkdir %temp%\fog\mdtboot
copype x86 %temp%\fog\mdtboot\x86
copype amd64 %temp%\fog\mdtboot\x64 - Download wimboot from this link: http://git.ipxe.org/releases/wimboot/wimboot-latest.zip
- Extract the wimboot file from the zip file and save the (wimboot) file only in the follow folder: %temp%\winpe\fog
- Copy LiteTouchPE_x86.wim and LiteTouchPE_x64.wim from the MDT deployment share to the %temp%\fog\mdtboot folder
- Using 7-zip or similar tool create a zip file of %temp%\fog*.* as mdtfog.zip
- Move the mdtfog.zip file to the FOG web server’s base directory (either /var/www/html or /var/www depending on the linux distrobution).
- On the FOG server navigate to the FOG web server’s base directory as indicated in step 7
- Use the linux unzip program to extract the mdtfog.zip archive to the web server’s base directory using this command: unzip mdtfog.zip (warning if unzip is not installed for your linux distrobution you will need to install it using the following command [rhel based] yum install unzip -y [deb based] sudo apt-get install unzip )
- From the FOG management GUI select the following Fog Configuration->iPXE New Menu Entry
- Fill in the following details:
Menu Item: winpe.BootMDT
Description: Boot MDT LiteTouch
Parameters:
cpuid --ext 29 && set arch x64 || set arch x86
kernel http://${fog-ip}/wimboot
initrd http://${fog-ip}/mdtboot/${arch}/ISO/boot/bcd BCD
initrd http://${fog-ip}/mdtboot/${arch}/ISO/boot/boot.sdi boot.sdi
initrd -n boot.wim http://${fog-ip}/mdtboot/LiteTouchPE_${arch}.wim boot.wim
boot
Menu show with: All Hosts - Your configuration should now be set to boot MDT via the wim images from within the FOG PXE menu.
-
#wiki tagging this.
-
@george1421 Bumping this thread, wanting to get it added to the wiki.
-
This tutorial is written for 1.30 fog version
how to add the same PXE parameters in 1.2.0 fog ? -
-
@lebrun78 To do the same type of thing in 1.2.0, you need to use the “Advanced Menu” option and enter the fields necessary there. 1.3.0 does not exist…yet, It is trunk. I only state that so people don’t think 1.3.0 has indeed released when in fact it has not.
I don’t know if wimboot or mdtboot exist in the document root of the next-server field either.
-
@george1421 Thank you for this tutorial - it worked great but I did discover that these steps are not compatible if booting into FOG using UEFI, it only works if using Legacy. When I tried at first using UEFI, it would load to the boot menu and once I picked my WinPE entry iPXE would fail with this error “Could not boot: Exec format error (http://ipxe.org/2e008081)”. Then i tried using Legacy mode to boot into Fog and launched my iso and it worked like a charm. I know this is not a fog issue but iPXE but figured I would post this in case someone else come across this issue.
@Wayne-Workman I think this would be a good note to add when these steps are added to wiki.
-
@kinger37 Thank you for reporting this.
To be honest it was only written and tested with bios (legacy) mode in mind. I’m going to suspect this is a uefi/memdisk issue. UEFI is a different critter so I suspect there might have some issues. Also I’d have to circle back to see if the MDT image supports uefi booting. Either way I should update the article to only indicate that legacy mode is required.
-
Hello
How could I had a password access to this new item in boot menu ?
-
Looking at the httpd log, all files are loaded but I get a blinking cursor on my testing vm.
I suppose it’s a problem with bcd, may be the path is incorrect ?192.168.122.10 - - [01/Dec/2016:11:54:34 +0100] "POST /fog/service/ipxe/boot.php HTTP/1.1" 200 1493 "-" "iPXE/1.0.0+ (3a02)" 192.168.122.10 - - [01/Dec/2016:11:54:34 +0100] "GET /fog/service/ipxe/bg.png HTTP/1.1" 200 44908 "-" "iPXE/1.0.0+ (3a02)" 192.168.122.10 - - [01/Dec/2016:11:54:38 +0100] "GET /fog/service/ipxe/advanced.php HTTP/1.1" 200 437 "-" "iPXE/1.0.0+ (3a02)" 192.168.122.10 - - [01/Dec/2016:11:54:38 +0100] "GET /wimboot HTTP/1.1" 301 316 "-" "iPXE/1.0.0+ (3a02)" 192.168.122.10 - - [01/Dec/2016:11:54:38 +0100] "GET /wimboot/ HTTP/1.1" 200 1298 "-" "iPXE/1.0.0+ (3a02)" 192.168.122.10 - - [01/Dec/2016:11:54:38 +0100] "GET /mdtboot/x64/media/Boot/BCD HTTP/1.1" 200 262144 "-" "iPXE/1.0.0+ (3a02)" 192.168.122.10 - - [01/Dec/2016:11:54:38 +0100] "GET /mdtboot/x64/media/Boot/boot.sdi HTTP/1.1" 200 3170304 "-" "iPXE/1.0.0+ (3a02)" 192.168.122.10 - - [01/Dec/2016:11:54:38 +0100] "GET /mdtboot/LiteTouchPE_x64.wim HTTP/1.1" 200 298875280 "-" "iPXE/1.0.0+ (3a02)"
-
@lebrun78 Well what I see I’m not sure of. There is one of two that are wrong.
I see this line
GET /mdtboot/x64/media/Boot/BCD
and this line
GET /mdtboot/LiteTouchPE_x64.wim
but the config file says this:
initrd http://${next-server}/mdtboot/${arch}/ISO/boot/bcd BCD
and
initrd -n boot.wim http://${next-server}/mdtboot/LiteTouchPE_${arch}.wim boot.wim
While I’m just guessing, I might expect the BCD line to be wrong. On the web server its getting
/mdtboot/x64/media/Boot/BCD
but the real file name isbcd
not BCD. The other thing you have bcd in a different path than the instructions as CaSE iS important for linux. Make sure you have the directory structure setup as I have it outlined in Method 2 -
I had ti change the case of bcd because it is like this, in uppercase that was generate by copype.
So I change that in the ipxe menu config.cpuid --ext 29 && set arch x64 || set arch x86 kernel http://${next-server}/wimboot initrd http://${next-server}/mdtboot/${arch}/media/Boot/BCD BCD initrd http://${next-server}/mdtboot/${arch}/media/Boot/boot.sdi boot.sdi initrd -n boot.wim http://${next-server}/mdtboot/LiteTouchPE_${arch}.wim boot.wim boot Menu show with: All Hosts``` Should I change the case of the bcd file ?
-
@lebrun78 well this one has me a bit perplexed.
I want you to post the output of the following commands.
ls -la /var/www/html
and
ls -la /var/www/html/mdtboot
and
ls -la /var/www/html/mdtboot/x64/media/Boot
-
Here are the results :
ls -la /var/www/html total 36 drwxr-xr-x 6 root root 4096 1 déc. 10:42 . drwxr-xr-x 6 root root 4096 19 nov. 00:49 .. drwxr-xr-x 11 apache apache 4096 23 nov. 12:15 fog drwxr-xr-x 12 apache apache 4096 8 oct. 2012 fog.prev -rw-r--r-- 1 root root 68 8 oct. 2012 index.html -rw-r--r-- 1 root root 45 18 mai 2015 #index.php# -rw-r--r-- 1 root root 45 8 oct. 2012 index.php drwxr-xr-x 4 root root 4096 1 déc. 11:54 mdtboot drwxr-xr-x 3 root root 4096 1 déc. 10:16 wimboot
ls -la /var/www/html/mdtboot total 516716 drwxr-xr-x 4 root root 4096 1 déc. 11:54 . drwxr-xr-x 6 root root 4096 1 déc. 10:42 .. -rw-r--r-- 1 root root 298875280 3 nov. 17:13 LiteTouchPE_x64.wim -rw-r--r-- 1 root root 230219137 3 nov. 17:09 LiteTouchPE_x86.wim drwxr-xr-x 5 root root 4096 1 déc. 11:53 x64 drwxr-xr-x 5 root root 4096 1 déc. 11:54 x86
ls -la /var/www/html/mdtboot/x64/media/Boot total 4300 drwxr-xr-x 40 root root 4096 29 nov. 17:13 . drwxr-xr-x 41 root root 4096 29 nov. 17:13 .. -rw-r--r-- 1 root root 262144 25 mai 2016 BCD drwxr-xr-x 2 root root 4096 29 nov. 17:13 bg-bg -rw-r--r-- 1 root root 1024 25 mai 2016 bootfix.bin -rw-r--r-- 1 root root 3170304 25 mai 2016 boot.sdi drwxr-xr-x 2 root root 4096 29 nov. 17:13 cs-cz drwxr-xr-x 2 root root 4096 29 nov. 17:13 da-dk drwxr-xr-x 2 root root 4096 29 nov. 17:13 de-de drwxr-xr-x 2 root root 4096 29 nov. 17:13 el-gr drwxr-xr-x 2 root root 4096 29 nov. 17:13 en-gb drwxr-xr-x 2 root root 4096 29 nov. 17:13 en-us drwxr-xr-x 2 root root 4096 29 nov. 17:13 es-es drwxr-xr-x 2 root root 4096 29 nov. 17:13 es-mx drwxr-xr-x 2 root root 4096 29 nov. 17:13 et-ee drwxr-xr-x 2 root root 4096 29 nov. 17:13 fi-fi drwxr-xr-x 2 root root 4096 29 nov. 17:13 Fonts drwxr-xr-x 2 root root 4096 29 nov. 17:13 fr-ca drwxr-xr-x 2 root root 4096 29 nov. 17:13 fr-fr drwxr-xr-x 2 root root 4096 29 nov. 17:13 hr-hr drwxr-xr-x 2 root root 4096 29 nov. 17:13 hu-hu drwxr-xr-x 2 root root 4096 29 nov. 17:13 it-it drwxr-xr-x 2 root root 4096 29 nov. 17:13 ja-jp drwxr-xr-x 2 root root 4096 29 nov. 17:13 ko-kr drwxr-xr-x 2 root root 4096 29 nov. 17:13 lt-lt drwxr-xr-x 2 root root 4096 29 nov. 17:13 lv-lv -rw-r--r-- 1 root root 799072 15 juil. 19:06 memtest.exe drwxr-xr-x 2 root root 4096 29 nov. 17:13 nb-no drwxr-xr-x 2 root root 4096 29 nov. 17:13 nl-nl drwxr-xr-x 2 root root 4096 29 nov. 17:13 pl-pl drwxr-xr-x 2 root root 4096 29 nov. 17:13 pt-br drwxr-xr-x 2 root root 4096 29 nov. 17:13 pt-pt drwxr-xr-x 2 root root 4096 29 nov. 17:13 Resources drwxr-xr-x 2 root root 4096 29 nov. 17:13 ro-ro drwxr-xr-x 2 root root 4096 29 nov. 17:13 ru-ru drwxr-xr-x 2 root root 4096 29 nov. 17:13 sk-sk drwxr-xr-x 2 root root 4096 29 nov. 17:13 sl-si drwxr-xr-x 2 root root 4096 29 nov. 17:13 sr-latn-rs drwxr-xr-x 2 root root 4096 29 nov. 17:13 sv-se drwxr-xr-x 2 root root 4096 29 nov. 17:13 tr-tr drwxr-xr-x 2 root root 4096 29 nov. 17:13 uk-ua drwxr-xr-x 2 root root 4096 29 nov. 17:13 zh-cn drwxr-xr-x 2 root root 4096 29 nov. 17:13 zh-hk drwxr-xr-x 2 root root 4096 29 nov. 17:13 zh-tw
-
@lebrun78 The thing that jumps out to me is that wimboot is file not a directory. The wimboot file is the kernel that merges all of these files together.
-
@george1421 that was my error.
I copy wimboot file from its directory to /var/www/html and it works.Thanks a lot
-
Hello
How could I had a password to limit access to this wim boot item in boot menu ?
-
This post is deleted! -
Hi,
on my systems these methods works with only Legacy BIOS.
Could you indicate how starts the same wimpe systems with pc that have only BIOS Uefi ?Note: for windows 10 o.s. installed on PC’s with UEFI BIOS the Bios show the option “Windows BootManager option” for start from first HD
Regards
-
@zingaro TBH I have never tried in uefi mode.
As for your note: if these are dell computers, when in uefi mode you need to enable the uefi network stack (on the network page) in the firmware. I assume other OS will have similar options. On the boot options, it will only show valid uefi boot sources so you do need to enable the uefi network stack for that option to show up.
Your MDT boot image should contain the uefi boot kernel. In my case we use VMWare and boot our target computers directly from the mdt iso in uefi mode. They boot without an issue, but again I’m not sending the iso image across the network with pxe.
I can confirm uefi booting via pxe works with these instructions tomorrow since I’m out of the office today for training.
-