Booting MDT 2013 LiteTouch with FOG


  • Moderator

    Method #1

    The first method involves creating the boot CDROM image in MDT, moving that image to a directory on the FOG server and then creating a customer PXE boot menu in FOG. I’m not going to cover any of the MDT image creation process in this post. At this point of you need to integrate FOG and MDT you should already know how to setup and use MDT.

    1. 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.iso and LiteTouchPE_x64.iso.
    2. We need to prepare the FOG server by creating a location to save these ISO image so they are accessible by the FOG web server. Depending on the version of linux you are using we will need to create a directory in /var/www/html (or if the /var/www/html directory does not exist then we will use /var/www). This path is to the FOG web server’s root or base directory. We will create a folder called isoimg (ISO Images) for this method. Use the following command md /var/www/html/isoimg or md /var/www/isoimg depending on your linux distribution.
    3. Move the ISO files we identified in step 1 to /var/www/html/isoimg or /var/www/isoimg depending on your linux distribution (for the rest of this post I’ll use /var/www/html as the web server’s root directory)
    4. Change to the web servers root directory with cd /var/www/html
    5. Change the owner of the isoimg to user fog and group fog with this command chown -R fog.fog isoimg
    6. Ensure that both iso images are in the isoimg folder and are owned by the fog user.
    7. From the FOG management GUI select the following Fog Configuration->iPXE New Menu Entry
    8. Fill in the following details:
      Menu Item: mdtlti.x86
      Description: MDT LiteTouch x86 Boot
      Parameters:
      initrd http://${boot_url}/isoimg/LiteTouchPE_x86.iso
      chain memdisk iso raw
      Menu show with: All Hosts
    9. From the FOG management GUI select the following Fog Configuration->iPXE New Menu Entry
    10. Fill in the following details:
      Menu Item: mdtlti.x64
      Description: MDT LiteTouch x64 Boot
      Parameters:
      initrd http://${boot_url}/isoimg/LiteTouchPE_x64.iso
      chain memdisk iso raw
      Menu show with: All Hosts
    11. Your configuration should now be set to boot the MDT ISO images from within the FOG PXE menu.

    Be aware with this method you will get the MDT CDROM prompt To Boot press any key (as you would if you booted via a real cdrom)



  • @george1421 that was my error.
    I copy wimboot file from its directory to /var/www/html and it works.

    Thanks a lot


  • Moderator

    @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.



  • 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
    
    

  • Moderator

    @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



  • 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 ?

  • Moderator

    @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 is bcd 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



  • 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)"
    
    


  • Hello

    How could I had a password access to this new item in boot menu ?


  • Moderator

    @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.



  • @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.


  • Senior Developer

    @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.



  • I don’t have entry with kernel http://${next-server}/wimboot
    How shoult I get this ? Should it be mdtboot and not wimboot ?
    and not initrd http://${next-server}/mdtboot/${arch}/ISO/boot/bcd BCD but * initrd http://${next-server}/mdtboot/${arch}/media/boot/bcd BCD*



  • This tutorial is written for 1.30 fog version
    how to add the same PXE parameters in 1.2.0 fog ?


  • Moderator

    @george1421 Bumping this thread, wanting to get it added to the wiki.


  • Moderator

    #wiki tagging this.


  • Moderator

    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.

    1. 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.
    2. 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
    3. Install WAIK on a development system (workstation). You will only need WAIK installed long enough to extract the boot images.
    4. 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
    5. Download wimboot from this link: http://git.ipxe.org/releases/wimboot/wimboot-latest.zip
    6. Extract the wimboot file from the zip file and save the (wimboot) file only in the follow folder: %temp%\winpe\fog
    7. Copy LiteTouchPE_x86.wim and LiteTouchPE_x64.wim from the MDT deployment share to the %temp%\fog\mdtboot folder
    8. Using 7-zip or similar tool create a zip file of %temp%\fog*.* as mdtfog.zip
    9. 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).
    10. On the FOG server navigate to the FOG web server’s base directory as indicated in step 7
    11. 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 )
    12. From the FOG management GUI select the following Fog Configuration->iPXE New Menu Entry
    13. 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://${next-server}/wimboot
      initrd http://${next-server}/mdtboot/${arch}/ISO/boot/bcd BCD
      initrd http://${next-server}/mdtboot/${arch}/ISO/boot/boot.sdi boot.sdi
      initrd -n boot.wim http://${next-server}/mdtboot/LiteTouchPE_${arch}.wim boot.wim
      boot
      Menu show with: All Hosts
    14. Your configuration should now be set to boot MDT via the wim images from within the FOG PXE menu.

  • Moderator

    (reserved space)


  • Moderator

    (reserved space)


  • Moderator

    (reserved space)


  • Moderator

    Method #2

    (Will fill in details in a bit)


Log in to reply
 

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.