본문 바로가기

카테고리 없음

Pxelinux Cfg Serial Console For Mac

The Syslinux configuration file, syslinux.cfg. We also created the pxelinux.cfg directory, which is where PXELINUX searches for configuration files by default. Serial console. This article or section is a candidate for merging with Working with the serial console.

4.1 PXE Overview The Preboot Execution Environment (PXE) is a method of network booting blade and cluster systems. It is the core technology for Intel's Wired for Management (WfM) initiative and is supported by most commercial network interfaces. You can install a blade operating system image with minimal effort from a central location by using PXE. To install Linux onto a server blade using PXE you will need the following:. A PXE boot server machine. This machine must be running one of the following operating systems:.

Red Hat Enterprise Linux, Advanced Server 2.1 update 2. Red Hat Enterprise Linux, version 3.0. SuSE Linux Enterprise Server 8, service pack 3. Solaris, version 9 or later. A server blade (without the operating system installed). The Sun Fire B1600 Platform Documentation, Drivers, and Installation CD supplied by Sun with the server blade. Installation CDs for the version of Linux you are installing.

  • Booting CoreOS Container Linux via PXE. Setting up pxelinux.cfg. For any console that doesn't normally get a login prompt by default be sure to combine with the console option, e.g. Console=tty0 console=ttyS0 coreos.autologin=tty1 coreos.autologin=ttyS0. Without any argument it enables access on all consoles.
  • Network Booting (iPXE) Reply. On a side note, I got the serial console working so I decided to just move on and see if I can just get anything working on that side. Basically I connected the Rxd, Txd and gnd pins of the TX1 to a usb slot of another TX1. Pxelinux.cfg/00000000 No ethernet found.

You can install one of the following:. Red Hat Enterprise Linux, Advanced Server 2.1 update 2. Red Hat Enterprise Linux, version 3.0. SuSE Linux Enterprise Server 8, service pack 3 Note - For information on troubleshooting the PXE boot installation see. Note - If you install a new Linux kernel after the PXE boot installation, you will need to manually install the Linux drivers.

For more information, see. 4.1.1 PXE Protocols PXE comprises three distinct network protocols:. Dynamic Host Configuration Protocol (DHCP).

Trivial File Transfer Protocol (TFTP). Network File System (NFS) These protocols allow delivery of system configuration information in addition to system software for blades.

See for further details. TABLE 4-1 Network Protocols Used by the Preboot Execution Environment (PXE) Protocol Definition DHCP Dynamic Host Configuration Protocol (DHCP) defines a method for delivery of network configuration information to client nodes. This configuration information often includes basic information needed for Internet access, such as the client IP address and netmask. However, RFC1533 defines many advanced DHCP options, which can include packet filter rules and other more obscure networking parameters. In addition, software vendors may extend the protocol by defining their own DHCP options. PXE solutions use DHCP to deliver initial network configuration options to client nodes.

TFTP Trivial File Transfer Protocol (TFTP) defines a simple UDP protocol for delivering files over a network. PXE solutions can deliver kernels and initial bootstrap software to client nodes using TFTP.

NFS Network File System. This protocol was developed by Sun Microsystems and is an industry standard for remote file access across a common network. The PXE standard also specifies a client side BIOS programming interface called UNDI.

This API abstracts ethernet devices to allow x86 based systems to implement simple, network-based bootstrap loaders. Universal Network Driver Interface (UNDI) is a programming API that simplifies network programming. All network interface cards that support PXE network booting can be controlled using the API. This provides the bootstrap mechanism with a universal method for accessing network cards.

4.2 Installing Linux From a Linux PXE Boot Server This section tells you how to install Linux on a B100x or B200x server blade from a PXE boot server running Linux. The PXE boot server must be running one of the following versions of Linux:. Red Hat Enterprise Linux, Advanced Server 2.1 update 2. Red Hat Enterprise Linux, version 3.0. SuSE Linux Enterprise Server 8 service pack 3 Note - IMPORTANT: Before installing Linux, ensure that the boot directory on the PXE server (/ tftp) has enough space to accommodate the version of Linux you are installing. You will require about 6 Gbytes of free space. 4.2.1 Files Relevant to PXE Boot Installation provides a summary of the files required during the PXE boot installation: TABLE 4-2 Summary of Files Relevant to PXE Boot Installation Filename Purpose /etc/exports The NFS server is used by the installation kernel to read the packages necessary to the installation process.

The NFS server needs to provide access to the directory structure containing the required packages. During installation you will update the /etc/exports file to provide access to this directory structure. /tftp//sun/install/ks.cfg or: /tftp/sles-8sp3/sun/install/ autoyast.xml The Red Hat PXE boot installation is controlled by the ks.cfg configuration file. The SuSE PXE boot installation is controlled by the autoyast.xml configuration file. During installation you will update this file to use the correct NFS server address. For more information on the ks.cfg or autoyast.xml file, refer to the documentation supplied by your operating system vendor.

/tftp//sun/pxelinux.cfg/. The /tftp//sun/pxelinux.cfg/. files control where pxelinux.bin finds a kernel to boot from and how it should boot that kernel. The files in this directory are named based on the IP address that should read them. For example, if the client is given an IP address of 9.10.11.12, pxelinux.bin will attempt to download (using TFTP and the PXE NIC support code) the following files in order: pxelinux.cfg/090A0B0C pxelinux.cfg/090A0B0 pxelinux.cfg/090A0B pxelinux.cfg/090A0 pxelinux.cfg/090A pxelinux.cfg/090 pxelinux.cfg/09 pxelinux.cfg/0 pxelinux.cfg/default The first file downloaded successfully is used to select the kernel image and runtime arguments. /etc/xinetd.d/tftp or: /etc/inetd.d/tftp The TFTP server supplies the PXE boot with the stage 1 bootloader image. This image loads the installation kernel that performs the installation on the hard disk.

/etc/dhcpd.conf The DHCP server supplies the PXE boot plug-in with an IP address and TFTP server address, and the stage 1 image boot-loader name to download and execute. Note - The Linux directory name ( Linuxdir ) depends on the version of Linux you are installing. Files for Enterprise Linux Advanced Server 2.1 update 2 are in a directory called as-2.1u2, the files for Enterprise Linux version 3.0 are in a directory called el-3.O, and the files for SuSE Linux Enterprise Server 8 service pack 3 are in a directory called sles-8sp3.

4.2.2 Configuring the PXE Boot Servers Linux is installed on the server blade using the PXE boot system. Three server processes are required to perform the installation:. DHCP. TFTP. NFS This section provides information on how to configure the DHCP, TFTP and NFS servers for use with the PXE boot installation.

Note - This chapter assumes that all server processes are running on the same physical host. 4.2.2.1 Configuring the DHCP Server The DHCP server supplies the PXE boot plug-in with:. IP address. TFTP server address. Stage 1 image boot-loader name from which to download and execute the image. Note - As the supplied PXE installation environments are non-interactive and will unconditionally reinstall a client machine, you might want to have the client associate its MAC address with a specific OS installation before starting the PXE boot.

In other environments, where clients are attached to the network specifically to install one given OS, you might want to have a PXE installation as the default. Use the dhcp package provided with the version of Linux you are installing to provide DHCP services. Update the /etc/dhcpd.conf file: a. Add a subnet section with next-server referring to your TFTP server. Change the filename entry to //sun/pxelinux.bin where is either as-2.1u2, el-3.O, or sles-8sp3, depending on the version of Linux you are installing. Note - You can restrict the use of the filename and next-server directives in the dhcpd.conf file to avoid accidental installations of Linux.

If you are installing Red Hat Enterprise Linux Advanced Server 2.1 update 2, remove the line ddns-update-style none. (This line is required when installing all other versions of Linux). Enable the DHCP server.

For Red Hat, type. /tftp 4.2.3 Installing Linux on a Server Blade from a Linux PXE Boot Server Note - IMPORTANT: Before installing Linux, ensure that the boot directory on the PXE server (/ tftp) has enough space to accommodate the version of Linux you are installing. You will require about 6 Gbytes of free space. Note - The PXE boot server should be running Enterprise Linux version AS 2.1 or EL 3.0, or SuSE Linux Enterprise Server 8, service pack 3. Caution - Installing Linux will overwrite any data already on the destination server blade. If you have configured a firewall, make sure that the TFTP, NFS, and DHCP protocols are not filtered on the server to be used as the PXE boot server.

Alternatively, disable the firewall and prevent it from running on subsequent reboots. To do this, for Red Hat, type. Chkconfig iptables off /etc/init.d/iptables stop Note - These examples assume that you are using iptable firewalls. Iptable firewalls are not installed by default on SuSE. Ensure that the DHCP server, NFS server and TFTP server have been configured correctly. See for more information. Install the PXE images onto the TFTP server: Note - If you are running SuSE on your PXE boot server, replace /mnt/cdrom with /media/cdrom in the instructions below.

For example, mount /mnt/cdrom would be mount /media/cdrom. Copy the required Linux directory from the root of the Sun Fire B1600 Platform Documentation, Drivers, and Installation CD to the /tftp directory on your PXE boot server.

Umask 022 mount /mnt/cdrom cd /mnt/cdrom egrep '^' filenames.txt cpio -pumd /tftp/. Cd / umount /mnt/cdrom where is as-2.1u2, el-3.O or sles-8sp3, depending on the version of Linux you are installing. Note - The Linux directory contains the files required to perform a PXE installation. Install the Linux installation CDs to the /tftp directory on your PXE boot server. For Red Hat, you need to install the CDs in reverse order.

If you have two Red Hat installation CDs, install Disk 2 first; if you have four, install Disk 4 first. After inserting each CD, type the following command. Mount -t nfs -o nolock 172.16.11.8:/tftp/sles-8sp3 $MOUNTPT install: nfs://172.16.11.8/sles-8sp3 172.16.11.8 6. Set your own root password in the Linux configuration file. Note - If you do not change the root password, you will be prompted to enter the root password each time you run a PXE boot installation.

For Red Hat, modify the / tftp//sun/install/ks.cfg file by removing the comment symbol (#) in the rootpw entry and then overwriting changeme with your own password. True /.hz7/JN74p1I root Note - It is only possible to specify passwords for SuSE in an encrypted form. Note - The default password is changeme. Modify the /tftp/ Linuxdir /sun/pxelinux.cfg/default file to include the path to the kernel to be installed, and the location of the PXE server.

The line of the default file containing the IP address of the PXE server and the path to the kernel software is the wrapped line beginning with the word 'kernel' and ending ' /initrd.img'. Serial 0 9600default Enterprise-Linux-3.0 display pxelinux.cfg/bootinfo.txt prompt 1 timeout 50 label Enterprise-Linux-3.0 kernel./images/pxeboot/vmlinuzappend ksdevice=eth 0 console=ttyS0,9600n8 loadramdisk=1 network ks=nfs: 172.16.11.8:/tftp//sun/install/ks.cfg initrd=install/initrd.img where is as-2.1u2 or el-3.O, depending on the version of Red Hat you are installing.

If you are installing SuSE Linux Enterprise Server 8 service pack 3, the Linux directory will be sles-8sp3. Note - By default the PXE device is eth0 ( ksdevice=eth0). This means that the PXE boot is performed via the SSC in slot 0. If you want to PXE boot via SSC 1, you can change this parameter to ksdevice=eth1. Note - The default file is a read-only file. You must change its permissions to read-write before making modifications.

Log into the B1600 System Controller. See the Sun fire B1600 Blade System Chassis Software Setup Guide for further details. Note - The following steps assume that the blade is already installed in the system chassis.

For information on installing blades, see. Boot the blade to begin the PXE boot from the SC prompt. Sc console s n where n is the number of the slot containing the blade. Note - If you are installing SuSE, the system will become idle for about 40 seconds during the boot and subsequent reboots. During this idle time a blank screen is displayed. This behavior is due to an old version of the bootloader that ships with SuSE, and does not indicate that there is a problem with booting the blade.

When the installation is complete the blade automatically reboots. Note - For information on troubleshooting the PXE boot installation see. 4.3 Installing Linux From a Solaris PXE Boot Server This section tells you how to install Linux on a server blade from a PXE boot server running Solaris. Note - IMPORTANT: Before installing Linux, ensure that the boot directory on the PXE server (/ tftpboot) has enough space to accommodate the version of Linux you are installing. You will require about 6 Gbytes of free space.

4.3.1 Files Relevant to PXE Boot Installation A summary of the files required by the Solaris PXE boot server during PXE boot installation and their purpose is provided in. TABLE 4-3 Summary of Files Relevant to PXE Boot Installation Filename Purpose /etc/dfs/dfstab The NFS server is used by the installation kernel to read the packages necessary to the installation process. The NFS server needs to provide access to the directory structure containing the required packages. Prior to installation you will update the /etc/dfs/dfstab file to provide access to this directory structure. /tftpboot/ /sun/ install/ks.cfg or: /tftpboot/sles-8sp3/sun/ install/autoyast.xml The Red Hat PXE boot installation is controlled by the ks.cfg configuration file.

Pxelinux Cfg Serial Console For Mac Download

The SuSE PXE boot installation is controlled by the autoyast.xml file. Prior to installation you will update this file to use the correct NFS server address.

For more information on the configuration file for your version of Linux, refer to your Red Hat or SuSE documentation. /tftpboot/ /sun/ pxelinux.cfg/. The /tftpboot/ /sun/pxelinux.cfg/. files control where pxelinux.bin finds a kernel to boot from and how it should boot that kernel. The files in this directory are named based on the IP address that should read them. For example, if the client is given an IP address of 9.10.11.12, pxelinux.bin will attempt to download (using TFTP and the PXE NIC support code) the following files in order: pxelinux.cfg/090A0B0C pxelinux.cfg/090A0B0 pxelinux.cfg/090A0B pxelinux.cfg/090A0 pxelinux.cfg/090A pxelinux.cfg/090 pxelinux.cfg/09 pxelinux.cfg/0 pxelinux.cfg/default The first file downloaded successfully is used to select the kernel image and runtime arguments. /etc/inet/inetd.conf The TFTP server supplies the PXE boot with the stage 1 bootloader image.

This image loads the installation kernel that performs the installation on the hard disk. The inetd daemon must be configured to run a TFTP daemon. This TFTP daemon supplies the services necessary to download the PXE loader, the linux kernel and the linux initrd image. /var/dhcp/.

The DHCP server supplies the PXE boot plug-in with an IP address and TFTP server address, and the stage 1 image boot-loader name to download and execute. The instructions in this chapter tell you how to modify these files using the DHCP Manager utility. Note - The Linux directory called depends on the version of Linux you are installing.

Files for Enterprise Linux Advanced Server 2.1 update 2 are in a directory called as-2.1u2, the files for Enterprise Linux version 3.0 are in a directory called el-3.O, and the files for SuSE Linux Enterprise Server 8 service pack 3 are in a directory called sles-8sp3. 4.3.2 Preparing to Install Linux 1. Connect a network port on the SSC to a subnet containing both the Network Install Server you intend to use as the PXE boot server and the DHCP server you intend to use to allocate IP addresses to the server blade. If you have a redundant SSC in the blade system chassis, duplicate this connection on the second SSC. Find out the MAC address of the first interface on the blade you intend to install Linux onto. To do this, log into the System Controller, and at the sc prompt, type. Scshowplatform -v:: Domain Status MAC Address Hostname - - - - S1 Standby 00:03:ba:29:e6:28 chatton-s1-0 S2 Standby 00:03:ba:29:f0:de S6 OS Running 00:03:ba:19:27:e9 chatton-s6-0 S7 OS Stopped 00:03:ba:19:27:bd chatton-s7-0 S10 Standby 00:03:ba:2d:d1:a8 chatton-s10-0 S12 OS Running 00:03:ba:2d:d4:a0 chatton-s12-0: SSC0/SWT OS Running 00:03:ba:1b:6e:a5 SSC1/SWT OS Running 00:03:ba:1b:65:4d SSC0/SC OS Running (Active) 00:03:ba:1b:6e:be SSC1/SC OS Running 00:03:ba:1b:65:66: sc where the: character indicates omitted data.

The MAC address listed for each blade is the MAC address of the first interface (by default, bge0). For a basic installation that uses only one active network interface (for example, for setting up a blade to boot Linux from the network), you only need the MAC address of the first network interface. However, if you are intending to set up redundant connections to the network, you also need to calculate the MAC addresses for bge1, bge2, and bge3. Make a note of the MAC addresses for each interface on the blade. Make sure the DHCP server you intend to use is properly set up and functioning. For information about setting up a Solaris DHCP server, refer to the Solaris DHCP Administration Guide. If you want the DHCP server to allocate IP addresses dynamically to the server blade, then reserve a block of addresses on the DHCP server for this purpose.

For information about how to do this, refer to the Solaris DHCP Administration Guide. 4.3.3 Configuring the PXE Boot Servers Linux is installed on the server blade using the PXE boot system. Three server processes are required to perform the installation:. DHCP.

TFTP. NFS This section provides information on how to configure the DHCP and NFS servers, and how to enable the TFTP server, for use with the PXE boot installation. Note - This chapter assumes that all server processes are running on the same physical host. 4.3.3.1 Configuring the DHCP Server PXE booting is supported by DHCP services, and this means that there are a number of setup steps you need to perform involving the DHCP server. The DHCP server needs to be configured for each individual blade otherwise the network installation will not work. Log into the Network Install Server as root, and start the DHCP Manager by typing. # DISPLAY= mydisplay:0.0 # export DISPLAY # /usr/sadm/admin/bin/dhcpmgr & where mydisplay is the name of the system (for example, a desktop workstation) that you are using to display the DHCP Manager's GUI (Graphical User Interface).

Add the global PXE macro to the DHCP server to enable it to support Linux PXE boot clients. To define the global PXE macro: a.

In the main window of DHCP Manager's GUI, click the Macros tab, and select Create from the Edit menu. In the Name field of the Create Macro window, type the name of the global macro that enables the DHCP server to support PXE booting (PXEClient:Arch:00000:UNDI:002001). Note - only needs to be performed once on the DHCP server. If you already have this macro defined correctly, skip this step and go to. Caution - The global PXE macro is named PXEClient:Arch:00000:UNDI:002001.

You must ensure that you type this name correctly. If you make a mistake, the blades will not be able to perform a PXE boot of the Linux operating system.

In the Option Name field, type BootSrvA. And in the Option Value field type the IP address that was listed for the Boot Server (that is, the Network Install Server). Then click Add. In the Option Name field, type BootFile. And in the Option Value field type the path to the file pxelinux.bin, for example //sun/pxelinux.bin,(where is either as-2.1u2, el-3.O or sles-8sp3, depending on the version of Linux you are installing). Then click Add. To view the properties of the macro you have created, select it from the list of macros displayed on the left of the Macros tab, then select Properties from the Edit menu (see ).

FIGURE 4-1 The Properties Defined for the Global PXE Macro 3. Click OK to save the settings. 4.3.3.2 Configuring the NFS Server The NFS server is used by the installation kernel to read all of the packages necessary to the installation process. The NFS server therefore needs to provide access to the directory structure containing the PXE images. Make the tftpboot directory available to all machines running NFS.

Update the /etc/dfs/dfstab file by adding the following line.

It's funny how automation evolves as system administrators manage larger numbers of servers. When you manage only a few servers, it's fine to pop in an install CD and set options manually. As the number of servers grows, you might realize it makes sense to set up a kickstart or FAI (Debian's Fully Automated Installer) environment to automate all that manual configuration at install time. Now, you boot the install CD, type in a few boot arguments to point the machine to the kickstart server, and go get a cup of coffee as the machine installs.

Pxelinux

When the day comes that you have to install three or four machines at once, you either can burn extra CDs or investigate PXE boot. The Preboot eXecution Environment is an open standard developed by Intel to allow machines to boot over a network instead of from local media, such as a floppy, CD or hard drive. Modern servers and newer laptops and desktops with integrated NICs should support PXE booting in the BIOS—in some cases, it's enabled by default, and in other cases, you need to go into your BIOS settings to enable it. Because many modern servers these days offer built-in remote power and remote terminals or otherwise are remotely accessible via serial console servers or networked KVM, if you have a PXE boot environment set up, you can power on remotely, then boot and install a machine from miles away. If you have never set up a PXE boot server before, the first part of this article covers the steps to get your first PXE server up and running.

If PXE booting is old hat to you, skip ahead to the section called PXE Menu Magic. There, I cover how to configure boot menus when you PXE boot, so instead of hunting down MAC addresses and doing a lot of setup before an install, you simply can boot, select your OS, and you are off and running. After that, I discuss how to integrate rescue tools, such as Knoppix and memtest86+, into your PXE environment, so they are available to any machine that can boot from the network.

PXE Setup You need three main pieces of infrastructure for a PXE setup: a DHCP server, a TFTP server and the syslinux software. Both DHCP and TFTP can reside on the same server. When a system attempts to boot from the network, the DHCP server gives it an IP address and then tells it the address for the TFTP server and the name of the bootstrap program to run. The TFTP server then serves that file, which in our case is a PXE-enabled syslinux binary. That program runs on the booted machine and then can load Linux kernels or other OS files that also are shared on the TFTP server over the network. Once the kernel is loaded, the OS starts as normal, and if you have configured a kickstart install correctly, the install begins.

PXE Menu Magic You can configure pxelinux with or without menus, and many administrators use pxelinux without them. There are compelling reasons to use pxelinux menus, which I discuss below, but first, here's how some pxelinux setups are configured. When many people configure pxelinux, they create configuration files for a machine or class of machines based on the fact that when pxelinux loads it searches the pxelinux.cfg directory on the TFTP server for configuration files in the following order.

Files named 01-MACADDRESS with hyphens in between each hex pair. So, for a server with a MAC address of 88:99:AA:BB:CC:DD, a configuration file that would target only that machine would be named 01-88-99-aa-bb-cc-dd (and I've noticed it does matter that it is lowercase). Files named after the host's IP address in hex. Here, pxelinux will drop a digit from the end of the hex IP and try again as each file search fails. This is often used when an administrator buys a lot of the same brand of machine, which often will have very similar MAC addresses. The administrator then can configure DHCP to assign a certain IP range to those MAC addresses. Then, a boot option can be applied to all of that group.

Finally, if no specific files can be found, pxelinux will look for a file named default and use it. One nice feature of pxelinux is that it uses the same syntax as syslinux, so porting over a configuration from a CD, for instance, can start with the syslinux options and follow with your custom network options. Here is an example configuration for an old CentOS 3.6 kickstart: default linux label linux kernel vmlinuz-centos-3.6 append text nofb loadramdisk=1 initrd=initrd-centos-3.6.img ↪network ks=http://10.0.0.1/kickstart/centos3.cfg. Why Use Menus? The standard sort of pxelinux setup works fine, and many administrators use it, but one of the annoying aspects of it is that even if you know you want to install, say, CentOS 3.6 on a server, you first have to get the MAC address. So, you either go to the machine and find a sticker that lists the MAC address, boot the machine into the BIOS to read the MAC, or let it get a lease on the network. Then, you need to create either a custom configuration file for that host's MAC or make sure its MAC is part of a group you already have configured.

Depending on your infrastructure, this step can add substantial time to each server. Even if you buy servers in batches and group in IP ranges, what happens if you want to install a different OS on one of the servers? You then have to go through the additional work of tracking down the MAC to set up an exclusion. With pxelinux menus, I can preconfigure any of the different network boot scenarios I need and assign a number to them.

Then, when a machine boots, I get an ASCII menu I can customize that lists all of these options and their number. Then, I can select the option I want, press Enter, and the install is off and running.

Beyond that, now I have the option of adding non-kickstart images and can make them available to all of my servers, not just certain groups. With this feature, you can make rescue tools like Knoppix and memtest86+ available to any machine on the network that can PXE boot.

You even can set a timeout, like with boot CDs, that will select a default option. I use this to select my standard Knoppix rescue mode after 30 seconds. Configure PXE Menus Because pxelinux shares the syntax of syslinux, if you have any CDs that have fancy syslinux menus, you can refer to them for examples.

Because you want to make this available to all hosts, move any more specific configuration files out of pxelinux.cfg, and create a file named default. When the pxelinux program fails to find any more specific files, it then will load this configuration.

Extra Features: PXE Rescue Disk One of my favorite features of a PXE server is the addition of a Knoppix rescue disk. Now, whenever I need to recover a machine, I don't need to hunt around for a disk, I can just boot the server off the network. First, get a Knoppix disk. I use a Knoppix 5.1.1 CD for this example, but I've been successful with much older Knoppix CDs. Mount the CD-ROM, and then go to the boot/isolinux directory on the CD.

Copy the miniroot.gz and vmlinuz files to your /var/lib/tftpboot directory, except rename them something distinct, such as miniroot-knx5.1.1.gz and vmlinuz-knx5.1.1, respectively. Now, edit your pxelinux.cfg/default file, and add lines like the one I used above in my example: label 1 kernel vmlinuz-knx5.1.1 append secure nfsdir=10.0.0.1:/mnt/knoppix/5.1.1 nodhcp ↪lang=us ramdisksize=100000 init=/etc/init 2 ↪apm=power-off nomce vga=normal ↪initrd=miniroot-knx5.1.1.gz quiet BOOTIMAGE=knoppix Notice here that I labeled it 1, so if you already have a label with that name, you need to decide which of the two to rename. Also notice that this example references the renamed vmlinuz-knx5.1.1 and miniroot-knx5.1.1.gz files. If you named your files something else, be sure to change the names here as well.

Because I am mostly dealing with servers, I added 2 after init=/etc/init on the append line, so it would boot into runlevel 2 (console-only mode). If you want to boot to a full graphical environment, remove 2 from the append line. The final step might be the largest for you if you don't have an NFS server set up. For Knoppix to boot over the network, you have to have its CD contents shared on an NFS server. NFS server configuration is beyond the scope of this article, but in my example, I set up an NFS share on 10.0.0.1 at /mnt/knoppix/5.1.1.

I then mounted my Knoppix CD and copied the full contents to that directory. Alternatively, you could mount a Knoppix CD or ISO directly to that directory. When the Knoppix kernel boots, it will then mount that NFS share and access the rest of the files it needs directly over the network. Extra Features: Memtest86+ Another nice addition to a PXE environment is the memtest86+ program. This program does a thorough scan of a system's RAM and reports any errors. These days, some distributions even install it by default and make it available during the boot process because it is so useful.

Compared to Knoppix, it is very simple to add memtest86+ to your PXE server, because it runs from a single bootable file. First, install your distribution's memtest86+ package (most make it available), or otherwise download it from the memtest86+ site.

Then, copy the program binary to /var/lib/tftpboot/memtest. Finally, add a new label to your pxelinux.cfg/default file: label 3 kernel memtest That's it. When you type 3 at the boot prompt, the memtest86+ program loads over the network and starts the scan. Conclusion There are a number of extra features beyond the ones I give here.

For instance, a number of DOS boot floppy images, such as Peter Nordahl's NT Password and Registry Editor Boot Disk, can be added to a PXE environment. My own use of the pxelinux menu helps me streamline server kickstarts and makes it simple to kickstart many servers all at the same time. At boot time, I can not only indicate which OS to load, but also more specific options, such as the type of server (Web, database and so forth) to install, what hostname to use, and other very specific tweaks. Besides the benefit of no longer tracking down MAC addresses, you also can create a nice colorful user-friendly boot menu that can be documented, so it's simpler for new administrators to pick up. Finally, I've been able to customize Knoppix disks so that they do very specific things at boot, such as perform load tests or even set up a Webcam server—all from the network.