Help with SCCM and FOG integration
-
Any SCCM wizards out there using FOG and SCCM WDS together? Could use some help with something. I have FOG as the primary pxe boot server, and on the FOG ipxe menu, SCCM Boot is one of the options. The boot image wim file that gets downloaded is the same exact wim that is deployed to distribution points and is assigned to a task sequence that I am running. The issue is that once I run the task sequence it starts to download the wim from the DP and then asks to remove CD and restart. I’ve read that the package ID and version have to match between your boot media wim and the boot image wim assigned to the TS. In my case they do and are the same exact file. The ONLY difference, is that I had to modify the wim to be able to boot from a non-WDS pxe server, as per these instructions.
https://ipxe.org/howto/sccm -
Found the solution. I had to Create Task Sequence Media, Bootable ISO. Then took the files from the ISO put them in a folder. Followed the instructions https://ipxe.org/howto/sccm. It seems that when I did this, the boot image actually matches the one associated to the task sequence. I don’t see another way to make this work.
-
@brakcounty Ok so what I gather here is SCCM creates a single boot image for task sequence (actually there is probably just a text file that calls out the task sequence number). Where as MDT boots into the mdt menu where you can pick the task sequence you can boot. If you look deep into the code its probably the same logic just one has a menu and the other no.
All of that can be automated into a batch script to take the files, edit the boot.wim and do what is needed.
From the “Publish the boot files” you can have FOG take over here. With a properly crafted batch file you can cut out a lot of steps.
-
@george1421 Microsoft doesn’t like to play nice with other products and services unless they can buy them outright
This part is what I tried making into a script and it threw errors (update imagex to wimlib-imagex as the package binary name has changed):wimlib-imagex mountrw sccmfiles/sources/boot.wim 1 mntpnt cp -drn sccmfiles/sms/* mntpnt/sms/ rm -f mntpnt/Windows/System32/winpeshl.ini cp winpeshl.ini mntpnt/Windows/System32/ cp bootstrap.vbs mntpnt/sms/bin/x64/ wimlib-imagex unmount mntpnt --commit
This is what I tried as a script:
#!/bin/bash wimlib-imagex mountrw sccmfiles/sources/boot.wim 1 mntpnt && cp -drn sccmfiles/SMS/* mntpnt/sms/ << captial SMS from the ISO rm -f mntpnt/Windows/System32/winpeshl.ini cp winpeshl.ini mntpnt/Windows/System32/ cp bootstrap.vbs mntpnt/sms/bin/x64/ wimlib-imagex unmount mntpnt --commit
-
Actually did it this way, sloppy but it works:
#!/bin/bash wimlib-imagex mountrw sccmfiles/sources/boot.wim 1 mntpnt && cp -drn sccmfiles/SMS/* mntpnt/sms/ && rm -f mntpnt/Windows/System32/winpeshl.ini && cp winpeshl.ini mntpnt/Windows/System32/ && cp bootstrap.vbs mntpnt/sms/bin/x64/ && wimlib-imagex unmount mntpnt --commit && scp sources/boot.wim administrator@<fog_server_IP>:/home/administrator
And this script on the FOG server:
#!/bin/bash rm /home/administrator/sccm_test/boot.wim && mv /home/administrator/boot.wim /home/administrator/sccm_test/boot.wim rm /var/www/sccm_test/boot.wim && cp sccm_test/boot.wim /var/www/sccm_test/ && chown fogproject:www-data /var/www/sccm_test/boot.wim
-
@brakcounty Well I think you might have somethings mixed up. But I understand the instructions from the ipxe site because I’ve built FOG bootable WinPE images and the tools are the same.
So you can discard the bash script and all talks linux for the moment. You need a computer with WAIK installed on it to get access to the imagex program. If you have that from some other source that is fine. For this discussion think about the boot.wim file as a big zip or iso file. You use the imagex program to mount the boot.wim file to a local directory.
Once that is mounted you can add or remove items into the boot.wim file. That is what the ipxe instructions are asking you to do.
Once you make all of the changes you issue the imagex unmount command to rezip up all of the changes into the boot.wim file.
Now you can rename that boot.wim file to the task sequence name dot wim and send that to your FOG server.
-
@brakcounty Then we will setup the fog server using any of the WinPE configurations on the monster tutorial: https://forums.fogproject.org/post/103331
The directory structure should be tweaked a little bit so we can use http to copy the files.
So in
/var/www/html
create a directory calledos/sccm
mkdir -p /var/www/html/os/sccm/boot mkdir -p /var/www/html/os/sccm/sources cp wimboot /var/www/html/os/sccm cp bootmgr /var/www/html/os/sccm cp bcd /var/www/html/os/sccm/boot cp boot.sdi /var/www/html/os/sccm/boot cp task01.wim /var/www/html/os/sccm/sources
Once we have the structure in place then for every new task_seq.wim just copy it to /var/www/html/os/sccm/sources under a new name and make a new FOG menu.
Next to work on the FOG menu
The FOG iPXE menu should look similar to this
Menu Item: os.SCCM-task001
Description: SCCM Take sequence name
Parameters:
set http-path http://${fog-ip}/os/sccmkernel ${http-path}/wimboot gui
imgfetch --name bootmgr ${http-path}/bootmgr bootmgr
imgfetch --name BCD ${http-path}/boot/bcd BCD
imgfetch --name boot.sdi ${http-path}/boot/boot.sdi boot.sdi
imgfetch --name boot.wim ${http-path}/sources/task001.wim boot.wim
boot || goto MENUThe idea for each new task sequence you will have a new taskXXX.wim, where you just copy everything above and replace the wim file to load.
-
@george1421 If I do everything manually as I’ve been doing, it works fine. Just looking to save some keystrokes. The boot.wim I’m building using MS Endpoint Config Manager Console does not have any task sequences but instead contacts the MG/DP for available task sequences and goes from there. Its easier this way. If we start to make stand-alone TS ISOs the wim files will become too large for ipxe.
-
@george1421 hello. I’m trying your article in the following blog. I’m at step 3 where you try and get the wimboot file by running the following command but it looks like it is no longer a valid path:
wget http://git.ipxe.org/releases/wimboot/wimboot-latest.zip
what kind of files am I looking for? Can I use the existing ipxe files used by the fog server?
-
@george1421 pls ignore, internal network issue. thank you.