Difference between revisions of "PXE FAQ"


From Knoppix Documentation Wiki
Jump to: navigation, search
(Q: Where can I find more information about PXE & GNU/Linux?)
(From the mailing list by Michael Bramer:)
Line 76: Line 76:
 
  Booting from a network
 
  Booting from a network
 
   
 
   
  It is sometimes very useful to boot from a network, especially, when you use a machine which has no local disk.
+
  It is sometimes very useful to boot from a network, especially, when you use a machine
  In this case, you need to obtain a  kind of Net Boot ROM, such as a PXE ROM or a free software package like Etherboot.
+
which has no local disk.
  Such a Boot ROM first boots the machine, sets up the network card  installed into the machine, and downloads a second
+
  In this case, you need to obtain a  kind of Net Boot ROM, such as a PXE ROM or a free
  stage boot image from the network. Then, the second image will try to boot an operating system  from the network actually.
+
software package like Etherboot.
 +
  Such a Boot ROM first boots the machine, sets up the network card  installed into the machine
 +
and downloads a second  stage boot image from the network.<br>
 +
Then, the second image will try to boot an operating system  from the network actually.
 
   
 
   
  GRUB provides two second stage images, nbgrub and pxegrub (see Images). Those images are the same as the normal Stage 2,
+
  GRUB provides two second stage images, nbgrub and pxegrub (see Images).<br>
  except that they set up a network automatically, and try to load a configuration file from the network, if specified.
+
Those images are the same as the normal Stage 2,  except that they set up a network automatically,
  The usage is very simple: If the machine has a PXE ROM, use pxegrub. If the machine has a NBI loader such as Etherboot,
+
and try to load a configuration file from the network, if specified.
  use nbgrub. There is no difference between them but their formats.
+
  The usage is very simple: If the machine has a PXE ROM, use pxegrub.
  As how to load a second stage image you want to use should be described in the manual on your Net Boot ROM,
+
If the machine has a NBI loader such as Etherboot,  use nbgrub.
  please refer to the manual, for more information.
+
There is no difference between them but their formats.
 +
  As how to load a second stage image you want to use should be described in the manual on your
 +
Net Boot ROM,  please refer to the manual, for more information.
 
   
 
   
  However, there is one thing specific to GRUB. Namely, how to specify a configuration file in a BOOTP/DHCP server.
+
  However, there is one thing specific to GRUB.
  For now, GRUB uses the tag 150, to get the name of a configuration file. This below is an example about a BOOTP configuration:
+
Namely, how to specify a configuration file in a BOOTP/DHCP server.
 +
  For now, GRUB uses the tag 150, to get the name of a configuration file.
 +
This below is an example about a BOOTP configuration:
 
   
 
   
 
  .allhost:hd=/tmp:bf=null:\
 
  .allhost:hd=/tmp:bf=null:\
Line 103: Line 110:
 
   
 
   
 
  Note that you should specify the drive name (nd) in the name of the configuration file.
 
  Note that you should specify the drive name (nd) in the name of the configuration file.
  That is because you can change the root drive before downloading the configuration from the TFTP server,
+
  That is because you can change the root drive before downloading the configuration
  when the preset menu feature is used (see Preset Menu)
+
from the TFTP server,  when the preset menu feature is used (see Preset Menu)
 
   
 
   
  See the manual about your BOOTP/DHCP server, for more information. The exact syntax should differ from the example, more or less.
+
  See the manual about your BOOTP/DHCP server, for more information.
 +
The exact syntax should differ from the example, more or less.
  
 
==== Tip: Grub====
 
==== Tip: Grub====

Revision as of 18:14, 27 December 2004

Q: can i have multiple terminal server run simultaneously? so pxe client can choose wheter to boot ltsp or knoppix or clusterknoppix or damnsmalllinux, or other...??

A: Yes, for instance, have a look at PXELinux which allows you to make a menu (with submenus...).

Q: is PXE + ssh possible??

A:Yes SSH is possible from a PXE boot environment even if the environment is read-only. When running in a read-only environment, SSH keys should be generated during the boot scripts and saved to a ram filesystem that will be cleared during a reset or powerdown.

Q: What is PXE?

A: PXE stands for 'Preboot Execution Environment' and is part of Intels(tm) Wired for Management (WfM).
The Linux Magazine has written a good article about ['Network Booting'] - Please read it first to know about Network Booting and PXE!
Intel offers 103 pages of [PXE Specifications 2.1 (Sep. 20.1999).]

Q: Where can I find more information about PXE & GNU/Linux?

  • [1] (Reminder: good article 'Network Booting' (10/2002))
  • [2] (good place to start)

Q: Can I boot via a PCMCIA-network-card?

A: Probably yes, but the boot rom-o-matic site does not support any PCMCIA cards. We still have to write a guide or a script to support this. Suggestions Welcome.

- (Do you know more? Please add and comment here)

Q: How can I boot with PXE?

A: There are a number of possible routes:

  1. Modern BIOS with a PCI or an on-board network card (AFAIK no PCMCIA-cards)
  2. PXE-bootimage on a floppy
  3. PXE-bootimage on a cdrom
  4. PXE Capable bootloader (e.g. [Grub)]
  5. PXE-bootimage on the hard drive

1. Modern Bios with a PCI or an on-board network card (AFAIK no PCMCIA-cards) Go into your Bios and choose your NIC as primary Boot device. At boottime you can configure this to use PXE and DHCP. You will probably have to enable Network booting before it shows up in the boot order menu, this depends on the particular Bios.


2. PXE with Floppy Quick-Tutorial: (by Fabian)

  • Start Knoppix with CD on computer 1...
  • Start knoppix-terminalserver (Choose the right network card you want to use in computer two which will boot from network)
  • Make an floppydisk for you NIC (network interface card) from [3] ... (lzdsk)
  • Write image to floppy
  • dd if=eb-5.0.7-xx.lzdsk of=/dev/floppy
  • Boot computer two from floppy ...
  • Choose boot from network, when asked (press 'n')
  • Finished
From the mailing list by Michael Bramer:
But beware, Openoffice takes more than 10 Minutes to start with 133MHz;-)), but it works,
if you are not typing too fast!

Shouldn't it run on the server?

No, it's a FAT client. The Server only exports the compressed images and
the kernel, the software runs completely on the Clients, with access to
local drives (if not being run in secure mode).


To run a THIN client shouldn't be a big task.

on the server:

  • start the normal terminal server:
  • start kdm/xdm/... with XDMCP
  • maybe add user01 - user30 with empty passwords..

on the client:

  • boot normally (like the FAT client) - use the following boot parameters : knoppix 2
  • Start X with `X -broadcast` or a `X -query $SERVER` (where $SERVER is the name or IP of your server)

3. PXE-boot image on a CD-ROM


4. PXE Capable Bootloader (e.g. Grub) see 'man grub, info grub and grub webpage

Now here is a quote from [4] for you about grub and PXE:

Booting from a network

It is sometimes very useful to boot from a network, especially, when you use a machine
which has no local disk.
In this case, you need to obtain a   kind of Net Boot ROM, such as a PXE ROM or a free
software package like Etherboot.
Such a Boot ROM first boots the machine, sets up the network card   installed into the machine
and downloads a second  stage boot image from the network.
Then, the second image will try to boot an operating system from the network actually. GRUB provides two second stage images, nbgrub and pxegrub (see Images).
Those images are the same as the normal Stage 2, except that they set up a network automatically, and try to load a configuration file from the network, if specified. The usage is very simple: If the machine has a PXE ROM, use pxegrub. If the machine has a NBI loader such as Etherboot, use nbgrub. There is no difference between them but their formats. As how to load a second stage image you want to use should be described in the manual on your Net Boot ROM, please refer to the manual, for more information. However, there is one thing specific to GRUB. Namely, how to specify a configuration file in a BOOTP/DHCP server. For now, GRUB uses the tag 150, to get the name of a configuration file. This below is an example about a BOOTP configuration: .allhost:hd=/tmp:bf=null:\ :ds=145.71.35.1 145.71.32.1:\ :sm=255.255.254.0:\ :gw=145.71.35.1:\ :sa=145.71.35.5: foo:ht=1:ha=63655d0334a7:ip=145.71.35.127:\ :bf=/nbgrub:\ :tc=.allhost:\ :T150="(nd)/tftpboot/menu.lst.foo": Note that you should specify the drive name (nd) in the name of the configuration file. That is because you can change the root drive before downloading the configuration from the TFTP server, when the preset menu feature is used (see Preset Menu) See the manual about your BOOTP/DHCP server, for more information. The exact syntax should differ from the example, more or less.

Tip: Grub

You should be familar with [grub] before tring this. Take time to learn grub from the ground on and you will enjoy grub!


5. PXE-bootimage on hd see 4. bootloader (grub)



This wiki-page was revised by: Robert Michel, thadk