WDS and Fog with Syslinux - Need Help!
-
I have gone through almost every article that there is! Can’t find a good tutorial for this solution.
I have WDS Server configured and working for WIN 10 images deployment.
I have a fog server with Linux distros and golden images.
I have set up Syslinux that loads up with BIOS and shows a menu for WDS, which installs all Win 10.
I want to be able to somehow link the Fog Server to this menu so when I choose Fog, I am presented with the Fog menu. Is this possible?Any help would be appreciated!
-
@boros Is this possible to do, probably yes.
There are a few approaches you can do depending on how comfortable you are with syslinux.
Lets get some common terms here.
FOG uses a boot loader called iPXE. Syslinux is al alternate to iPXE. What you can do with syslinux you can do with iPXE. iPXE has two boot loaders depending on the firmware version of the target host. For bios computers the boot loader is undionly.kpxe and for uefi its snponly.efi or ipxe.efi.
So if you still pxe boot with syslinux, you will have to chain load ipxe from your fog server from syslinux.
An alternate is to pxe boot into FOG using ipxe and then call WDS from a custom fog ipxe menu and do away with syslinux since ipxe will be doing that function. I have a tutorial here on how to pxe boot into different OS installers from FOG: https://forums.fogproject.org/topic/10944/using-fog-to-pxe-boot-into-your-favorite-installer-images
The structure of a syslinux config file is similar to iPXE so its possible to translate the formats and commands between the two different boot loaders.
-
The second option (Fog to WDS) is much better!
So I would have to remove the syslinux files from WDS?
Point my DHCP to the Fog Server with the Options for UEFI, 66, 67?
Then Set up NFS share on the FOG and WDS side?
Is this the right step by step? - WinPE 10 for BIOS and UEFI based systems -
@boros said in WDS and Fog with Syslinux - Need Help!:
So I would have to remove the syslinux files from WDS?
Well WDS has its own netboot option that uses a proxydhcp server. You will need to stop this service since it overrides options being set by dhcp options 66 and 67.
The idea is that you would boot directly into the fog iPXE menu and from there if selected boot into WDS. The following command should boot from fog into WDS. But be aware I have not tested it only glued the bits together. You would need to change the 192.168… IP address to the IP address of the wds server.
set wdsserver:ipv4 192.168.1.12 set net0/next-server ${wdsserver} iseq ${platform} efi && set bootfilenam Boot\\x64\\wdsmgfw.efi || set bootfilenam Boot\\x86\\wdsnbp.com chain tftp://${wdsserver}/${bootfilenam}
-
@george1421
This is what should go into the Fog custom Menu right?
Do I need to create NFS shares on the WDS or Fog side?Thank You!
-
@boros said in WDS and Fog with Syslinux - Need Help!:
This is what should go into the Fog custom Menu right?
Yes fog custom menu akin to how the tutorial I linked worked. It goes in the parameters block
Do I need to create NFS shares on the WDS or Fog side?
You don’t need to create nfs shares anywhere. If you have dhcp setup right it will pxe boot to the FOG menu, then from the fog menu you will chain to the custom menu which will load and boot the WDS boot loaders.
Again be aware that the WDS server has a netboot service that you need to stop or you will never get to the FOG iPXE menu. You can do all of this via the FOG web ui. There is no need to hand edit files like with syslinux.
-
Currently, I using FOG to chain to WDS but facing an issue: some how the network card only use 100mbps of 1Gbps,
BTW @boros how do you make your golden image ?
mine:- install fresh OS from WDS on a VM
- update window, update application
- sysprep using unattend file
- capture with fog
when i deploy this image to other PC, the boot up speed and shutdown is slightly slower a PC deployed with WDS. Did i missing some thing…
-
F… Yea!!! Thank You so much for the HELP!
Here is how I made it work:
-DHCP Server (Separate Server) - PXE pointing to Fog Server with added policy for UEFI and Option 66 & 67 configured.
-WDS with MDT running on a Win Server
-Fog Server on Ubuntu
-On WDS server - DHCP - “Do Not Listen on DHCP ports” <- This disables the WDS netboot
-Created Custom Menu in Fog with your parameters.All GOOD!
-
@baovipboy156 said in WDS and Fog with Syslinux - Need Help!:
some how the network card only use 100mbps of 1Gbps,
Its probably best of you open a new thread since the issue it not related to the topic of the thread.
But in general WDS/MDT is a file level imaging solution, where FOG is a block level imaging solution. The file level solutions are more flexible and deal with deployment time decisions. But they are slow(ish). About 45-60 minutes bare metal to fully deployed. Where fog is a block level imaging deployment. Not flexible for deployment time conditions, but deploys super fast (~6GB/min), with a 25GB image taking just over 4 minutes to first OS boot.
Same task different tools, different results. Each tool has its strengths and weaknesses.
-
@george1421
I am trying to replicate the FOG-WDS environment on a different site. WDS works fine but Fog is not. Clients never managed to boot into the fog Menu. I did everything as I set up on the previous environment. Where should I look to troubleshoot? I have a feeling Fog didn’t install properly.
My env:
DHCP - handled by a local AD Win Server - PXE Network with Option 66, 67 pointing to the fog server and ipxe.efi
Fog Server on Ubuntu 22.04 - I can login on the web console to Fog, but the strange thing is that I don’t have a fogproject user or a config file to check. -
@boros Ok there are two things here.
On installing fog there are 3 phases. 1. Start the FOG installer from the linux CLI and answer the preinstall questions. 2. GO to the Web UI and execute the action there to create/update the database. 3. Return back to the fog server console CLI and complete the installation. If you miss/skip part 3 you won’t have the required services installed. The /tftpboot directory will be blank. There won’t be any FOS linux os (bzImage and init.xz) in /var/www/html/fog/service/ipxe directory. The quick fix for this is to simply rerun the installer and completing all three steps.
The second one you have to remember is that WDS uses a netboot service, which is akin to proxydhcp. ProxyDHCP overrides the dhcp settings provided by the dhcp server for netbooting (options 66 and 67). A quick check is to have a witness computer on the same subnet as the pxe booting computer. Run wireshark on that witness computer using the capture filter of
port 67 or port 68
or use display filter ofbootp
. Look to see if you are getting multiple OFFER packets. If only one look into the one OFFER packet to see if dhcp option 60 is present. That signals a proxydhcp packet. If it exists that tells the client to contact the dhcp server after the dhcp exchange for pxe boot information on port 4011. -
@george1421
You were right! I still could not figure out how to update database from the Web UI but I went through all settings and “Update” as they were. This time in the CLI, after I pressed “Enter”, it installed the config file and few other stuff.
On WDS server, under Properties >DHCP, when I checkmark “Do Not Respond to DHCP”, the WDS server never answers. It’s a pretty good way of disabling it and pointing to Fog with the 66,67 options.Last question!
I want to transfer the “Gold” Images from the server in the other site. Can I just copy and paste the Images Folder from from the other Linux Machine? -
I want to transfer the “Gold” Images from the server in the other site. Can I just copy and paste the Images Folder from from the other Linux Machine?
The short answer is yes, but there is something you need to know.
FOG Images are made up of two components. The first is the raw data files that are kept in /images directory on your fog server. The second part is the metadata kept in the database. You need both to make the image functional. You can copy the files over by hand, but you will need to either recreate the metadata on the target system by hand (not a difficult task) or export the the image definitions from the source computer and import them on the destination computer
Now one other tidbit that is not supported by the developers, but it works. If on your master server you add the remote fog server as a storage node. The main fog server will be a master node and the remote server is a storage node (just in the context of this configuration), the master node will copy any image marked as exportable all storage nodes in its storage group. This will get the raw images over to the target system using the standard fog image replication. But the thing it doesn’t do is copy over the image definitions. You will need to do this using the export and import method, or by manually creating the image definitions by hand. Using this method you can have golden images pushed out by HQ and each site will still be able to create their own golden images too.