Deploy Linux with Microsoft WDS
  • Introduction
  • Requirements
  • Start
  • Adding Syslinux
  • Add a Windows client
  • Test your WDS
  • Add a Linux client
Powered by GitBook
On this page
  • Centos
  • Copy your boot files
  • Share the Centos folder as an NFS-share
  • Change the default file
  • Installation bug
  • OpenSuse
  • Copy your boot files
  • Share the Opensuse folder as an NFS-share
  • Change the default file
  • Other Linux distros

Was this helpful?

Add a Linux client

PreviousTest your WDS

Last updated 5 years ago

Was this helpful?

Centos

Centos has been my Linux distro to go to for a while now, so it would only be fitting I'd start with this one.

  • Create a "Centos" folder under your already existing ..\boot\x64\Linux folder.

  • Mount your Centos-iso and copy everything to your ..\boot\x64\Linux\Centos folder.

Copy your boot files

To start off, we need to copy the kernel file and the ramdisk file to a place where our soon-to-be-linux-client can reach it. Without those 2 files, we cannot even begin installing Linux. The explains this for a few linux distros and if you follow it, you'll be able to do the network boot for the distros they cover via internet or when you manually add the repository. But as I said: I wanted nfs and the initial process automatically.

With Centos however, the kernel isn't called linux but vmlinuz and the ramdisk file is not called initrd.gz but initrd.img!

You'll find those 2 files somewhere in a subdirectory of your Centos folder. Copy them to your ..\boot\x64\Linux\Centos folder.

Share the Centos folder as an NFS-share

This is how my NFS-share looks like on my server. Change accordingly to your setup.

The NFS Advanced Sharing tab.

Check these settings as well.

And last, but certainly not least. Add anonymous logon to your Security tab, or else NTFS will trump all your other settings. Just read access is enough (which it should be given by default)

Change the default file

Now everything is in place to get your Centos going. We just need to edit our bootmenu with the correct parameters (see my copy paste below).

  • kernel /Linux/CentOS/vmlinuz : this refers to the smb-share of your WDS

  • APPEND method=nfs:wds:/CentOS initrd=/Linux/CentOs/initrd.img :and this is where we need NFS.

  • Tip: Using ^ in front of a character makes it so you can jump quickly to that item in your bootmenu.

 DEFAULT      vesamenu.c32
 PROMPT       0
 NOESCAPE     0
 ALLOWOPTIONS 0
 # Timeout in units of 1/10 s
 TIMEOUT 300
 MENU MARGIN 10
 MENU ROWS 16
 MENU TABMSGROW 21
 MENU TIMEOUTROW 26
 MENU COLOR BORDER 30;44        #20ffffff #00000000 none
 MENU COLOR SCROLLBAR 30;44        #20ffffff #00000000 none
 MENU COLOR TITLE 0         #ffffffff #00000000 none
 MENU COLOR SEL   30;47        #40000000 #20ffffff
 MENU BACKGROUND MyMenuBackgroundPicture640x480.png
 MENU TITLE PXE Boot Menu
 #---
 LABEL wds
 MENU LABEL ^Windows Deployment Services
 KERNEL pxeboot.0
 #---
 LABEL Abort
 MENU LABEL ^AbortPXE
 Kernel    abortpxe.0
 #---
 LABEL local 
 MENU DEFAULT
 MENU LABEL B^oot from Harddisk
 LOCALBOOT 0
 Type 0x80
 #---
Label CentOs 7
menu label Centos 7 Install
kernel /Linux/CentOS/vmlinuz
APPEND method=nfs:wds:/CentOS initrd=/Linux/CentOs/initrd.img

Installation bug

There are quite a lot of faulty file names in there.

After this, you should be good to go!

OpenSuse

So I'm going to cover one more Linux distro. It practically is the same pattern as with Centos. So it's mostly going to be a copy paste

  • Create a "Opensuse" folder under your already existing ..\boot\x64\Linux folder.

  • Mount your Opensuse-iso and copy everything to your ..\boot\x64\Linux\Opensuse folder.

Copy your boot files

With Opensuse the kernel is called linux but the ramdisk file is not called initrd.gz but initrd ! Just another small difference with Centos and the rest...

You'll find those 2 files somewhere in a subdirectory of your Centos folder. Copy them to your ..\boot\x64\Linux\Centos folder.

Share the Opensuse folder as an NFS-share

This is how my NFS-share looks like on my server. Change accordingly to your setup.

The NFS Advanced Sharing tab.

Check these settings as well.

And last, but certainly not least. Add anonymous logon to your Security tab, or else NTFS will trump all your other settings. Just read access is enough (which it should be given by default)

Change the default file

Now everything is in place to get your Opensuse going. We just need to edit our bootmenu with the correct parameters (see my copy paste below).

  • kernel /Linux/Opensuse/linux : this refers to the smb-share of your WDS

  • append root=/dev/nfs vga=0x314 initrd=/linux/OpenSuse/initrd showopts splash=silent install=nfs://WDS:/OpenSuse: and this is where we need NFS.

  • Tip: Using ^ in front of a character makes it so you can jump quickly to that item in your bootmenu.

 DEFAULT      vesamenu.c32
 PROMPT       0
 NOESCAPE     0
 ALLOWOPTIONS 0
 # Timeout in units of 1/10 s
 TIMEOUT 300
 MENU MARGIN 10
 MENU ROWS 16
 MENU TABMSGROW 21
 MENU TIMEOUTROW 26
 MENU COLOR BORDER 30;44        #20ffffff #00000000 none
 MENU COLOR SCROLLBAR 30;44        #20ffffff #00000000 none
 MENU COLOR TITLE 0         #ffffffff #00000000 none
 MENU COLOR SEL   30;47        #40000000 #20ffffff
 MENU BACKGROUND MyMenuBackgroundPicture640x480.png
 MENU TITLE PXE Boot Menu
 #---
 LABEL wds
 MENU LABEL ^Windows Deployment Services
 KERNEL pxeboot.0
 #---
 LABEL Abort
 MENU LABEL ^AbortPXE
 Kernel    abortpxe.0
 #---
 LABEL local 
 MENU DEFAULT
 MENU LABEL B^oot from Harddisk
 LOCALBOOT 0
 Type 0x80
 #---
label Opensuse
 menu label OpenSuse ^install
 kernel /Linux/OpenSuse/linux
 append root=/dev/nfs vga=0x314 initrd=/linux/OpenSuse/initrd showopts splash=silent install=nfs://WDS:/OpenSuse

You should be good to go! Obviously you can have multiple Linux OS deployed next to each other ;)

Other Linux distros

I don't know what the origin of this bug is, but I do know how to fix it. Apparently your installer cannot find a few files. The names of the files he's trying to find are listed in TRANS.TBL . Just fix your file names via explorer accordingly and you'll be fine.

I'm with this problem and a crc-check came out clean, my iso wasn't corrupt.

To start off, we need to copy the kernel file and the ramdisk file to a place where our soon-to-be-linux-client can reach it. Without those 2 files, we cannot even begin installing Linux. The explains this for a few linux distros and if you follow it, you'll be able to do the network boot for the distros they cover via internet or when you manually add the repository. But as I said: I wanted nfs and the initial process automatically.

Figuring out the part where I had to change the bootmenu settings and enter the right parameters was the most difficult one. If you want to know the parameters for other Linux distro's, go to the

not the only one
guide
official Ubuntu documentation
guide