Serva PXE/BINL - AN03: Non-Windows Boot/Install

How to start an automated network boot/install of a Non-Windows asset taking no more than 15 minutes and a ~1 MB download.

The objective of this document is to show you how to PXE boot/install Linux and BSD distributions, Native Hypervisors, Recovery Tools, DOS/FreeDOS (BIOS upgrade), and more.

Procedures described in this document do not require Serva "Supporter"

Serva PXE/BINL - Application Note Set
Serva PXE/BINL - AN01: Windows Install
Serva PXE/BINL - AN02: Windows Install Adv & WinPE Boot
Serva PXE/BINL - AN03: Non-Windows Boot/Install
Serva PXE/BINL - AN04: Custom menu


0 Index

  1. Requirements
  2. Introduction
  3. Installing/Booting Linux and BSD Distributions
  4. Installing Native Hypervisors
  5. Booting Recovery and Backup Tools
  6. Firmware Update
  7. Booting DOS/FreeDOS (BIOS upgrade)
  8. Advanced
  9. Troubleshooting
  10. Final Words

 

1 Requirements

1.1 Required Software
1.1.1 Microsoft Windows Serva 2.1 or higher.
1.1.2 Install CD/DVD/ISO of the non-Windows systems you want to network boot/install.

1.2 Assumed knowledge
1.2.1 Serva PXE/BINL - AN01: Windows Install
1.2.2 PXESERVA/PXELINUX basics.
1.2.3 Linux basics.

 

2 Introduction

In previous PXE/BINL application notes (Serva PXE/BINL - AN01: Windows Install & Serva PXE/BINL - AN02: Windows Install Adv & WinPE Boot) we have seen how Serva PXE/BINL services were able to automatically convert into Serva assets Microsoft Windows Install Distributions and Windows PE executives. In those cases the high degree of automation achieved is based on Microsoft's install distributions and PE executives standard format.
When now we have to process non-Windows systems, the lack of a distribution standard forces Serva to use a still very powerful semi-automatic approach:

2.1 Serva handling of non-Windows distributions

  1. Copy the non-Windows distribution file components and directory structure under Serva's class directory \NWA_PXE\ within the corresponding manually created head directory.
    i.e. for Suse Linux Enterprise Desktop you could copy SUSE's ISO content under:
    \NWA_PXE\SLED-11-SP1-DVD-i586-GM\
    Note
    In a few indicated cases Serva will require you to copy the distribution ISO/IMG file itself without extracting its components.
  2. Inform Serva about the presence of a non-windows distribution by manually creating the corresponding ServaAsset.inf file within the asset's head directory.
    i.e. \NWA_PXE\SLED-11-SP1-DVD-i586-GM\ServaAsset.inf
  3. Depending on the particular asset manually perform the required preparation processes (if any).
  4. Quit/restart Serva.

2.2 The file ServaAsset.inf is a simple, pure ASCII, text file containing the net boot/install information requiered by PXESERVA and by the asset's booting/installing process itself. i.e.

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  SUSE Linux Enterprise / openSUSE Linux
;-Tested on:
;  SLE-12-Server-DVD-x86_64-GM-DVD1.iso
;  SLE-12-Desktop-DVD-x86_64-GM-DVD1.iso
;-Require:
;  \NWA_PXE\ offered as HTTP root
;-Notes:
;  -
[PXESERVA_MENU_ENTRY]
asset    = Suse Linux Enterprise Server 12
platform = x86_64
kernel   = /NWA_PXE/$HEAD_DIR$/boot/x86_64/loader/linux
append   = initrd=/NWA_PXE/$HEAD_DIR$/boot/x86_64/loader/initrd splash=silent vga=0x314 showopts netdevice=bootif install=http://$IP_BSRV$/$HEAD_DIR$/
;platform = i586
;kernel   = /NWA_PXE/$HEAD_DIR$/boot/i586/loader/linux
;append   = initrd=/NWA_PXE/$HEAD_DIR$/boot/i586/loader/initrd splash=silent vga=0x314 showopts netdevice=bootif install=http://$IP_BSRV$/$HEAD_DIR$/
ipappend = 2

The ServaAsset.inf format has been carefully designed to make the file self-contained and portable.

2.2.1 Information Header:
It contains formatted metadata not really required by Serva but very important if you plan to share your personally created ServaAsset.inf.

2.2.2 Section [PXESERVA_MENU_ENTRY]:
It contains the variables required by Serva and the asset boot/install process itself.
asset: Variable containing the text that will be displayed on Serva's menu entry.
platform: Variable containing the text that will be displayed on Serva's menu entry.
kernel: Variable containing the "TFTP path" to the asset's NBP (Network Boot Program).
append: Variable containing the asset NBP's command line parameters.
ipappend: Optional variable containing "1","2", or "3" (w/o quotes). It appends additional IP/MAC related parameters.

2.3 Making your ServaAsset.inf self-contained and portable.
2.3.1 When creating ServaAsset.inf do not forget to include a correctly populated Description Header; it might look not really important when you deal with one or two non-Windows assets but when that figure grows or you are planning to share your ServaAsset.inf with colleagues or friends the extra effort always pays off.
2.3.2 ServaAsset.inf append variable will surely require some sort of Microsoft share, HTTP server access, or FTP server access. Please always consider Serva's \NWA_PXE\ class directory as the "root" of all those file delivery services. For the sake of consistency when the asset needs a Microsoft share please share the class directory \NWA_PXE\ as NWA_PXE_SHARE.
2.3.2 ServaAsset.inf kernel and append variables will surely require paths, IP addresses, Serva's computer name, etc. All these components are scenario dependant, that's why Serva is able to parse a set of "environment" variables that help you to create portable ServaAsset.inf.

$COMP_NAME$     Serva Computer Name 
$HEAD_DIR$      Asset Head Directory (no leading "\", no trailing "\")
$IP_CLNT$       DHCP obtained (yiaddr) Client's IP
$IP_BSRV$       DHCP obtained (siaddr) Client's Boot Server IP (Serva IP)
$IP_GWAY$       DHCP obtained (opt #3) Client's Default Gateway
$IP_MASK$       DHCP obtained (opt #1) Client's IP Mask

i.e.

kernel = NWA_PXE/SLED-11-SP1-DVD-i586-GM/boot/i386/loader/linux "non-Portable"
kernel = NWA_PXE/$HEAD_DIR$/boot/i386/loader/linux "Portable"

i.e.

append = ... install=http://192.168.20.1/$HEAD_DIR$/ "non-Portable"
append = ... install=http://$IP_BSRV$/$HEAD_DIR$/ "Portable"
   

2.4 In cases where an identical ServaAsset.inf is able to boot/install more than one particular asset flavor, architecture, or version, we must consecutively list all the tested distributions in ServaAsset.inf header for reference purposes. Before use, the variables asset and platform must be manually edited accordingly to the particular distribution being booted/installed.


Note
Well written ServaAsset.inf should be:

  1. Format conformant; including its fully populated information header.
  2. Self-contained; not requiring any external additional information for its proper use.
  3. Portable; being able to be copied to different Serva PXE/BINL repositories requiring minimal to none editing.

Please follow these simple rules when creating your own ServaAsset.inf

 

2.5 ISO-9660 and its Rock Ridge and Joliet extensions.
ISO-9660 (1987) defines how files can be represented on CD/DVD-ROMs. Limitations on the original standard (i.e. file names no longer than 8.3 format) led to the various ISO 9660 extensions used today i.e. Rock Ridge (mostly adopted by the Unix/Linux world) or Joliet (Created by MS; mostly adopted by the Windows world). Most of the Linux distribution ISOs you see today include the original ISO 9660 and both Rock Ridge and Joliet extension encodings. Finally it is always the OS who decides which extension is used at reading time.
Linux file systems use case-sensitive file names, symbolic links, and other features supported by Rock Ridge but not supported by Joliet. Therefore when populating Serva's repository by copying content from those Linux ISO files to our Serva PC the Microsoft OS will always read from the included Joliet extension (remember Microsoft OSs do not include native Rock Ridge support) then we must keep in mind a few points.

  1. While FILE_NAME.TXT and file_name.txt can coexist on a Rock Ridge or Joliet directory, only one of them can exist on a Microsoft FAT32/NTFS based directory.
  2. Rock Ridge soft links are represented as empty files on Joliet.
  3. While Rock Ridge supports file names up to 255 chars, Joliet supports file names no longer than 64 chars ("relaxed" Joliet implementations allow longer filenames). Then when copying a file from a Linux ISO to a Microsoft OS (which will be read using ISO's Joliet extension) we "might" end up getting the file with its name truncated to 64 chars.

Points 1 and 2 are not very common. Unfortunately there are some Linux install ISOs today using Rock Ridge longer than 64 char filenames distinctive feature and not using a "relaxed" Joliet extension (i.e. certain Ubuntu/Fedora/CentOS/Mageia flavors). Then serving that kind of distro from Microsoft platforms could lead to problems because of those truncated filename files.
If we serve the distro using Serva's HTTP service there's a workaround by checking the following option located at the HTTP Settings tab:

 [x] Truncate GET File names longer than 64 chars

This option (when on) will additionally try looking for a resource with its name truncated if the resource's original name was longer than 64 chars and not found on a first try.
I recommend leaving this option always checked if you are booting/installing Linux or derivatives using Serva's HTTP service.

Note
To Linux producers/distributors:
Please do not use on distribution ISOs Rock Ridge features not present on standard Joliet; they do not really help delivering better Linux boot/install systems but they can make PXE booting/installing from Microsoft platforms unnecessarily more difficult.

 

3 Booting/Installing Linux and BSD Distributions

3.1 SUSE Linux Enterprise / openSUSE Linux

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  SUSE Linux Enterprise / openSUSE Linux
;-Tested on:
;  SLE-12-Server-DVD-x86_64-GM-DVD1.iso
;  SLE-12-Desktop-DVD-x86_64-GM-DVD1.iso
;  SLE-11-SP2-SAP-DVD-x86_64-GM-DVD
;
;  SLES-11-SP3-DVD-x86_64-GM-DVD1.iso
;  SLED-11-SP3-DVD-x86_64-GM-DVD1.iso
;  SLES-11-SP3-DVD-i586-GM-DVD1.iso
;  SLED-11-SP3-DVD-i586-GM-DVD1.iso
;
;  openSUSE-13.2-DVD-x86_64.iso
;  openSUSE-13.2-DVD-i586.iso
;  openSUSE-13.1-DVD-x86_64.iso
;  openSUSE-13.1-DVD-i586.iso
;-Require:
;  \NWA_PXE\ offered as HTTP root
;-Notes:
;  -
[PXESERVA_MENU_ENTRY]
asset    = Suse Linux Enterprise Server 12
;asset    = Suse Linux Enterprise Desktop 12
;asset    = SUSE Linux Enterprise for SAP Applications 11 SP2
;asset    = OpenSuse Linux 13.2
platform = x86_64
kernel   = /NWA_PXE/$HEAD_DIR$/boot/x86_64/loader/linux
append   = initrd=/NWA_PXE/$HEAD_DIR$/boot/x86_64/loader/initrd splash=silent vga=0x314 showopts netdevice=bootif install=http://$IP_BSRV$/$HEAD_DIR$/
;platform = i586
;kernel   = /NWA_PXE/$HEAD_DIR$/boot/i586/loader/linux
;append   = initrd=/NWA_PXE/$HEAD_DIR$/boot/i586/loader/initrd splash=silent vga=0x314 showopts netdevice=bootif install=http://$IP_BSRV$/$HEAD_DIR$/
ipappend = 2

SUSE Linux Enterprise / openSUSE requires Serva's HTTP server offering \NWA_PXE\ as root.


3.1.1 OpenSUSE Linux 13.2 Live

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;   OpenSUSE Linux Live (only x86_64 flavors)
;-Tested on:
;  openSUSE-13.2-GNOME-Live-x86_64.iso
;  openSUSE-13.2-KDE-Live-x86_64.iso
;  openSUSE-13.2-Rescue-CD-x86_64.iso
; ; openSUSE-13.2-GNOME-Live-i686.iso ; openSUSE-13.2-KDE-Live-i686.iso ; openSUSE-13.2-Rescue-CD-i686.iso ;-Require: ; \NWA_PXE\ offered as HTTP root ;-Notes: ; Copy the iso file itself under the head directory ; Copy under the head directory the files linux & initrd found at iso's \boot\x86_64\loader ; Get INITRD_N15.1.GZ from www.vercot.com/~serva/download/INITRD_N15.1.GZ (2.7 Mb) ; Edit the appended isofrom_sytem variable depending on the booting iso flavor
[PXESERVA_MENU_ENTRY] asset = openSUSE-13.2-GNOME-Live platform = x86_64 kernel = /NWA_PXE/$HEAD_DIR$/linux append = isofrom_system=openSUSE-13.2-GNOME-Live-x86_64.iso initrd=/NWA_PXE/$HEAD_DIR$/initrd,/NWA_PXE/$HEAD_DIR$/INITRD_N15.1.GZ showopts isofrom_device=http://$IP_BSRV$/$HEAD_DIR$ ro ipappend = 2

OpenSUSE Live requires Serva's HTTP server offering \NWA_PXE\ as root.
OpenSUSE Live requires complementary initial ram disk INITRD_N15.1.GZ (2.7 Mb)
Copy the iso file itself under the head directory.
Copy under the head directory the files linux & initrd found at iso's \boot\x86_64\loader
Edit the appended isofrom_sytem variable depending on the booting iso flavor.

 

3.2 Red Hat Enterprise Linux / CentOS Linux

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Red Hat Enterprise Linux / CentOS Linux
;-Tested on:
;  rhel-server-7.1-x86_64-dvd.iso
;  rhel-workstation-7.1-x86_64-dvd.iso
;  rhel-client-7.1-x86_64-dvd.iso
;
;  rhel-workstation-7.0-x86_64-dvd.iso
;  rhel-server-7.0-x86_64-dvd.iso
;  CentOS-7.0-1406-x86_64-DVD.iso
;
;  rhel-workstation-6.5-x86_64-dvd.iso
;  rhel-server-6.5-x86_64-dvd.iso
;  CentOS-6.5-x86_64-bin-DVD1.iso
;-Require:
;  \NWA_PXE\ offered as HTTP root
;-Notes:
;  For KickStart add to append  ks=http://$IP_BSRV$/$HEAD_DIR$/images/pxeboot/ks.cfg
[PXESERVA_MENU_ENTRY]
asset    = RHEL Server 7.1
platform = x86_64
kernel   = /NWA_PXE/$HEAD_DIR$/images/pxeboot/vmlinuz
append   = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img root=live:http://$IP_BSRV$/$HEAD_DIR$/LiveOS/squashfs.img ksdevice=bootif repo=http://$IP_BSRV$/$HEAD_DIR$/
;6.x > append   = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img method=http://$IP_BSRV$/$HEAD_DIR$ noipv6 ksdevice=bootif
ipappend = 2

Red Hat Enterprise Linux / CentOS Linux requires Serva's HTTP server offering \NWA_PXE\ as root.

 

3.3 Fedora Linux

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Fedora Linux 
;-Tested on:
;  Fedora-Server-DVD-x86_64-21.iso
;  Fedora-Live-Workstation-x86_64-21-5.iso
;
;-Require:
;  \NWA_PXE\ offered as HTTP root
;-Notes:
;  For Fedora-Live-Workstation-x86_64-XX-Y.iso copy vmlinuz & initrd.img from
;  Fedora-Cloud-netinst-x86_64-XX.iso (or Fedora-Server-netinst-x86_64-XX.iso)
;  at \images\pxeboot\ to the asset's \isolinux\ 
[PXESERVA_MENU_ENTRY]
asset    = Fedora Live Workstation 21
platform = x86_64
kernel   = /NWA_PXE/$HEAD_DIR$/isolinux/vmlinuz
append   = initrd=/NWA_PXE/$HEAD_DIR$/isolinux/initrd.img root=live:http://$IP_BSRV$/$HEAD_DIR$/LiveOS/squashfs.img rootfstype=auto ro rd.live.image rhgb rd.luks=0 rd.md=0 rd.dm=0

Fedora Linux requires Serva's HTTP server offering \NWA_PXE\ as root.

 

3.4 Ubuntu


3.4.1 Ubuntu LTS 14.04 / 12.04, Ubuntu Kylin LTS 14.04 Desktop Live

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Ubuntu LTS 14.04/12.04, Ubuntu Kylin LTS 14.04 Desktop Live
;-Tested on:
;  ubuntu-14.04.2-desktop-amd64.iso
;  ubuntu-14.04.2-desktop-i386.iso
;
;  ubuntukylin-14.04.2-desktop-amd64.iso
;  ubuntukylin-14.04.2-desktop-i386.iso
;
;  ubuntu-14.04.1-desktop-amd64.iso
;  ubuntu-14.04.1-desktop-i386.iso
;  ubuntu-14.04-desktop-amd64.iso
;  ubuntu-14.04-desktop-i386.iso
;
;  ubuntu-12.04.5-desktop-amd64.iso
;  ubuntu-12.04.5-desktop-i386.iso
;  ubuntu-12.04.4-desktop-amd64.iso
;  ubuntu-12.04.4-desktop-i386.iso
;  ubuntu-12.04.3-desktop-amd64.iso
;  ubuntu-12.04.3-desktop-i386.iso
;  ubuntu-12.04.2-desktop-amd64.iso
;  ubuntu-12.04.2-desktop-i386.iso
;  ubuntu-12.04-desktop-amd64.iso
;  ubuntu-12.04-desktop-i386.iso
;-Require:
;  \NWA_PXE\ offered as MS share NWA_PXE_SHARE user=serva password=avres
;  ubuntu-xx.yy.zz-desktop-amd64.iso requires renaming \casper\vmlinuz.efi to \casper\vmlinuz
;-Notes:
;  14.04 - Get INITRD_N11.GZ from www.vercot.com/~serva/download/INITRD_N11.GZ (95 Kb)
;  12.04 - Get INITRD_N02.3.GZ from www.vercot.com/~serva/download/INITRD_N02.3.GZ (164 Kb)
;  When using Serva as proxyDHCP the external DHCP server must be able to answer 
;   to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp
[PXESERVA_MENU_ENTRY]
asset    = Ubuntu LTS 14.04 Desktop Live
platform = amd64
kernel   = /NWA_PXE/$HEAD_DIR$/casper/vmlinuz
append   = showmounts toram root=/dev/cifs initrd=/NWA_PXE/$HEAD_DIR$/casper/initrd.lz,/NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,ro ip=dhcp ro
;append   = showmounts toram root=/dev/cifs initrd=/NWA_PXE/$HEAD_DIR$/casper/initrd.lz,/NWA_PXE/$HEAD_DIR$/casper/INITRD_N02.3.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,ro ip=dhcp ro

Ubuntu LTS 14.04/12.04 Desktop Live requires \NWA_PXE\ offered as MS share NWA_PXE_SHARE with user=serva password=avres.
Ubuntu LTS 14.04 Desktop Live requires complementary initial ram disk INITRD_N11.GZ (95 Kb) providing customized init script.
Ubuntu LTS 12.04 Desktop Live requires complementary initial ram disk INITRD_N02.3.GZ (124 Kb) providing additional drivers and a customized init script.
Ubuntu-xx.yy.zz-desktop-amd64.iso requires renaming \casper\vmlinuz.efi to \casper\vmlinuz
When using Serva as proxyDHCP the external DHCP server must be able to answer to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp.

3.4.2 Ubuntu LTS 14.04 Server / 12.04 Alternate

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Ubuntu LTS 14.04 Server / 12.04 Alternate
;-Tested on:
;  ubuntu-14.04.2-server-amd64.iso
;  ubuntu-14.04.2-server-i386.iso
;  ubuntu-14.04.1-server-amd64.iso
;  ubuntu-14.04.1-server-i386.iso
;
;  ubuntu-12.04.5-alternate-amd64.iso
;  ubuntu-12.04.5-alternate-i386.iso
;  ubuntu-12.04.4-alternate-amd64.iso
;  ubuntu-12.04.4-alternate-i386.iso
;-Require:
;  \NWA_PXE\ offered as as HTTP root
;-Notes:
; -
[PXESERVA_MENU_ENTRY]
asset    = Ubuntu LTS 14.04.1 Server
platform = amd64
kernel   = /NWA_PXE/$HEAD_DIR$/install/netboot/ubuntu-installer/amd64/linux
;kernel   = /NWA_PXE/$HEAD_DIR$/install/netboot/ubuntu-installer/i386/linux
append   = initrd=/NWA_PXE/$HEAD_DIR$/install/netboot/ubuntu-installer/amd64/initrd.gz vga=788 mirror/country=manual mirror/http/hostname=$IP_BSRV$ mirror/http/directory=/$HEAD_DIR$ mirror/http/proxy="" live-installer/net-image=http://$IP_BSRV$/$HEAD_DIR$/install/filesystem.squashfs
;append   = initrd=/NWA_PXE/$HEAD_DIR$/install/netboot/ubuntu-installer/i386/initrd.gz vga=788 mirror/country=manual mirror/http/hostname=$IP_BSRV$ mirror/http/directory=/$HEAD_DIR$ mirror/http/proxy="" live-installer/net-image=http://$IP_BSRV$/$HEAD_DIR$/install/filesystem.squashfs
 

Ubuntu LTS 14.04 Server / 12.04 Alternate requires \NWA_PXE\ offered as HTTP root.

3.4.3 Ubuntu 15.04, Ubuntu Kylin 15.04 Desktop Live

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Ubuntu 15.04, Ubuntu Kylin 15.04 Desktop Live
;-Tested on:
;  ubuntu-15.04-desktop-amd64.iso
;  ubuntu-15.04-desktop-i386.iso
;
;  ubuntukylin-15.04-desktop-amd64.iso
;  ubuntukylin-15.04-desktop-i386.iso
;
;-Require:
;  \NWA_PXE\ offered as MS share NWA_PXE_SHARE user=serva password=avres
;  ubuntu[kylin]-xx.yy-desktop-amd64.iso requires renaming \casper\vmlinuz.efi to \casper\vmlinuz
;-Notes:
;  Get INITRD_N11.1.GZ from www.vercot.com/~serva/download/INITRD_N11.1.GZ (96 Kb)
;  When using Serva as proxyDHCP the external DHCP server must be able to answer 
;   to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp
[PXESERVA_MENU_ENTRY]
asset    = Ubuntu 15.04 Desktop Live
platform = amd64
kernel   = /NWA_PXE/$HEAD_DIR$/casper/vmlinuz
append   = showmounts toram root=/dev/cifs initrd=/NWA_PXE/$HEAD_DIR$/casper/initrd.lz,/NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.1.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,ro ip=dhcp ro       

Ubuntu/ Ubuntu Kylin 15.04 Desktop Live requires \NWA_PXE\ offered as MS share NWA_PXE_SHARE with user=serva password=avres.
Ubuntu/ Ubuntu Kylin 15.04 Desktop Live requires complementary initial ram disk INITRD_N11.1.GZ (96 Kb) providing customized init script.
ubuntu[kylin]-xx.yy-desktop-amd64.iso requires renaming \casper\vmlinuz.efi to \casper\vmlinuz
When using Serva as proxyDHCP the external DHCP server must be able to answer to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp.

3.4.2 Ubuntu 15.04 Server

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Ubuntu 15.04 Server 
;-Tested on:
;  ubuntu-15.04-server-amd64.iso
;  ubuntu-15.04-server-i386.iso
;-Require:
;  \NWA_PXE\ offered as as HTTP root
;-Notes:
; -
[PXESERVA_MENU_ENTRY]
asset    = Ubuntu 15.04 Server
platform = amd64
kernel   = /NWA_PXE/$HEAD_DIR$/install/netboot/ubuntu-installer/amd64/linux
;kernel   = /NWA_PXE/$HEAD_DIR$/install/netboot/ubuntu-installer/i386/linux
append   = initrd=/NWA_PXE/$HEAD_DIR$/install/netboot/ubuntu-installer/amd64/initrd.gz vga=788 mirror/country=manual mirror/http/hostname=$IP_BSRV$ mirror/http/directory=/$HEAD_DIR$ mirror/http/proxy="" live-installer/net-image=http://$IP_BSRV$/$HEAD_DIR$/install/filesystem.squashfs
;append   = initrd=/NWA_PXE/$HEAD_DIR$/install/netboot/ubuntu-installer/i386/initrd.gz vga=788 mirror/country=manual mirror/http/hostname=$IP_BSRV$ mirror/http/directory=/$HEAD_DIR$ mirror/http/proxy="" live-installer/net-image=http://$IP_BSRV$/$HEAD_DIR$/install/filesystem.squashfs        

Ubuntu 15.04 Server requires \NWA_PXE\ offered as HTTP root.

 

3.5 Lubuntu

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Lubuntu 14.04 Desktop Live
;-Tested on:
;  lubuntu-14.10-desktop-amd64.iso
;  lubuntu-14.10-desktop-i386.iso
;-Require:
;  \NWA_PXE\ offered as MS share NWA_PXE_SHARE user=serva password=avres
;  lubuntu-xx.yy-desktop-amd64.iso requires renaming \casper\vmlinuz.efi to \casper\vmlinuz
;-Notes:
:  Get INITRD_N11.GZ from www.vercot.com/~serva/download/INITRD_N11.GZ (95 Kb)
;  When using Serva as proxyDHCP the external DHCP server must be able to answer 
;   to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp
[PXESERVA_MENU_ENTRY]
asset    = Lubuntu 14.10 Desktop Live
platform = amd64
kernel   = /NWA_PXE/$HEAD_DIR$/casper/vmlinuz
append   = showmounts toram root=/dev/cifs initrd=/NWA_PXE/$HEAD_DIR$/casper/initrd.lz,/NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,ro ip=bootp ro

Lubuntu 14.10 Desktop Live requires an MS share NWA_PXE_SHARE user=serva password=avres.
Lubuntu 14.10 Desktop Live requires complementary initial ram disk INITRD_N11.GZ (95 Kb) providing customized init script.
lubuntu-xx.yy-desktop-amd64.iso requires renaming \casper\vmlinuz.efi to \casper\vmlinuz
When using Serva as proxyDHCP the external DHCP server must be able to answer to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp.

 

3.6 Xubuntu

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Xubuntu LTS 14.04 / Xubuntu 15.04 Desktop Live
;-Tested on:
;  xubuntu-15.04-desktop-amd64.iso
;  xubuntu-15.04-desktop-i386.iso
;
;  xubuntu-14.04.2-desktop-amd64.iso
;  xubuntu-14.04.2-desktop-i386.iso
;
;-Require:
;  \NWA_PXE\ offered as MS share NWA_PXE_SHARE user=serva password=avres
;  xubuntu-xx.yy.zz-desktop-amd64.iso requires renaming \casper\vmlinuz.efi to \casper\vmlinuz
;-Notes:
;  14.04 - Get INITRD_N11.GZ from www.vercot.com/~serva/download/INITRD_N11.GZ (95 Kb)
;  15.04 - Get INITRD_N11.1.GZ from www.vercot.com/~serva/download/INITRD_N11.1.GZ (96 Kb)
;  When using Serva as proxyDHCP the external DHCP server must be able to answer 
;   to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp
[PXESERVA_MENU_ENTRY]
asset    = Ubuntu LTS 14.04 Desktop Live
platform = amd64
kernel   = /NWA_PXE/$HEAD_DIR$/casper/vmlinuz
append   = showmounts toram root=/dev/cifs initrd=/NWA_PXE/$HEAD_DIR$/casper/initrd.lz,/NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.1.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,ro ip=dhcp ro
;append   = showmounts toram root=/dev/cifs initrd=/NWA_PXE/$HEAD_DIR$/casper/initrd.lz,/NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,ro ip=dhcp ro
        

Xubuntu LTS 14.04 Desktop Live and Xubuntu 15.04 Desktop Live requires \NWA_PXE\ offered as MS share NWA_PXE_SHARE with user=serva password=avres.
Xubuntu LTS 14.04 Desktop Live requires complementary initial ram disk INITRD_N11.GZ (95 Kb) providing customized init script.
Xubuntu 15.04 Desktop Live requires complementary initial ram disk INITRD_N11.1.GZ (96 Kb) providing additional drivers and a customized init script.
Xubuntu-xx.yy.zz-desktop-amd64.iso requires renaming \casper\vmlinuz.efi to \casper\vmlinuz
When using Serva as proxyDHCP the external DHCP server must be able to answer to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp.

 

3.7 LXLE

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  LXLE Desktop Live
;-Tested on:
;  lxle-14.04.2.iso (64Bit)
;  lxle-12.04.5.iso (32Bit) (\casper\initrd.gz fails net booting; contact LXLE)
;-Require:
;  \NWA_PXE\ offered as MS share NWA_PXE_SHARE user=serva password=avres
;  Booting lxle-14.04.2.iso requires renaming \casper\vmlinuz.efi to \casper\vmlinuz
;-Notes:
;  Get INITRD_N11.GZ from www.vercot.com/~serva/download/INITRD_N11.GZ (95 Kb)
;  When using Serva as proxyDHCP the external DHCP server must be able to answer 
;   to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp
[PXESERVA_MENU_ENTRY]
asset    = LXLE Desktop Live
platform = amd64
kernel   = /NWA_PXE/$HEAD_DIR$/casper/vmlinuz
append   = showmounts toram root=/dev/cifs initrd=/NWA_PXE/$HEAD_DIR$/casper/initrd.lz,/NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,ro ip=bootp ro
        

LXLE Desktop Live requires an MS share NWA_PXE_SHARE user=serva password=avres.
LXLE Desktop Live requires complementary initial ram disk INITRD_N11.GZ (95 Kb) providing customized init script.
lxle-14.04.2.iso requires renaming \casper\vmlinuz.efi to \casper\vmlinuz
When using Serva as proxyDHCP the external DHCP server must be able to answer to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp.

 

3.8 Mint

;-Serva v2.1 Non-Windows Asset Information File
;-Boot/Install:
;  Mint 17.1 "Rebecca" Live
;-Tested on:
;  linuxmint-17.1-cinnamon-64bit.iso
;  linuxmint-17.1-cinnamon-oem-64bit.iso
;  linuxmint-17.1-mate-64bit.iso
;  linuxmint-17.1-mate-oem-64bit.iso
;  linuxmint-17.1-kde-64bit.iso
;  linuxmint-17.1-xfce-64bit.iso
;
;  linuxmint-17.1-cinnamon-32bit.iso
;  linuxmint-17.1-cinnamon-oem-32bit.iso
;  linuxmint-17.1-mate-32bit.iso
;  linuxmint-17.1-mate-oem-32bit.iso
;  linuxmint-17.1-kde-32bit.iso
;  linuxmint-17.1-xfce-32bit.iso
;-Require:
;  \NWA_PXE\ offered as MS share NWA_PXE_SHARE user=serva password=avres
;-Notes:
;  Get INITRD_N11.GZ from www.vercot.com/~serva/download/INITRD_N11.GZ (95 Kb)
;  When using Serva as proxyDHCP the external DHCP server must be able to answer 
;   to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp
[PXESERVA_MENU_ENTRY]
asset    = Mint 17.1 Rebecca Live
platform = 64bit
kernel   = /NWA_PXE/$HEAD_DIR$/casper/vmlinuz
append   = showmounts toram root=/dev/cifs initrd=/NWA_PXE/$HEAD_DIR$/casper/initrd.lz,/NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,ro ip=bootp ro

Mint 17.1 "Rebecca" Live requires an MS share NWA_PXE_SHARE user=serva password=avres.
Mint 17.1 Live requires complementary initial ram disk INITRD_N11.GZ (95 Kb) providing customized init script.
When using Serva as proxyDHCP the external DHCP server must be able to answer to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp.

 

3.9 Mageia Linux

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Mageia Linux 4
;-Tested on:
;  Mageia-4-x86_64-DVD.iso
;  Mageia-4-i586-DVD.iso
;-Require:
;  \NWA_PXE\ offered as HTTP root
;-Notes:
;  -
[PXESERVA_MENU_ENTRY]
asset    = Mageia 4
platform = x86_64
kernel   = NWA_PXE/$HEAD_DIR$/isolinux/x86_64/vmlinuz
append   = initrd=NWA_PXE/$HEAD_DIR$/isolinux/x86_64/all.rdz automatic=method:http,ser:$IP_BSRV$,dir:/$HEAD_DIR$/x86_64/,int:eth0,netw:dhcp vga=788
;platform = i586
;kernel   = NWA_PXE/$HEAD_DIR$/isolinux/i586/vmlinuz
;append   = initrd=NWA_PXE/$HEAD_DIR$/isolinux/i586/all.rdz automatic=method:http,ser:$IP_BSRV$,dir:/$HEAD_DIR$/i586/,int:eth0,netw:dhcp vga=788

Mageia Linux 4 requires Serva's HTTP server offering \NWA_PXE\ as root.

 

3.10 Elementary OS

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Elementary OS 0.3 Freya Live
;-Tested on:
;  elementaryos-freya-amd64.20150411.iso
;  elementaryos-freya-i386.20150411.iso
;-Require:
;  \NWA_PXE\ offered as MS share NWA_PXE_SHARE user=serva password=avres
;-Notes:
;  Get INITRD_N11.GZ from www.vercot.com/~serva/download/INITRD_N11.GZ (95 Kb)
;  When using Serva as proxyDHCP the external DHCP server must be able to answer 
;   to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp
[PXESERVA_MENU_ENTRY]
asset    = Elementary OS 0.3 Freya Live
platform = amd64
kernel   = NWA_PXE/$HEAD_DIR$/casper/vmlinuz
append   = showmounts toram root=/dev/cifs initrd=NWA_PXE/$HEAD_DIR$/casper/initrd.lz,NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,ro ip=dhcp ro

Elementary OS 0.3 Freya Live requires \NWA_PXE\ offered as MS share NWA_PXE_SHARE with user=serva password=avres.
Elementary OS 0.3 Freya Live requires complementary initial ram disk INITRD_N11.GZ (95 Kb) providing additional drivers and a customized init script.
When using Serva as proxyDHCP the external DHCP server must be able to answer to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp.

 

3.11 Debian


3.11.1 Debian 8 (jessie), 7 (wheezy) Desktop Live

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Debian 8 (jessie), 7 (wheezy) Live
;-Tested on:
;  debian-live-8.0.0-amd64-cinnamon-desktop.iso
;  debian-live-8.0.0-amd64-gnome-desktop.iso
;  debian-live-8.0.0-amd64-kde-desktop.iso
;  debian-live-8.0.0-amd64-lxde-desktop.iso
;  debian-live-8.0.0-amd64-mate-desktop.iso
;  debian-live-8.0.0-amd64-standard.iso
;  debian-live-8.0.0-amd64-xfce-desktop.iso
;  
;  debian-live-8.0.0-i386-cinnamon-desktop.iso
;  debian-live-8.0.0-i386-gnome-desktop.iso
;  debian-live-8.0.0-i386-kde-desktop.iso
;  debian-live-8.0.0-i386-lxde-desktop.iso
;  debian-live-8.0.0-i386-mate-desktop.iso
;  debian-live-8.0.0-i386-standard.iso
;  debian-live-8.0.0-i386-xfce-desktop.iso
; --
;  debian-live-7.8.0-amd64-gnome-desktop.iso
:  debian-live-7.8.0-amd64-kde-desktop.iso
;  debian-live-7.8.0-amd64-lxde-desktop.iso
;  debian-live-7.8.0-amd64-rescue.iso
;
;  debian-live-7.8.0-i386-gnome-desktop.iso 
;  debian-live-7.8.0-i386-kde-desktop.iso 
:  debian-live-7.8.0-i386-lxde-desktop.iso 
;  debian-live-7.8.0-i386-rescue.iso 
;  debian-live-7.8.0-i386-standard.iso
;  debian-live-7.8.0-i386-xfce-desktop.iso
;-Require:
;  \NWA_PXE\ offered as MS share NWA_PXE_SHARE user=serva password=avres
;-Notes:
;  For 8.0: 
; Get INITRD_N10.2.GZ from www.vercot.com/~serva/download/INITRD_N10.2.GZ (762 Kb) ; For 7.8 ; Get INITRD_N10.1.GZ from www.vercot.com/~serva/download/INITRD_N10.1.GZ (540 Kb) ; Use alternative append line ; For i386 rename: ; \live\vmlinuz1 (486) or \live\vmlinuz2 (686-pae) to \live\vmlinuz ; \live\initrd1 (486) or \live\initrd2 (686-pae) to \live\initrd ; When using Serva as proxyDHCP the external DHCP server must be able to answer ; to BOOTP requests; if it fails try replacing ipby=bootp by ipby=dhcp
[PXESERVA_MENU_ENTRY] asset = Debian 8.0 Live platform = amd64 kernel = /NWA_PXE/$HEAD_DIR$/live/vmlinuz append = initrd=/NWA_PXE/$HEAD_DIR$/live/initrd.img,/NWA_PXE/$HEAD_DIR$/live/INITRD_N10.2.GZ boot=live netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ ipby=dhcp NFSOPTS=-ouser=serva,pass=avres,sec=ntlmssp,ro config ro ;append = initrd=/NWA_PXE/$HEAD_DIR$/live/initrd.img,/NWA_PXE/$HEAD_DIR$/live/INITRD_N10.1.GZ boot=live netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ ipby=dhcp NFSOPTS=-ouser=serva,pass=avres,sec=ntlmssp,ro config ro

Debian 8.0/7.8 Live requires an MS share NWA_PXE_SHARE user=serva password=avres.
Debian 8.0 Live requires a complementary initial ram disk INITRD_N10.2.GZ (762 Kb) providing additional drivers and a customized init script.
Debian 7.8 Live requires a complementary initial ram disk INITRD_N10.1.GZ (540 Kb) providing additional drivers and a customized init script.
When installing i386 ISOs please rename:
\live\vmlinuz1 (586/486) or \live\vmlinuz2 (686-pae) to \live\vmlinuz
\live\initrd1 (586/486) or \live\initrd2 (686-pae) to \live\initrd
When using Serva as proxyDHCP the external DHCP server must be able to answer to BOOTP requests; if it fails try replacing ipby=bootp by ipby=dhcp.


3.11.2 Debian 8 (jessie), 7 (wheezy) Network Install (requires Internet)

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Debian  8 (jessie) 7 (wheezy) Network Install (requieres Internet)
;-Tested on:
;  netboot.tar.gz (amd64)
;    http://ftp.debian.org/debian/dists/jessie/main/installer-amd64/current/images/netboot/netboot.tar.gz
;    http://ftp.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/netboot.tar.gz
;  netboot.tar.gz (i386)
;    http://ftp.debian.org/debian/dists/jessie/main/installer-i386/current/images/netboot/netboot.tar.gz
;    http://ftp.debian.org/debian/dists/wheezy/main/installer-i386/current/images/netboot/netboot.tar.gz
;-Require:
;  Internet access
;-Notes:
; -
[PXESERVA_MENU_ENTRY]
asset    = Debian 8 Netboot
platform = amd64
kernel   = /NWA_PXE/$HEAD_DIR$/debian-installer/amd64/linux
append   = initrd=/NWA_PXE/$HEAD_DIR$/debian-installer/amd64/initrd.gz priority=low vga=788
;platform = i386
;kernel   = NWA_PXE/$HEAD_DIR$/debian-installer/i386/linux
;append   = initrd=NWA_PXE/$HEAD_DIR$/debian-installer/i386/initrd.gz priority=low vga=788
        

Debian 8/7 Netboot requires netboot.tar.gz content extracted under the corresponding head directory.
Debian 8/7 Netboot requires Internet access for component download from Debian repositories.


3.11.3 Debian 8 (jessie) DVD/CD

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Debian 8 (jessie) DVD/CD (does not require Internet)
;-Tested on:
;  debian-8.0.0-amd64-DVD-1.iso
;
;  debian-8.0.0-amd64-CD-1.iso   
;  debian-8.0.0-amd64-kde-CD-1.iso
;  debian-8.0.0-amd64-lxde-CD-1.iso
;  debian-8.0.0-amd64-xfce-CD-1.iso
;
;  debian-8.0.0-i386-DVD-1.iso
;
;  debian-8.0.0-i386-CD-1.iso   
;  debian-8.0.0-i386-kde-CD-1.iso
;  debian-8.0.0-i386-lxde-CD-1.iso
;  debian-8.0.0-i386-xfce-CD-1.iso
;-Require:
;  \NWA_PXE\ offered as as HTTP root
;-Notes:
;  Get netboot.tar.gz
;  (amd64)
;    http://ftp.debian.org/debian/dists/jessie/main/installer-amd64/current/images/netboot/netboot.tar.gz
;  (i386)
;    http://ftp.debian.org/debian/dists/jessie/main/installer-i386/current/images/netboot/netboot.tar.gz
;  From netboot.tar.gz copy the /debian-installer directory with its content under the asset head directory
[PXESERVA_MENU_ENTRY]
asset    = Debian 8.0 DVD/CD
platform = amd64
kernel   = /NWA_PXE/$HEAD_DIR$/debian-installer/amd64/linux
append   = initrd=/NWA_PXE/$HEAD_DIR$/debian-installer/amd64/initrd.gz vga=788 mirror/country=manual mirror/http/hostname=$IP_BSRV$ mirror/http/directory=/$HEAD_DIR$ mirror/http/proxy="" debian-installer/allow_unauthenticated=true
;platform = i386
;kernel   = /NWA_PXE/$HEAD_DIR$/debian-installer/i386/linux
;append   = initrd=/NWA_PXE/$HEAD_DIR$/debian-installer/i386/initrd.gz vga=788 mirror/country=manual mirror/http/hostname=$IP_BSRV$ mirror/http/directory=/$HEAD_DIR$ mirror/http/proxy="" debian-installer/allow_unauthenticated=true        

Debian 8.0 DVD/CD requires \NWA_PXE\ offered as HTTP root.
Debian 8.0 DVD/CD requires components from netboot.tar.gz
(amd64)
http://ftp.debian.org/debian/dists/jessie/main/installer-amd64/current/images/netboot/netboot.tar.gz
(i386)
http://ftp.debian.org/debian/dists/jessie/main/installer-i386/current/images/netboot/netboot.tar.gz
From netboot.tar.gz copy the /debian-installer directory with its content under the asset head directory

 

3.12 Kali

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Kali Linux Live
;-Tested on:
;  kali-linux-1.1.0a-amd64.iso
;  kali-linux-1.1.0a-i386.iso
;-Require:
;  \NWA_PXE\ offered as MS share NWA_PXE_SHARE user=serva password=avres
;-Notes:
;  Get INITRD_N14.1.GZ from www.vercot.com/~serva/download/INITRD_N14.1.GZ (586 Kb)
;  When using Serva as proxyDHCP the external DHCP server must be able to answer 
;   to BOOTP requests; if it fails try replacing ipby=bootp by ipby=dhcp
;  Kali boots with Internet access disabled by default;  
;  Default login   user= root   password= toor
[PXESERVA_MENU_ENTRY]
asset    = Kali 1.1.0a Live
platform = amd64
kernel   = /NWA_PXE/$HEAD_DIR$/live/vmlinuz
append   = initrd=/NWA_PXE/$HEAD_DIR$/live/initrd.img,/NWA_PXE/$HEAD_DIR$/live/INITRD_N14.1.GZ boot=live netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ ipby=bootp NFSOPTS=-ouser=serva,pass=avres,ro config ro
        

Kali 1.1.0a Live requires an MS share NWA_PXE_SHARE user=serva password=avres.
Kali 1.1.0.a Live requires a complementary initial ram disk INITRD_N14.1.GZ (586 Kb) providing additional drivers and a customized init script.
When using Serva as proxyDHCP the external DHCP server must be able to answer to BOOTP requests; if it fails try replacing ipby=bootp by ipby=dhcp.

 

3.13 Snowlinux

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Snowlinux 4 Glacier Live
;-Tested on:
;  snowlinux-4-glacier-i386.iso
;  snowlinux-4-glacier-amd64.iso
;-Require:
;  \NWA_PXE\ offered as MS share NWA_PXE_SHARE user=serva password=avres
;-Notes:
;  Get INITRD_N05.GZ from www.vercot.com/~serva/download/INITRD_N05.GZ (424 Kb)
;  When using Serva as proxyDHCP the external DHCP server must be able to answer 
;   to BOOTP requests; if it fails try replacing ipby=bootp by ipby=dhcp
[PXESERVA_MENU_ENTRY]
asset    = Snowlinux 4 Glacier Live
platform = i386
kernel   = NWA_PXE/$HEAD_DIR$/live/vmlinuz2
append   = initrd=NWA_PXE/$HEAD_DIR$/live/initrd2.img,NWA_PXE/$HEAD_DIR$/live/INITRD_N05.GZ boot=live netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ ipby=bootp NFSOPTS=-ouser=serva,pass=avres,ro  ro

Snowlinux 4 Glacier Live requires an MS share NWA_PXE_SHARE user=serva password=avres.
Snowlinux 4 Glacier Live requires a complementary initial ram disk INITRD_N05.GZ (424 Kb) providing additional drivers and a customized init script.
When using Serva as proxyDHCP the external DHCP server must be able to answer to BOOTP requests; if it fails try replacing ipby=bootp by ipby=dhcp.

 

3.14 Arch Linux

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Arch Linux 
;-Tested on:
; archlinux-2015.04.01-dual.iso ; archlinux-2014.06.01-dual.iso ;-Require: ; Get INITRD_N17.IMG from www.vercot.com/~serva/download/INITRD_N17.IMG (71 Kb) ; \NWA_PXE\ offered as HTTP root ;-Notes: ; Alternate set of parameters for i686
[PXESERVA_MENU_ENTRY] asset = Arch Linux platform = x86_64 kernel = NWA_PXE/$HEAD_DIR$/arch/boot/x86_64/vmlinuz append = initrd=NWA_PXE/$HEAD_DIR$/arch/boot/x86_64/archiso.img,NWA_PXE/$HEAD_DIR$/arch/boot/x86_64/INITRD_N17.IMG archiso_http_srv=http://$IP_BSRV$ archisobasedir=/$HEAD_DIR$/arch ip=dhcp checksum=y ; platform = i686 ; kernel = NWA_PXE/$HEAD_DIR$/arch/boot/i686/vmlinuz ; append = initrd=NWA_PXE/$HEAD_DIR$/arch/boot/i686/archiso.img,NWA_PXE/$HEAD_DIR$/arch/boot/i686/INITRD_N17.IMG archiso_http_srv=http://$IP_BSRV$ archisobasedir=/$HEAD_DIR$/arch ip=dhcp checksum=y

Arch Linux requires Serva's HTTP server offering \NWA_PXE\ as root.
Arch Linux requires a complementary initial ram disk INITRD_N17.IMG (71 Kb) providing fixed components and a customized init script.

 

3.15 Zorin OS

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Zorin OS 9 Live
;-Tested on:
;  zorin-os-9.1-core-64.iso
;  zorin-os-9.1-core-32.iso
;
;  zorin-os-9-core-64.iso
;  zorin-os-9-educational-64.iso
;  zorin-os-9-lite-64.iso
;  zorin-os-9-edu-lite-64.iso
;  zorin-os-9-core-32.iso
;  zorin-os-9-educational-32.iso
;  zorin-os-9-lite-32.iso
;  zorin-os-9-edu-lite-32.iso
;-Require:
;  \NWA_PXE\ offered as MS share NWA_PXE_SHARE user=serva password=avres
;  zorin-os-9.x-yyy-64.iso requires renaming \casper\vmlinuz.efi to \casper\vmlinuz
;-Notes:
;  Get INITRD_N11.GZ from www.vercot.com/~serva/download/INITRD_N11.GZ (95 Kb)
;  When using Serva as proxyDHCP the external DHCP server must be able to answer 
;   to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp
[PXESERVA_MENU_ENTRY]
asset    = Zorin 9.1 Live
platform = 64
kernel   = NWA_PXE/$HEAD_DIR$/casper/vmlinuz
append   = showmounts toram root=/dev/cifs initrd=NWA_PXE/$HEAD_DIR$/casper/initrd.lz,NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,ro ip=bootp ro

Zorin OS 9 Live requires an MS share NWA_PXE_SHARE user=serva password=avres.
Zorin OS 9 Live requires a complementary initial ram disk INITRD_N11.GZ (95 Kb) a customized init script.
zorin-os-9.x-yyy-64.iso requires renaming \casper\vmlinuz.efi to \casper\vmlinuz
When using Serva as proxyDHCP the external DHCP server must be able to answer to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp.

 

3.16 Puppy Linux

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Puppy Linux 
;-Tested on:
;  lupu-528.005.iso
;-Require:
;  \NWA_PXE\ offered as HTTP root
;-Notes:
;  Get INITRD_N01.1.GZ from www.vercot.com/~serva/download/INITRD_N01.1.GZ (6.6 Mb) 
[PXESERVA_MENU_ENTRY]
asset    = Puppy Linux (Lucid)
platform = i386
kernel   = /NWA_PXE/$HEAD_DIR$/VMLINUZ
append   = initrd=/NWA_PXE/$HEAD_DIR$/INITRD.GZ,/NWA_PXE/$HEAD_DIR$/INITRD_N01.1.GZ netpath=http://$ip_bsrv$/$HEAD_DIR$/
ipappend = 2

Puppy Linux (Lucid) requires Serva's HTTP server offering \NWA_PXE\ as root.
Puppy Linux (Lucid) PXE boot requires a complementary initial ram disk INITRD_N01.1.GZ (6.6 Mb) providing net drivers and a customized init script handling the network initialization and file retrieve.

 

3.17 Bodhi Linux

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Bodhi Linux 3.0.0 Live
;-Tested on:
;  bodhi-3.0.0-64.iso
;  bodhi-3.0.0-32.iso
;  bodhi-3.0.0-legacy.iso
;-Require:
;  \NWA_PXE\ offered as MS share NWA_PXE_SHARE user=serva password=avres
;  Rename \casper\vmlinuz.efi to \casper\vmlinuz
;-Notes:
;  Get INITRD_N04.2.GZ from www.vercot.com/~serva/download/INITRD_N04.2.GZ (101 Kb)
;  When using Serva as proxyDHCP the external DHCP server must be able to answer 
;   to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp
[PXESERVA_MENU_ENTRY]
asset    = Bodhi 3.0.0 Live
platform = 64
kernel   = /NWA_PXE/$HEAD_DIR$/casper/vmlinuz
append   = showmounts toram root=/dev/cifs initrd=/NWA_PXE/$HEAD_DIR$/casper/initrd.lz,/NWA_PXE/$HEAD_DIR$/casper/INITRD_N04.2.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,ro,sec=ntlmss ip=dhcp ro

Bodhi Linux 3.0.0 Live requires an MS share NWA_PXE_SHARE user=serva password=avres.
Bodhi Linux 3.0.0 Live requires a complementary initial ram disk INITRD_N04.2.GZ (101 Kb) providing additional drivers and a customized init script.
Bodhi Linux 3.0.0 Live requires renaming \casper\vmlinuz.efi to \casper\vmlinuz
When using Serva as proxyDHCP the external DHCP server must be able to answer to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp.

 

3.18 Linux Lite

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Linux Lite Live
;-Tested on:
;  linux-lite-2.4-64bit.iso
;  linux-lite-2.4-32bit.iso
;-Require:
;  \NWA_PXE\ offered as MS share NWA_PXE_SHARE user=serva password=avres
;-Notes:
;  Get INITRD_N11.GZ from www.vercot.com/~serva/download/INITRD_N11.GZ (95 Kb)
;  When using Serva as proxyDHCP the external DHCP server must be able to answer 
;   to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp
[PXESERVA_MENU_ENTRY]
asset    = Linux Lite 2.4 Live
platform = amd64
kernel   = /NWA_PXE/$HEAD_DIR$/casper/vmlinuz
append   = showmounts toram root=/dev/cifs initrd=/NWA_PXE/$HEAD_DIR$/casper/initrd.lz,/NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,ro ip=bootp ro
        

Linux Lite (Beryl) Live requires an MS share NWA_PXE_SHARE user=serva password=avres.
Linux Lite Live requires complementary initial ram disk INITRD_N11.GZ (95 Kb) providing customized init script.
When using Serva as proxyDHCP the external DHCP server must be able to answer to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp.

 

3.19 deepin

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  deepin Live
;-Tested on:
;  deepin_2014.3_amd64.iso
;  deepin_2014.3_i386.iso
;-Require:
;  \NWA_PXE\ offered as MS share NWA_PXE_SHARE user=serva password=avres
;-Notes:
;  Get INITRD_N11.GZ from www.vercot.com/~serva/download/INITRD_N11.GZ (95 Kb)
;  When using Serva as proxyDHCP the external DHCP server must be able to answer 
;   to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp
[PXESERVA_MENU_ENTRY]
asset    = deepin 2014.3 Live
platform = amd64
kernel   = /NWA_PXE/$HEAD_DIR$/casper/vmlinuz
append   = showmounts toram root=/dev/cifs initrd=/NWA_PXE/$HEAD_DIR$/casper/initrd.lz,/NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,ro ip=bootp ro
        

Deepin requires an MS share NWA_PXE_SHARE user=serva password=avres.
Deepin requires complementary initial ram disk INITRD_N11.GZ (95 Kb) providing customized init script.
When using Serva as proxyDHCP the external DHCP server must be able to answer to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp.

 

3.20 CoreOS

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  CoreOS 
;-Tested on:
;  coreos_production_iso_image.iso
;-Require:
;  \NWA_PXE\ offered as HTTP root if cloud-config-url is used
;-Notes:
;
[PXESERVA_MENU_ENTRY]
asset    = CoreOS Live
platform = amd64
kernel   = /NWA_PXE/$HEAD_DIR$/coreos/vmlinuz
append   = initrd=/NWA_PXE/$HEAD_DIR$/coreos/cpio.gz coreos.autologin
;append   = initrd=/NWA_PXE/$HEAD_DIR$/coreos/cpio.gz cloud-config-url=http://$IP_BSRV$/$HEAD_DIR$/pxe-cloud-config.yml    

CoreOS requires Serva's HTTP server offering \NWA_PXE\ as root only if the variable cloud-config-url is used.

 

3.21 Project Atomic

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Project Atomic 
;-Tested on:
;  Fedora-Cloud_Atomic-x86_64-22.iso
;
;  CentOS-Atomic-Host-7.1.2-Installer.iso
;-Require:
;  \NWA_PXE\ offered as HTTP root 
;-Notes:
;
[PXESERVA_MENU_ENTRY]
asset    = Fedora-Cloud-Atomic-22 Install
platform = x86_64
kernel   = /NWA_PXE/$HEAD_DIR$/images/pxeboot/vmlinuz
append   = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img root=live:http://$IP_BSRV$/$HEAD_DIR$/LiveOS/squashfs.img rootfstype=auto ro rd.live.image rhgb rd.luks=0 rd.md=0 rd.dm=0

asset    = Centos-Atomic-Host-7.1.2 Install
platform = x86_64
kernel   = /NWA_PXE/$HEAD_DIR$/images/pxeboot/vmlinuz
append   = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img root=live:http://$IP_BSRV$/$HEAD_DIR$/LiveOS/squashfs.img ksdevice=bootif repo=http://$IP_BSRV$/$HEAD_DIR$/
ipappend = 2

Project Atomic (Fedora/CentOS flavors) requires Serva's HTTP server offering \NWA_PXE\ as root.

 

3.22 Jeoss Linux

Jeoss is a non-PAE i586 server oriented mini distribution.

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Jeoss Linux
;-Tested on:
;  JeOSS-U-LTS-8.04.3-i386.R1.B1.1308385923.iso
;-Require:
;  \NWA_PXE\ offered as HTTP root
;-Notes:
;  -
[PXESERVA_MENU_ENTRY]
asset    = Jeoss 8.04
platform = non-PAE i586
kernel   = pxechain.cbt
append   = ::NWA_PXE/$HEAD_DIR$/install/pxelinux.0

Jeoss Linux requires Serva's HTTP server offering \NWA_PXE\ as root.
The interactive install will ask you for the HTTP server IP and path to Jeoss components; remember at that moment you have to provide a full url i.e.

http://192.168.20.1/head_dir_name 

Jeoss can be installed on head-less systems (no-keyboard/no-monitor) completely controlled by a serial terminal emulator. If you need this feature you can set Serva menu system for simultaneously being displayed through a serial connection by adding

SERIAL 0 115200 0
CONSOLE 1

as the two first lines of Serva's PXE/BINL menu.def. Serva will display a text version of its menu on COM 1 at 115200 bps.

 

3.21 OpenBSD

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  OpenBSD 
;-Tested on:
;  install55.iso    (amd64)
;  install55.iso    (i386)
;-Require:
;  \NWA_PXE\ offered as HTTP root
;  Rename \5.5\amd64\TRANS.TBL to index.txt
;-Notes:
;  Get pxeboot_N07.0 from www.vercot.com/~serva/download/pxeboot_N07.0 (78 KB)
;  Create \5.5\amd64\etc\boot.conf  containing a single line indicating 
;  the booting kernel i.e. "boot bsd.rd" (w/o quotes)
[PXESERVA_MENU_ENTRY]
asset    = OpenBSD 5.5
platform = amd64
kernel   = pxechain.cbt
append   = ::NWA_PXE/$HEAD_DIR$/5.5/amd64/pxeboot_N07.0

OpenBSD requires:

  1. Serva's HTTP server offering \NWA_PXE\ as root.
  2. Renaming \5.2\amd64\TRANS.TBL to \5.2\amd64\index.txt
  3. Custom NBP pxeboot_N07.0 (78 KB).
  4. Creation of \5.2\amd64\etc\boot.conf containing at least a single line indicating the booting kernel i.e. "boot bsd.rd" (w/o quotes)


OpenBSD amd64 install step-by-step considering OpenBSD_55_amd64 as head directory:

From Serva repository ( IP 192.168.20.1 ) i.e.

(I)nstall, (U)pgrade, (A)utoinstall or (S)hell? I
Choose your keyboard layout ('?' or 'L' for list) [default]		
System hostname? (short form, e.g. 'foo') foo
Available network interfaces are: vic0 vlan0.
Which network interface do you wish to configure? (or 'done') [vic0]	
IPv4 address for vic0? (or 'dhcp' or 'none') [dhcp]
IPv6 address for vic0? (or 'rtsol' or 'none') [none]
Available network interfaces are: vic0 vlan0.
Which network interface do you wish to configure? (or 'done') [done]
Password for root account? (will not echo) ****
Password for root account? (again) ****
Start sshd(8) by default? [yes]
Start ntpd(8) by default? [no]
Do you expect to run the X Window System? [yes]
Do you want the X Window System to be started by xdm(1)? [no]
Change the default console to com0? [no]
Setup a user? (enter a lower-case loginname, or 'no') [no]
What timezone are you in? ('?' for list) [Europe/London]
Available disks are: sd0.
Which disk is the root disk? ('?' for details) [sd0]
Use DUIDs rather than device names in fstab? [yes]
Use (W)hole disk, use the (O)penBSD area, or (E)dit the MBR? [Whole]
Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout? [a]

Let's install the sets!
Location of sets? (cd disk ftp http or 'done') [http]
HTTP/FTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none]
Server? (hostname, list#, 'done' or '?') [mirror.codigo23.net] 192.168.20.1
Server directory? [pub/OpenBSD/5.5/i386] OpenBSD_55_amd64/5.5/amd64
Select sets by entering a setname ... 
                                  ... [done]
Directory does not contain SHA256.sig. Continue without verification? [no] yes
Installing ...
Installing ...
...
Location of sets? (cd disk ftp http or 'done') [done]
CONGRATULATIONS! your OpenBSD install has been successfully completed!
To boot the new system, enter 'reboot' at the command prompt.

From Internet i.e.

...
Server? (hostname, list#, 'done' or '?') [mirror.codigo23.net] mirror.ox.ac.uk
Server directory? [pub/OpenBSD/5.5/amd64]
...

 

3.22 Android-x86

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Android-x86 
;-Tested on:
;  android-x86-4.4-r2.iso
;-Require:
;  \NWA_PXE\ offered as HTTP root
;-Notes:
;  Get INITRD_N016.2.1.GZ from www.vercot.com/~serva/download/INITRD_N16.2.1.GZ (8.7 Mb)
;  For testing available video modes add "vga=ask" to the append line
;  If installing in VMware add an IDE disk
[PXESERVA_MENU_ENTRY]
asset    = Android-x86 Live (4.4-r2)
platform = x86
kernel   = /NWA_PXE/$HEAD_DIR$/kernel
append   = initrd=/NWA_PXE/$HEAD_DIR$/initrd.img,/NWA_PXE/$HEAD_DIR$/INITRD_N16.2.1.GZ netpath=http://$ip_bsrv$/$HEAD_DIR$/ root=/dev/ram0 androidboot.hardware=android_x86 video=-16  SRC= DATA=
; Debug   > append   = initrd=/NWA_PXE/$HEAD_DIR$/initrd.img,/NWA_PXE/$HEAD_DIR$/INITRD_N16.2.1.GZ netpath=http://$ip_bsrv$/$HEAD_DIR$/ root=/dev/ram0 androidboot.hardware=android_x86 video=-16 DEBUG=2  SRC= DATA=
; VESA    > append   = initrd=/NWA_PXE/$HEAD_DIR$/initrd.img,/NWA_PXE/$HEAD_DIR$/INITRD_N16.2.1.GZ netpath=http://$ip_bsrv$/$HEAD_DIR$/ root=/dev/ram0 androidboot.hardware=android_x86 video=-16 nomodeset vga=788 SRC= DATA=
; INSTALL > append   = initrd=/NWA_PXE/$HEAD_DIR$/initrd.img,/NWA_PXE/$HEAD_DIR$/INITRD_N16.2.1.GZ netpath=http://$ip_bsrv$/$HEAD_DIR$/ root=/dev/ram0 androidboot.hardware=android_x86 video=-16 INSTALL=1 DEBUG=
ipappend = 2
        

Android-x86 requires Serva's HTTP server offering \NWA_PXE\ as root.
Android-x86 PXE boot requires a complementary initial ram disk INITRD_N16.2.1.GZ (8.7 Mb) providing net drivers and a customized init script handling the network initialization and file retrieve.
For testing available video modes add vga=ask to the append line. After finding a suitable video mode you can permantelly add it to the append line i.e. vga=745.
If installing in VMware add an IDE disk.

 

4 Installing Native Hypervisors

4.1 VMware VMvisor

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  VMware VMvisor
;-Tested on:
;  VMware-VMvisor-Installer-6.0.0-2494585.x86_64.iso
;  VMware-VMvisor-Installer-5.5.0.update01-1623387.x86_64.iso
;  VMware-VMvisor-Installer-5.1.0-799733.x86_64.iso
;  VMware-VMvisor-Installer-4.0.0-164009.x86_64.iso
;-Require:
;  6.x/5.x
;   Edit BOOT.CFG deleting all the "/" from variables "kernel" and "module"
;  4.x
;   Use alternative append
;-Notes:
;  -
[PXESERVA_MENU_ENTRY]
asset    = VMware ESXi-6.0.0
platform = x86_64
kernel   = /NWA_PXE/$HEAD_DIR$/mboot.c32
append   = -c /NWA_PXE/$HEAD_DIR$/BOOT.CFG
;append   = /NWA_PXE/$HEAD_DIR$/vmkboot.gz --- /NWA_PXE/$HEAD_DIR$/vmkernel.gz --- /NWA_PXE/$HEAD_DIR$/sys.vgz --- /NWA_PXE/$HEAD_DIR$/cim.vgz --- /NWA_PXE/$HEAD_DIR$/ienviron.tgz --- /NWA_PXE/$HEAD_DIR$/image.tgz --- /NWA_PXE/$HEAD_DIR$/install.tgz
ipappend = 2

VMware VMvisor requires:
5.x: Editing BOOT.CFG deleting all the "/" from variables "kernel" and "module".
4.x: Use alternative append

 

4.2 Citrix XenServer & XenClient

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Citrix XenServer
;-Tested on:
;  XenServer-6.5-install-cd.iso
;  XenServer-6.2-install-cd.iso
;  XenServer-6.1-install-cd.iso
;-Require:
;  \NWA_PXE\ offered as HTTP root
;-Notes:
;  1-Alternative append considers answer file unattend.xml within head directory.
;  2-Muli-homed systems should add answerfile_device=ethX or answerfile_device=MAC 
;    specifying either the ethernet device number or the MAC address of the device.
[PXESERVA_MENU_ENTRY]
asset    = XenServer 6.5
platform = x86
kernel   = mboot.c32
append   = /NWA_PXE/$HEAD_DIR$/boot/xen.gz dom0_max_vcpus=1-2 dom0_mem=752M,max:752M com1=115200,8n1 console=com1,vga --- /NWA_PXE/$HEAD_DIR$/boot/vmlinuz xencons=hvc console=hvc0 console=tty0 --- /NWA_PXE/$HEAD_DIR$/install.img
;append   = /NWA_PXE/$HEAD_DIR$/boot/xen.gz dom0_max_vcpus=1-2 dom0_mem=752M,max:752M com1=115200,8n1 console=com1,vga --- /NWA_PXE/$HEAD_DIR$/boot/vmlinuz xencons=hvc console=hvc0 console=tty0 answerfile=http://$IP_BSRV$/$HEAD_DIR$/unattend.xml install --- /NWA_PXE/$HEAD_DIR$/install.img
        

Citrix XenServer requires Serva's HTTP server offering \NWA_PXE\ as root.
The interactive install will ask you for the HTTP server IP and path to XenServer components; remember at that time you have to provide a full url i.e.

http://192.168.20.1/head_dir_name 

Citrix XenServer can be installed on head-less systems (no-keyboard/no-monitor) completely controlled by a serial terminal emulator. If you need this feature you can set Serva menu system for simultaneously being displayed through a serial connection by adding

SERIAL 0 115200 0
CONSOLE 1

as the two first lines of Serva's PXE/BINL menu.def. Serva will display a text version of its menu on COM 1 at 115200 bps.

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Citrix XenClient Enterprise Engine Installer 
;-Tested on:
;  XCE-Installer.iso	(v5.1.3)
;-Require:
;  \NWA_PXE\ offered as HTTP root
;-Notes:
;  Copy XCE-Installer.iso under the head directory
;  Copy client.ini under the head directory 
;  Copy the \boot directory from XCE-Installer.iso under the head directory
[PXESERVA_MENU_ENTRY]
asset    = XCE-Installer
platform = x86
kernel   = mboot.c32
append   = /NWA_PXE/$HEAD_DIR$/boot/xen.gz dom0_mem=2048M --- /NWA_PXE/$HEAD_DIR$/boot/vmlinuz boot=casper webboot=http://$IP_BSRV$/$HEAD_DIR$/xenclientengine.iso ro quiet console=tty0 vc_config=http://$IP_BSRV$/$HEAD_DIR$/client.ini --- /NWA_PXE/$HEAD_DIR$/boot/initrd.img ---
        

Citrix XenClient Enterprise Engine Installer requires Serva's HTTP server offering \NWA_PXE\ as root.
Copy the XCE-Installer.iso under the head directory.
Copy client.ini under the head directory.
Copy the \boot directory from the XCE-Installer.iso under the head directory.

 

5 Booting Recovery and Backup Tools

Notes
  1. Please consider when the memdisk technique is used here it is only suitable for PXE booting small ISOs and requires the Client's RAM memory > than 2.2 times the ISO file size
  2. If you use Enforced Windowed TFTP, avoid window-size higher than 4.

5.1 Hiren's Boot CD

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Hiren's
;-Tested on:
;  Hiren's.BootCD.15.2.iso
;  Hiren's.BootCD.Pro.2.3.iso
;-Require:
;  -
;-Notes:
;  Client's memory must be > 2.2 * ISO size
[PXESERVA_MENU_ENTRY]
asset    = Hirens Boot CD 15.2
platform = x86
kernel   = memdisk
append   = iso initrd=\NWA_PXE\$HEAD_DIR$\Hiren's.BootCD.15.2.iso raw

Hiren's requires its ISO directly copied under the corresponding head directory.

 

5.2 Trinity Rescue Kit

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Trinity Rescue Kit
;-Tested on:
;  trinity-rescue-kit.3.4-build-372.iso
;-Require:
;  \NWA_PXE\ offered as HTTP root
;  Get initrd_N08.trk from www.vercot.com/~serva/download/initrd_N08.trk (11 MB)
;-Notes:
;  1) Extracting TRK’s ISO fails with daemon-tools and 7s; try MagicIso instead
;  2) Alternative append considers HTTP custom port 81
[PXESERVA_MENU_ENTRY]
asset    = TRK
platform = x86
kernel   = /NWA_PXE/$HEAD_DIR$/kernel.trk
append   = initrd=/NWA_PXE/$HEAD_DIR$/initrd_N08.trk trkhttp=http://$IP_BSRV$/$HEAD_DIR$/trk3/trkramfs root=/dev/ram0 ramdisk_size=180000 vga=788 trkmenu  ip=::::::dhcp splash=verbose pci=conf1
;append   = initrd=/NWA_PXE/$HEAD_DIR$/initrd_N08.trk trkhttp=http://$IP_BSRV$:81/$HEAD_DIR$/trk3/trkramfs root=/dev/ram0 ramdisk_size=180000 vga=788 trkmenu  ip=::::::dhcp splash=verbose pci=conf1

TRK requires:

  1. Serva's HTTP server offering \NWA_PXE\ as root.
  2. Custom initrd initrd_N08.trk (11 MB).

 

5.3 BartPE Boot CD

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  BartPE Boot CD
;-Tested on:
;  BartPE.iso
;-Require:
;  -
;-Notes:
;  Client's memory must be > 2.2 * ISO size
[PXESERVA_MENU_ENTRY]
asset    = BartPE Boot CD
platform = x86
kernel   = memdisk
append   = iso initrd=\NWA_PXE\$HEAD_DIR$\BartPE.iso raw

BartPE Boot CD requires its ISO directly copied under the corresponding head directory.

 

5.4 GParted

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  GParted
;-Tested on:
;  gparted-live-0.14.1-6-i486.iso
;-Require:
;  \NWA_PXE\ offered as HTTP root
;-Notes:
;  -
[PXESERVA_MENU_ENTRY]
asset    = GParted Live
platform = x86
kernel   = /NWA_PXE/$HEAD_DIR$/live/vmlinuz
append   = initrd=/NWA_PXE/$HEAD_DIR$/live/initrd.img boot=live config union=aufs noswap noprompt vga=788 fetch=http://$IP_BSRV$/$HEAD_DIR$/live/filesystem.squashfs

GParted requires Serva's HTTP server offering \NWA_PXE\ as root.

 

5.5 PartedMagic

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  PartedMagic
;-Tested on:
;  pmagic_2015_05_04.iso
;-Require:
;  \NWA_PXE\ offered as HTTP root
;-Notes:
;  Get INITRD_N18.GZ from www.vercot.com/~serva/download/INITRD_N18.GZ (5.7 Kb)
[PXESERVA_MENU_ENTRY]
asset    = PartedMAgic Live
platform = x64
kernel   = /NWA_PXE/$HEAD_DIR$/pmagic/bzImage64
append   = version=2015_05_04 initrd=/NWA_PXE/$HEAD_DIR$/pmagic/initrd.img,/NWA_PXE/$HEAD_DIR$/pmagic/fu.img,/NWA_PXE/$HEAD_DIR$/pmagic/m64.img,/NWA_PXE/$HEAD_DIR$/pmagic/INITRD_N18.GZ netpath=http://$IP_BSRV$/$HEAD_DIR$ edd=on vga=normal
; platform = x32
; kernel   = /NWA_PXE/$HEAD_DIR$/pmagic/bzImage
; append   = version=2015_05_04 initrd=/NWA_PXE/$HEAD_DIR$/pmagic/initrd.img,/NWA_PXE/$HEAD_DIR$/pmagic/fu.img,/NWA_PXE/$HEAD_DIR$/pmagic/m32.img,/NWA_PXE/$HEAD_DIR$/pmagic/INITRD_N18.GZ netpath=http://$IP_BSRV$/$HEAD_DIR$ edd=on vga=normal
ipappend = 2

PartedMagic requires Serva's HTTP server offering \NWA_PXE\ as root.
PartedMagic requires complementary initial ram disk INITRD_N18.GZ (5.7 Kb) providing customized init script.

 

5.6 Redo Backup & Recovery

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Redo Backup & Recovery 
;-Tested on:
;  redobackup-livecd-1.0.4.iso
;
;-Require:
;  \NWA_PXE\ offered as HTTP root
;-Notes:
;  Get INITRD_N19.GZ from www.vercot.com/~serva/download/INITRD_N19.GZ (1.2 Mb) 
[PXESERVA_MENU_ENTRY]
asset    = Redo Backup & Recovery 1.04
platform = i386
kernel   = /NWA_PXE/$HEAD_DIR$/casper/vmlinuz
append   = showmounts toram initrd=/NWA_PXE/$HEAD_DIR$/casper/initrd.lz,/NWA_PXE/$HEAD_DIR$/casper/INITRD_N19.GZ boot=casper netboot=http nfsroot=http://$IP_BSRV$/$HEAD_DIR$ ip=dhcp ro
        

Redo Backup & Recovery requires Serva's HTTP server offering \NWA_PXE\ as root.
Redo Backup & Recovery requires complementary initial ram disk INITRD_N19.GZ (1.2 Mb) providing customized init script and components.
When using Serva as proxyDHCP the external DHCP server must be able to answer to BOOTP requests; if it fails try replacing ip=bootp by ip=dhcp.

 

6 Firmware Update

6.1 Samsung SSD

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Samsung SSD Firmware Update
;-Tested on:
;  Samsung_SSD_840_PRO_Series_DXM06B0Q_Win_Mac.iso
;  Samsung_SSD_840_EVO_EXT0BB6Q.iso
;-Require:
;  -
;-Notes:
;  -
[PXESERVA_MENU_ENTRY]
asset    = Samsung 840 PRO SSD Firmware Update DXM06B0Q
platform = x86
kernel   = memdisk
append   = iso initrd=\NWA_PXE\$HEAD_DIR$\Samsung_SSD_840_PRO_Series_DXM06B0Q_Win_Mac.iso raw
        

Samsung SSD Firmware Update requires its ISO directly copied under the corresponding head directory.

 

6.2 Crucial SSD

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  Crucial SSD Firmware Update
;-Tested on:
;  M550_SED_UPDATE_MU02_BOOTABLE.iso
;  crucial-m500.mu05-01-S0-tcg.iso
;-Require:
;  -
;-Notes:
;  -
[PXESERVA_MENU_ENTRY]
asset    = Crucial M550 SSD Firmware Update MU02
platform = x86
kernel   = memdisk
append   = iso initrd=\NWA_PXE\$HEAD_DIR$\M550_SED_UPDATE_MU02_BOOTABLE.iso raw
        

Crucial SSD Firmware Update requires its ISO directly copied under the corresponding head directory.

 

7 Booting DOS/FreeDOS (BIOS upgrade)

;-Serva v2.1 Non-Windows Asset Information File 
;-Boot/Install:
;  FreeDOS 1.0/1.1
;-Tested on:
;  fdboot.img
;-Require:
;  -
;-Notes:
;  -
[PXESERVA_MENU_ENTRY]
asset    = FreeDOS 1.0
platform = x86
kernel   = memdisk
append   = initrd=NWA_PXE\$HEAD_DIR$\fdboot.img

DOS/FreeDOS requires its IMG file directly copied under the corresponding head directory.
DOS/FreeDOS images can be easily customized including i.e. BIOS upgrade executables.

On Linux environments i.e.

# mount -o loop ./fdboot.img /mnt 
...do the changes on the image
# umount /mnt

On Windows environments by using i.e. WinImage.

 

8 Advanced

On Serva PXE/BINL - AN02: Windows Install Adv & WinPE Boot we have seen how Serva's repository strategy can be split when booting from Serva other repositories like WDS/MDT/SCCM, etc. In those cases Serva TFTP delivers only a Boot.wim that contains the information to boot and connect to the services/resources offered by WDS/MDT/SCCM own stores.
In the Linux world something very similar happens. Initially Serva TFTP delivers a small Linux executive made of a kernel file and a small file system (ram disk image) usually compressed into a single file. When booting, this executive receives as command line parameters the transfer protocol and the network location of the repository offering the bulk of the boot/install components. The difference between Microsoft and Linux strategies at this point shows how Microsoft today relies on an image based deployment (i.e. Install.wim) while Linux still uses the conventional multi-file transfer approach.
So far all the presented Linux ServaAsset.inf files on this AN give instructions to the booting kernel for retrieving the rest of files using HTTP or MS share services pointing back to Serva itself. You can easily change this making the kernel to look for the required resources in some other HTTP, NFS, FTP server etc. (including Internet hosted servers). Always remember on these situations Serva repository will still need to keep under its control the corresponding initially TFTP transferred components of the installation.

 

9 Troubleshooting

9.1 Common errors when creating your ServaAsset.inf:

9.1.1 Variables kernel and append use paths to network retrieved resources. Making mistakes when writing these paths is a very common source of frustration. If you ever get a path that looks like i.e.

kernel   = C:/SERVA_ROOT/NWA_PXE/$HEAD_DIR$/images/pxeboot/vmlinuz

you know you are in trouble; the kernel vmlinuz is a file that will always be delivered by TFTP then its path cannot ever begin with "C:". Any time you see a local disk reference on the path of a network transferred resource you surely made a mistake.
Whenever you write a path start thinking of the protocol that will transfer the associated resource (TFTP, HTTP, FTP, CIFS, etc ) and then consider where is the corresponding service root directory pointing at. Surely this way you will make fewer mistakes.

9.1.2 Please consider there are situations where these two paths could produce different results

 /NWA_PXE/$HEAD_DIR$/zzzz/xxxx.yyy
NWA_PXE/$HEAD_DIR$/zzzz/xxxx.yyy

While the first one makes an absolute reference to the TFTP root the second one makes a relative reference. This is a common mistake when chain-loading NBPs (Network Boot Programs).

9.1.3 Please consider (specially if you have no much Linux experience) there are situations where one of these two paths could lead to an error.

 NWA_PXE\$HEAD_DIR$\zzzz\xxxx.yyy

 NWA_PXE/$HEAD_DIR$/zzzz/xxxx.yyy

While the first one is the typical "MS Windows" form of a path the second one is the typical "Unix/Linux" form of a path. Please consider not every piece of code out there is able to handle both forms.

9.1.4 Multi-homed Linux (and derivatives) booting interface.
Multi-homed Linux system are known for sometimes presenting problems on PXE scenarios when choosing the booting network interface. A ServaAsset.inf working on a single-NIC system might fail on a multi-NIC situation. Most Linux distributions have kernel parameters (i.e. netdevice=bootif) or pxelinux parameters (i.e. ipappend = 2) that help in solving this problem.

9.2 Linux aborted installs because of failed HTTP transfers.
Please see point 2.5

 

10 Final words

Serva PXE/BINL non-Windows Boot/Install was basically designed as a simple alternative to the conventional Linux based PXE install systems. Users from the MS Windows world sure will find fewer obstacles now when venturing themselves into the non-Windows net boot/install arena.

If you find Serva useful please consider contributing to the project by purchasing Serva's "Supporter" build. Supporter builds make possible Serva's maintenance and future development..

Serva bugs, comments, or ideas on how to improve the information contained in this document please contact me here.

Updated 06/02/2015
Originally published 02/01/2013