Adding Syslinux
The goal here is to make sure your WDS server is no longer sending the Microsoft bootfile to your PXE-booting clients. So we add Syslinux, which we can customize. This will give us the option to forward it back to your Windows boot images on your WDS (or provided by MDT) or your Linux images, which will be offered via the NFS-protocol.
A few remarks:
Just using Syslinux and the bootfiles from Linux distros, you can get this thing to work pretty easily. Going this route also means that every deployment is either being provided via the internet or your client needs to be told where your local repository is. This guide provides a little bit of automatisation as it will redirect you to the local NFS-share.
I choose to have the Linux distros available via NFS; http(s) or ftp are also an option. Even smb apparently. I can't vouch for that, though.
Steps required
The following part is based on this guide. If you stick to that guide, you should be able to get the Linux deployment working as I mentioned earlier: either via internet or with a local repository you have to enter manually.
Since I wanted to have it on LAN, via an NFS server, here is what I did:
Step 1
At the moment I'm only interested in deploying x64 images in bios mode (no UEFI). So i'm also giving the path of where I found them as this was already different compared to guide I linked earlier.
Unzip your Syslinux.zip file and look for the following files:
..\syslinux-6.03\bios\core\pxelinux.0
..\syslinux-6.03\bios\com32\menu\vesamenu.c32
..\syslinux-6.03\bios\com32\chain\chain.c32
The guide also mentions a few other files, dependencies. I needed them. So I'll assume you do too:
..\syslinux-6.03\bios\com32\elflink\ldlinux\ldlinux.c32 and ..\syslinux-6.03\bios\com32\elflink\ldlinux\ldlinux.elf
..\syslinux-6.03\bios\com32\libutil\libutil.c32
..\syslinux-6.03\bios\com32\cmenu\libmenuLibmenu.c32
..\syslinux-6.03\bios\com32\gpllib\libgpl.c32
..\syslinux-6.03\bios\com32\lua\src\liblua.c32
Copy them to the boot\X64 folder on the WDS-share (as I only want X64-deployments). Your WDS share has a default sharename of \YourServerName\REMINST. In my case: \wds\REMINST . Which means I have to copy this to: \wds\REMINST\Boot\x64 . If you want to do x86 deployments, following these steps should also yield a successful result (if you change to destination folder)
Step 2
After copying all the necessary files. Make the following adjustments, just like the original guide says. Keep in mind, we're still in the \boot\x64 folder!
Rename pxelinux.0 to pxelinux.com
Create a folder named pxelinux.cfg
Make a copy of pxeboot.n12 and name it pxeboot.0
Make a copy from abortpxe.com and rename it to abortpxe.0
Create a folder named "Linux", this is where our Linux installation files will come later on.
Step 3
Create a file named "default" in the boot\x64\default.cfg folder. Be aware: It has no extension.
The content of this file can be copy pasted from the original guide or from the snippet below.
A few remarks:
The MyMenuBackgroundPicture640x480.jpg has to be in the \boot\x64 folder, not the boot\x64\default.cfg folder. You can choose not to have a background and just remove that line entirely.
Your initial tests will give some ackward errors when choosing the "abort" or "boot from harddisk" option if there is not Operating System installed on the hard disk. This seems normal, all of this is solved when you're imaging a client which already has a functioning OS on it.
That's it for Syslinux for now. Let's just run a test first before moving on!
Step 4
We'll have to point our WDS server to our new boot-file. Use these 2 commandline options:
Last updated
Was this helpful?