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.
-
I’d suggest to ensure that the permissions and settings on your distribution points are correct and that the DP has properly distributed the content.
-
It sounds like you’ve got a pretty intricate setup with FOG and SCCM. It’s great that you’ve done your homework and found out about the package ID and version matching requirement. Since you’ve confirmed that they match and are the same file, it’s a bit puzzling why you’re encountering this issue.
-
@Canarello said in Help with SCCM and FOG integration:
It sounds like you’ve got a pretty intricate setup with FOG and SCCM. It’s great that you’ve done your homework and found out about the package ID and version matching requirement. Since you’ve confirmed that they match and are the same file, it’s a bit puzzling why you’re encountering this issue.
One thing you might want to double-check is the modification you made to the WIM file to enable booting from a non-WDS PXE server. Sometimes, even seemingly minor changes can cause unexpected behavior downstream.
For more detailed guidance, you might find this article on deploying SCCM task sequences helpful: learnmesccm.com. They often provide step-by-step instructions and troubleshooting tips that could shed some light on your situation. Good luck!