How does PXE booting work?

2009-05-13 00:52:14来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

From OpenBSD's FAQ
First, it is wise to understand how OpenBSD
boots on i386 and amd64 platforms.
Upon starting the boot process, the PXE-capable NIC broadcasts a DHCP
request over the network.
The DHCP server will assign the adapter an IP address, and gives it
the name of a file to be retrieved from a
tftp(1)
server and executed.
This file then conducts the rest of the boot process.
For OpenBSD, the file is
pxeboot
, which takes the place of the standard
boot(8) file.
pxeboot(8) is then able to load and execute a kernel (such as
bsd or
bsd.rd
) from the
same tftp(1) server.
How do I do it?
The first and obvious step is you must have a PXE-boot capable computer
or network adapter.
Some documentation will indicate all modern NICs and computers are PXE
capable, but this is clearly not true -- many low cost systems do not
include PXE ROMs or use an older network boot protocol.
You also need a properly configured
DHCP
and TFTP server.
Assuming an OpenBSD machine is the source of the boot files (this is
NOT required), your DHCP server
dhcpd.conf
file will need to have the following line:
    filename "pxeboot";
to have the DHCP server offer that file to the booting workstation.
For example:
    shared-network LOCAL-NET {
            option  domain-name "example.com";
            option  domain-name-servers 192.168.1.3, 192.168.1.5;
            subnet 192.168.1.0 netmask 255.255.255.0 {
                    option routers 192.168.1.1;
                    filename "pxeboot";
                    range 192.168.1.32 192.168.1.127;
                    default-lease-time 86400;
                    max-lease-time 90000;
            }
    }
You will also have to activate the
tftpd(8)
daemon.  This is typically done through
inetd(8)
.
The standard OpenBSD install has a sample line in inetd.conf
which will do nicely for you:
    #tftp  dgram   udp  wait  root  /usr/libexec/tftpd   tftpd -s /tftpboot
which simply needs to have the '#' character removed and send inetd(8) a
-HUP signal to get it to reload /etc/inetd.conf.
tftpd(8) serves files from a particular directory, in the case of this

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:PDF文件的各种转换工具

下一篇:An other article about DISKLESS