20101104

Booting Unix systems from Windows Deployment Server: pxelinux

Squeezed and slightly modified version of the WDSLINUX wiki article.

1. Download and extract syslinux.

2. Run cmd.exe, cd to the syslinux folder and run the following commands (verify you set the RemoteInstallBootDir env variable to the right location, V:\RemoteInstall\Boot in my case):

set RemoteInstallBootDir=V:\RemoteInstall\Boot
for %d in (x86 x64) do mkdir %RemoteInstallBootDir%\%d\pxelinux\pxelinux.cfg && (for %f in (core\pxelinux.0 com32\modules\chain.c32 com32\menu\menu.c32 com32\menu\vesamenu.c32) do copy %f %RemoteInstallBootDir%\%d\pxelinux)


3. Verify (save to a file if needed) current WDS configuration:

wdsutil /get-server /show:config

4. Configure WDS to use pxelinux.0 as boot program:

for %a in (x86 x64) do (for %p in (bootprogram n12bootprogram) do wdsutil /set-server /%p:boot\%a\pxelinux\pxelinux.0 /architecture:%a)

5. (Optional) Configure WDS architecture discovery, PXE prompt & answer policy:

wdsutil /set-server /answerclients:all /architecturediscovery:yes /pxepromptpolicy /known:optout /new:optout

6. Create default configuration file for x86 and x64 architectures (Boot\x86\pxelinux\pxelinux.cfg\default and Boot\x64\pxelinux\pxelinux.cfg\default in the RemoteInstall folder). Basic configuration:

DEFAULT menu.c32
ALLOWOPTIONS 0
NOESCAPE 1
PROMPT 0
TIMEOUT 60

MENU TITLE PXE boot options

LABEL wds
MENU DEFAULT
MENU LABEL ^Windows Deployment Services
PXE ..\pxeboot.n12

LABEL abortpxe
MENU LABEL ^Abort PXE boot
PXE ..\abortpxe.com

LABEL localhdd
MENU LABEL Boot from local hard ^disk
LOCALBOOT 0
TYPE 0x80

7. Test.

Notes.

There is no need to rename WDS boot files as described in WDSLINUX guide. The main reason for renaming WDS boot files was the SYSLINUX specifics in determination of boot image types: it can be determined from the boot image file extension (e.g. .bin, .0, .img) or from the configuration file command (e.g. PXE, LINUX):

The following commands are available after a LABEL statement:

    LINUX image   - Linux kernel image (default)
    BOOT image   - Bootstrap program (.bs, .bin)
    BSS image   - BSS image (.bss)
    PXE image   - PXE Network Bootstrap Program (.0)
    FDIMAGE image  - Floppy disk image (.img)
    COMBOOT image  - COMBOOT program (.com, .cbt)
    COM32 image   - COM32 program (.c32)
    CONFIG image  - New configuration file
        Using one of these keywords instead of KERNEL forces the
        filetype, regardless of the filename.

For more information, refer to the doc\syslinux.txt.

SYSLINUX does not interfere with ConfigMgr PXE service point if the latter is configured on the deployment server. Managed clients will use SMS boot images.

No comments:

Post a Comment