| |
5.3. Booting from network5.3.1. Preparing to boot from network
This is a very old way to operate but it used to be the only one available for a long time.
Usually you won't need to boot from network, except in some very specific cases (e.g. unsupported I/O devices).
That's why it is detailed here.
5.3.2. rboot or bootp?
All 'recent' machines can boot using bootp, starting from
715/100, 715/120, and 712s.
Older ones, mostly early 715s, 710s and 725s need rboot.
 |
To use BOOTP you have to enable the 'IP: Kernel level autoconfiguration -> IP: BOOTP support' within the 'Networking options' section of the kernel configuration, if you want to use a home-made kernel. See Chapter 6 for details.
|
5.3.3. Using rboot5.3.3.1. Obtaining rboot
If you have an old machine that requires rboot to
boot over network, use the following procedure to set up, configure,
and boot using the PA-RISC/Linux kernel.
Old machines, including the Scorpio 715s, require
rbootd. You can obtain the rboot daemon :
5.3.3.2. Configuring rbootd
For instance, to boot a PA-RISC 715 system, you need a Linux system with rbootd installed
(this is the 'boot server') on which you will store the
PA-RISC/Linux kernel lifimage that you want to use to boot your PA-RISC system with.
Once the rbootd server software is installed,
do as follows to configure it to work with your PA-RISC system :
In /etc/rbootd.conf you will have to add a line like :
Replace bootfile with the name of your
PA-RISC/Linux kernel image, usually 'lifimage'.
Now get the ethernet address of your PA-RISC system by typing
lanaddress at the 'BOOT_ADMIN>' prompt
(see Section 3.1.2.3).
It will return a number like
080009-7004b6. Take note of this number.
In /etc/rbootd.conf on your boot server, the
ethernet address has to be colon-delimited. That means you will have to modify
the number you just obtained so that every set of two characters (after removing the
'-') is separated by a colon. For example :
becomes
Add the colon delimited ethernet address to
/etc/rbootd.conf on your boot server. The
resulting file will look something like this :
# ethernet addr boot file comments
08:00:09:87:e4:8f lifimage_715 # PA/Linux kernel for 715/33
08:00:09:70:04:b6 lifimage_720 # PA/Linux kernel for 720
|
This rbootd.conf example contains the ethernet
addresses and boot file names for two different machines.
Once you have changed the configuration file, restart
rbootd.
By default, rbootd assumes that bootfiles are located
in /var/lib/rbootd/. If you use
our archive for other distributions, this directory is
/export/hp/rbootd/. Therefore,
you will have to put your bootable kernel image in that directory, or,
if you really hate that directory for some reason, you can recompile
rbootd to use a different directory.
The easiest thing, of course, is just to drop your kernel images in
the default directory !
5.3.4. Using dhcp/tftpWe will see here how to use a DHCP server
as a BOOTP one. 5.3.4.1. Obtaining
dhcp/tftp
Debian users will just have to install the packages via these
commands as root :
bash# apt-get install dhcp
bash# apt-get install tftpd
|
If you need rpm packages (for the ISC dhcp server), the best
way is to go to http://rpmfind.net/.
It seems that Red Hat users need to create the user "nobody"
belonging to the group "nogroup".
The files present in your /tftpboot/
directory (see below) should have these user/group privileges.
 |
The dhcp package can do far more than a
simple bootp daemon.
Nevertheless, it is also known to be far easier to configure.
If you really want to try bootp, skip
this and go to Section 5.3.5.
|
5.3.4.2. Configuring dhcp/tftp
Here are the instructions to set up dhcp on your
boot server. To keep this explanation simple, we will assume that
you want to assign a fixed IP to your box, without DNS update. Your
subnet will be 192.168.1.0/24, with optional :
gateway at 192.168.1.1, domain name
foo.com and DNS at 192.168.1.4.
 |
This section is dedicated to Debian users.
For others distributions, it should be similar though
there can be some differences like default directories.
Since Debian maintains a dhcp package,
we will focus on it only.
|
Edit /etc/inetd.conf on your boot
server to add the following line, if it doesn't already exist :
tftp dgram udp wait nobody /usr/sbin/tcpd \
/usr/sbin/in.tftpd /tftpboot
|
Here, /tftpboot/
is being used as tftpd server's root. You can choose another
directory if you want. According to man tftpd,
this is the usual default directory.
When this is done, restart inetd with :
/etc/init.d/inetd restart. You can also
issue a killall -HUP inetd.
According to man 5 dhcpd.conf, edit the
/etc/dhcpd.conf file to contain something like :
allow bootp;
default-lease-time 600;
max-lease-time 7200;
# This will tell the box its hostname while booting:
use-host-decl-names on;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option domain-name "foo.com";
option domain-name-server 192.168.1.4;
}
host [hostname] {
hardware ethernet [mac address];
fixed-address [ip address];
filename "[boot filename]";
option root-path "[root path]";
}
|
You have to fill in the [hostname],
[mac address],
[ip address],
[boot filename] and
[root path] fields with the
appropriate information, where :
[hostname]
is the name of the PA-RISC system.
[mac address]
is the colon-delimited ethernet address of the PA-RISC system, which
can be obtained by typing lanaddress at the
'BOOT_ADMIN>' prompt
(see Section 3.1.2.3).
[ip address]
is the IP address you wish to assign to the PA-RISC system.
[boot filename]
is the name of the bootable kernel image you want to boot your system with.
[root path]
is the path to the NFS root filesystem exported by the server.
You'll end up with something like this for each box
you want to netboot :
host tatooine {
hardware ethernet 00:40:05:18:0c:dd;
fixed-address 192.168.1.22;
filename "lifimage-tatooine";
option root-path "/exports/tatooineroot";
}
|
5.3.5. Using bootp/tftp5.3.5.1. Obtaining
bootp/tftp
For Debian users, you just have to install the packages via these
commands as root :
bash# apt-get install bootp tfptd
|
If you need rpm packages, the best way is to go to
http://rpmfind.net/.
It seems that Red Hat users need to create the user
"nobody" belonging to the group "nogroup".
The files present in your /tftpboot/
directory (see below) should have these user/group privileges.
 |
You'll have been warned ! This daemon is far more obfuscated
in its configuration.
|
5.3.5.2. Configuring bootp/tftp
Follow these instructions to use bootp on
your boot server :
 |
This section is dedicated to Debian users.
For others distributions, it should be similar though
there can be some differences like default directories.
Since Debian maintains a bootp package,
we will focus on it only.
|
Edit /etc/inetd.conf on your boot server
to add the following lines, if they don't already exist :
tftp dgram udp wait nobody /usr/sbin/tcpd \
/usr/sbin/in.tftpd /tftpboot
bootps dgram udp wait root /usr/sbin/bootpd \
bootpd -i -t 120
|
Here, /tftpboot/ is being
used as tftpd server's root. You can choose another directory
if you want. According to man tftpd, this
is the usual default directory.
When this is done, restart inetd with :
/etc/init.d/inetd restart. You can also issue
a killall -HUP inetd.
According to man 5 bootptab, edit the
/etc/bootptab file to contain :
[hostname]:hd=/tftpboot:\
:rp=[root path]:\
:ht=ethernet:\
:ha=[mac address]:\
:ip=[ip address]:\
:bf=[boot filename]:\
:sm=255.255.255.0:\
:to=7200:
|
You have to fill in the [hostname],
[mac address],
[ip address] and
[root path]
fields with the appropriate information, where :
[hostname] is the name
of the PA-RISC system.
[mac address] is the
NOT-delimited ethernet address of the PA-RISC system, which can be obtained
by typing lanaddress at the
'BOOT_ADMIN>' prompt
(see Section 3.1.2.3).
[ip address] is the
IP address you wish to assign to the PA-RISC system.
[boot filename] is the
name of the bootable kernel image you want to boot your system with.
[root path] is the
path to the NFS root filesystem exported by the server.
You'll end up with something like this :
vodka:hd=/tftpboot:\
:rp=/usr/src/parisc/:\
:ht=ethernet:\
:ha=080069088717:\
:ip=140.244.9.208:\
:bf=lifimage:\
:sm=255.255.255.0:\
:to=7200:
|
5.3.6. Booting your PA/Linux system from network with serial consoleTo conclude with the developers' way to boot the
kernel, this section will tell you how to actually boot your
system from a network server. But it tends to be less and less used.
Most users will prefer to stick to Section 5.2. Here we are. These are just some tips to get
the boot for those who tried the network way.
We assume that you've done everything outlined above, your development PC
is hooked up to your PA-RISC machine via a serial line,
you've got a bootable PA/Linux kernel lifimage on your boot server,
and you're willing to give it a try.
If everything is ready, as well as you, the following procedure
will introduce you to the joy of network booting your PA box into Linux.
Make sure your development box is properly connected to your PA-RISC machine
with a serial cable. Sounds obvious, but check anyway.
Start minicom on your development box.
Fire up your PA-RISC system.
Watch your minicom console. When the following
message appears during the PA-RISC machine's boot process, press and hold the
Esc key :
Searching for Potential Boot Devices.
To terminate search, press and hold the ESCAPE key.
|
If needed, select 'a) Enter Boot Administration
mode' from the menu. This brings up the
'BOOT_ADMIN>' prompt.
Type the following at the prompt : boot lan.
Watch your PA-RISC system magically becoming a PA/Linux system.
Ta dah !
 |
Of course your are supposed to run only one boot server
at a time on your network, in order to avoid conflicts...
|
Linux HOWTO full list
|
|