[106] | 1 | |
---|
| 2 | PXE-menu tools README file |
---|
| 3 | -------------------------- |
---|
| 4 | |
---|
| 5 | Author: Ole Holm Nielsen |
---|
| 6 | Dept. of Physics, Technical University of Denmark |
---|
| 7 | E-mail: Ole.H.Nielsen@fysik.dtu.dk |
---|
| 8 | |
---|
| 9 | Version: 1.1 |
---|
| 10 | Date: 01-Oct-2007 |
---|
| 11 | |
---|
| 12 | Summary |
---|
| 13 | ------- |
---|
| 14 | |
---|
| 15 | The PXE-menu tools are used to control the booting of networked computers |
---|
| 16 | directly from the computer's console at the BIOS level before any operating |
---|
| 17 | system has been loaded. This is extremely useful for diagnostic purposes, |
---|
| 18 | or for selecting an operating system installation method, of an individual |
---|
| 19 | computer. If you need to do the same operation on many computers, it is |
---|
| 20 | better to use the pxeconfig tools (https://subtrac.sara.nl/oss/pxeconfig) |
---|
| 21 | to control the booting from your network's DHCP/TFTP server. |
---|
| 22 | |
---|
| 23 | Additional information |
---|
| 24 | ---------------------- |
---|
| 25 | |
---|
| 26 | We provide further details on our Linux cluster's homepage: |
---|
| 27 | https://wiki.fysik.dtu.dk/niflheim/PXE-booting |
---|
| 28 | |
---|
| 29 | Prerequisite software |
---|
| 30 | --------------------- |
---|
| 31 | |
---|
| 32 | We use some of the SYSLINUX tools for providing the PXE menus in this package, see |
---|
[111] | 33 | http://syslinux.zytor.com/pxe.php and http://syslinux.zytor.com/menu.php. |
---|
[106] | 34 | For your convenience the binary files are included with this package, but you can |
---|
| 35 | also build them yourself by following the instructions in the |
---|
| 36 | https://wiki.fysik.dtu.dk/niflheim/PXE-booting web-page. |
---|
| 37 | |
---|
| 38 | We include the SYSLINUX documentation files in the syslinux-doc/ directory, |
---|
| 39 | since this documentation is not available on the SYSLINUX web-pages. |
---|
[111] | 40 | Start by reading the README file and syslinux.doc if you want to |
---|
| 41 | understand the configuration file syntax. |
---|
[106] | 42 | |
---|
| 43 | What's included |
---|
| 44 | --------------- |
---|
| 45 | |
---|
| 46 | The pxemenu/ directory tree should be copied to your DHCP/TFTP server's |
---|
| 47 | /tftpboot directory (or wherever your TFTP server has its root directory). |
---|
| 48 | Please see the file INSTALL-pxemenu for detailed installation instructions. |
---|
| 49 | |
---|
| 50 | When your computer has been configured to do a PXE boot, it will automatically |
---|
| 51 | download the file pxelinux.0 by TFTP and execute it, and pxelinux.0 will |
---|
| 52 | download configuration files from the pxelinux.cfg/ subdirectory. |
---|
| 53 | In the pxelinux.cfg/* configuration files are references to files that |
---|
| 54 | should be downloaded by TFTP, and these files are all relative to the |
---|
| 55 | top-level TFTP directory. |
---|
| 56 | |
---|
| 57 | Here we assume that the file named "default" in pxelinux.cfg/ is a soft-link to |
---|
| 58 | the default.menu file so that the PXE menus will be loaded. You could also let |
---|
| 59 | default.menu be one of the options which you configure by using pxeconfig. |
---|
| 60 | |
---|
| 61 | The most important files included in the pxemenu/ directory are: |
---|
| 62 | |
---|
| 63 | pxelinux.0 memdisk com32/menu.c32 com32/chain.c32: Binary files from the |
---|
| 64 | SYSLINUX project which are needed for the usual booting methods. |
---|
| 65 | com32/*.c32: All SYSLINUX 3.52 COM32 files, see the SYSLINUX comboot.doc. |
---|
| 66 | pxelinux.cfg/default.menu: The main PXE menu configuration file which |
---|
| 67 | loads all the other PXE menus listed below. |
---|
| 68 | The default.menu has a timeout of 5 seconds configured so that you |
---|
| 69 | may use the arrow buttons to select options; otherwise the default |
---|
| 70 | boot from harddisk will be selected. This is most likely what you want |
---|
| 71 | to do on a Linux cluster for unattended operation, but for other uses |
---|
| 72 | the timeout can be commented out so that the menus will wait forever. |
---|
| 73 | syslinux-doc: Documentation files from the SYSLINUX source. |
---|
| 74 | You may want to read the files README.menu, and for further details |
---|
| 75 | also syslinux.doc and pxelinux.doc. |
---|
| 76 | |
---|
| 77 | Example PXE menu files |
---|
| 78 | ---------------------- |
---|
| 79 | |
---|
| 80 | In the pxemenu/ directory are a number of examples that you may find useful |
---|
| 81 | for customizing your own PXE menu configurations. They are: |
---|
| 82 | |
---|
| 83 | x3455/: Example of PXE menus for an IBM X-series x3455 server. |
---|
| 84 | mysystem/: Example of PXE menus for a generic server. |
---|
| 85 | Copy this example and modify it for your particular server. |
---|
| 86 | IMPORTANT: Always keep all images related to one type of hardware |
---|
| 87 | in the same subdirectory so that you don't mix up different hardwares ! |
---|
| 88 | ghost/: Example of some Norton Ghost 2003 DOS boot diskette images. |
---|
| 89 | Tools/: Example of some diagnostics tools, including Memtest86. |
---|
| 90 | The vendor disk diagnostics tools you must download yourself |
---|
| 91 | (usually copyrighted), see links in tools.conf. |
---|
| 92 | centos.conf: Start a CentOS Linux installation. |
---|
| 93 | |
---|
| 94 | SystemImager installation with PXE menus |
---|
| 95 | ---------------------------------------- |
---|
| 96 | |
---|
| 97 | SystemImager installation can be started as shown in the x3455/x3455.conf |
---|
| 98 | example file. Each type of hardware is supported in SystemImager by a |
---|
| 99 | specially generated UYOK (Use Your Own Kernel) vmlinux kernel and |
---|
| 100 | initrd.img RAM-disk, see http://wiki.systemimager.org/index.php/UYOK. |
---|
| 101 | |
---|
| 102 | Therefore you must copy kernel and initrd.img from |
---|
| 103 | /var/lib/systemimager/images/<IMAGENAME>/etc/systemimager/boot/ |
---|
[111] | 104 | to the subdirectory for your hardware (/tftpboot/x3455/ in the present example). |
---|
[106] | 105 | |
---|
| 106 | |
---|
| 107 | What you must supply yourself |
---|
| 108 | ----------------------------- |
---|
| 109 | |
---|
| 110 | The simple PXE menu tools included in this package are just simple but useful |
---|
| 111 | examples that have proven useful in our Linux cluster and desktop environment. |
---|
| 112 | You should provide boot images for the tools that you want to run, such as |
---|
| 113 | vendor firmware upgrade diskettes or Linux installation kernels, for example. |
---|
| 114 | |
---|
| 115 | If you want to add a physical DOS boot diskette of your own to the PXE menus, |
---|
| 116 | you can create an image of the physical diskette by: |
---|
| 117 | |
---|
| 118 | dd if=/dev/fd0 of=myimage.img |
---|
| 119 | |
---|
| 120 | (assuming that the diskette drive on your Linux PC is /dev/fd0). |
---|
| 121 | |
---|
| 122 | Ultimate Boot CD tools |
---|
| 123 | ---------------------- |
---|
| 124 | |
---|
| 125 | If you want a huge selection of boot disks, you may want to look at the |
---|
| 126 | Ultimate Boot CD (UBC) project, see http://www.ultimatebootcd.com/ for |
---|
| 127 | information about this project. |
---|
| 128 | |
---|
| 129 | All of the UBC tools can be made available within the PXE menus, see |
---|
| 130 | https://wiki.fysik.dtu.dk/niflheim/PXE-booting#boot-images-from-ultimatebootcd-com |
---|
| 131 | Basically, just copy the contents of the UBC CD to /tftpboot and use the menu entry |
---|
| 132 | in pxeconfig.cfg/default.menu to use the UBC tools from the PXE menus. It's |
---|
| 133 | that simple ! |
---|
| 134 | |
---|
| 135 | What doesn't work |
---|
| 136 | ----------------- |
---|
| 137 | |
---|
| 138 | Many people have asked on the SYSLINUX mailing list how to boot ISO CD |
---|
| 139 | images using SYSLINUX or PXELINUX. The short FAQ answer from the SYSLINUX |
---|
| 140 | author H. Peter Anvin is that it's impossible because of the ways CD-ROM drives |
---|
| 141 | are implemented in BIOSes. See for example |
---|
| 142 | http://syslinux.zytor.com/archives/2006-December/007818.html |
---|
| 143 | |
---|
| 144 | Special hardware issues |
---|
| 145 | ----------------------- |
---|
| 146 | |
---|
| 147 | Broadcom network adapters: It is known that certain Broadcom Ethernet |
---|
| 148 | adapters are buggy. If your system hangs while you move up and down the |
---|
| 149 | PXE menus, then you've probably been hit by this. Please upgrade the |
---|
| 150 | firmware on the Broadcom adapter to the latest release. |
---|
| 151 | |
---|
| 152 | In the case of IBM X-series servers, you MUST upgrade the Broadcom firmware |
---|
| 153 | to at least release 2.0.0. |
---|