- 论坛徽章:
- 0
|
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
line, that directory is /tftpboot, which we will use for this
example.
Obviously, this directory needs to be created and populated.
Typically, you will have only a few files here for PXE booting:
pxeboot
, the PXE boot loader (serving the same function as
boot
on a disk-based system).
bsd.rd
, the install kernel or bsd,
a customized kernel.
/etc/boot.conf
, a boot configuration file.
Note that /etc/boot.conf is only needed if the kernel you wish to
boot from is not named bsd, or other pxeboot defaults are not
as you need them (for example, you wish to use a serial console).
You can test your tftpd(8) server using a
tftp(1)
client, making sure you can fetch the needed files.
When your DHCP and TFTP servers are running, you are ready to try it.
You will have to activate the PXE boot on your system or network card;
consult your system documentation.
Once you have it set, you should see something similar to the following:
Intel UNDI, PXE-2.0 (build 067)
Copyright (C) 1997,1998 Intel Corporation
For Realtek RTL 8139(X) PCI Fast Ethernet Controller v1.00 (990420)
DHCP MAC ADDR: 00 E0 C5 C8 CF E1
CLIENT IP: 192.168.1.76 MASK: 255.255.255.0 DHCP IP: 192.168.1.252
GATEWAY IP: 192.168.1.1
probing: pc0 com0 com1 apm pxe![2.1] mem[540k 28m a20=on]
disk: hd0*
net: mac 00:e0:c5:c8:cf:e1, ip 192.168.1.76, server 192.168.1.252
>> OpenBSD/i386 PXEBOOT 1.00
boot>
At this point, you have the standard OpenBSD boot prompt.
If you simply type "bsd.rd" here, you will then fetch the
file bsd.rd from the TFTP server.
>> OpenBSD/i386 PXEBOOT 1.00
boot> bsd.rd
booting tftp:bsd.rd: 4375152+733120 [58+122112+105468]=0x516d04
entry point at 0x100120
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
Copyright (c) 1995-2004 OpenBSD. All rights reserved. http://www.OpenBSD.org
OpenBSD 3.6 (RAMDISK_CD) #378: Fri Sep 17 13:04:04 MDT 2004
...
The bsd.rd install kernel will now boot.
Can I boot other kinds of kernels using PXE other than
bsd.rd?
Yes, although with the tools currently in OpenBSD 3.6, PXE booting is
primarily intended for installing the OS.
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/2389/showart_19008.html |
|