Gentoo Linux Alpha Netboot HOWTO
1.
Introduction
This document will describe how to setup a network booting environment for a
Alpha computer. The document assumes that you have an existing Gentoo Linux
computer available to act as the netboot server.
Both the netboot server and netboot client will need to be on the same network
subnet, as the ARP protocol is typically not forwarded across different network
subnets.
A generic overview of what happens during the netboot process is as follows;
-
Client machine sends out a BOOTP request to get an IP address
- A server machine returns a response to the client with the IP address
-
The client then attempts to download a boot image from the BOOTP server
using the TFTP protocol
- Once the image is downloaded, the netboot client then boots the image
Based on this overview, we will need to install software for a BOOTP
server and a TFTP daemon.
2.
Software Installation And Configuration
The BOOTP server
The most easy BOOTP server to setup is net-misc/dhcp. Make sure you have it installed.
You'll need to find out the MAC address of your alpha machine.
You can obtain it by running show dev on SRM. For example:
Code Listing 2.1: Obtaining the MAC address |
>>>show dev
dka600.6.0.6.1 DKA600 HITACHI HUS103073FL3600 SA1B
dqa0.0.0.107.0 DQA0 Hewlett- Packard CD-Write 1.0c
dva0.0.0.0.0 DVA0
ewa0.0.0.3.1 EWA0 AB-CD-DE-FF-FF-FF
pka0.7.0.6.1 PKA0 SCSI Bus ID 7 5.57
|
Take note of the MAC address, which in the example is AB-CD-DE-FF-FF-FF
Now we'll setup the DHCP/BOOTP server configuration on the file /etc/dhcp/dhcpd.conf
Code Listing 2.2: Example /etc/dhcp/dhcpd.conf |
default-lease-time 600;
max-lease-time 7200;
# Use this to enble / disable dynamic dns updates globally.
ddns-update-style none;
subnet 192.168.0.0 netmask 255.255.255.0 { #
}
host alpha { #
filename "netboot-20110126.img"; #
fixed-address 192.168.0.5; #
hardware ethernet ab:cd:de:ff:ff:ff; #
}
|
Note:
Depending on the environment, you may need to consult your network
administrator to get an appropriate IP address or addresses to netboot the host
with.
|
The tftpd Daemon
In this guide we'll use net-misc/tftp-hpa as TFTP server.
Setting up common tftpd elements
The TFTP daemon will need a directory from which to serve files to tftp
clients. The directory we will use for this howto will be
/tftpboot. This will appear as the root (/) directory
to the clients when requests are received. Additionally, we'll setup the system
to run the TFTP daemon with the user and group nobody.
If the directory you have chosen does not currently exist, it will need to be
created with the mkdir command. The command for the example
/tftpboot is:
Code Listing 2.3: Creating /tftpboot |
# mkdir /tftpboot
|
Then we will need to change the owner of /tftpboot so that it is
owned by user nobody and group nobody:
Code Listing 2.4: Changing ownership |
# chown nobody:nobody /tftpboot
|
The tftp-hpa Daemon
First, install the tftp-hpa package:
Code Listing 2.5: Installing tftp-hpa |
# emerge net-misc/tftp-hpa
|
tftp-hpa comes with an init.d and the accompanying
conf.d configuration file. Check to make sure that INTFTPD_PATH
and INTFTP_OPTS in /etc/conf.d/in.tftpd match those below:
Important: If your alpha machine is an XP1000, you need to append the option "-r blksize" to the INTFPD_OPTS below. |
Code Listing 2.6: /etc/conf.d/in.tftpd |
INTFTPD_PATH="/tftpboot"
INTFTPD_OPTS="-s -v -l ${INTFTPD_PATH}"
|
The TFTP daemon can then be started via the init.d script:
Code Listing 2.7: Starting in.tftpd |
# /etc/init.d/in.tftpd start
|
For more options, consult man 8 tftpd.
3.
Preparing a tftpboot image for use by a client
Make sure you have an image you want to use for netbooting. You can download it from
here
Once you have an image, copy the image into /tftpboot:
Code Listing 3.1: Copying the image |
# cp netboot-20110126.img /tftpboot
# chmod 644 /tftpboot/netboot-20110126.img
|
Make sure that both the BOOTP and TFTP daemon are currently
running, then boot the host as described below in Netbooting the client.
Now everything should be set for netbooting!
4.
Netbooting the client
From SRM, enter the command;
Code Listing 4.1: Booting |
>>> boot ewa0
>>> boot ewa0 -flags "console=ttyS0"
|
Note:
If your system doesn't present you with SRM at boot time, you have to press CTRL-C
before the system boots an OS.
|
This will initiate the networking booting process. You'll see a line of dots increasing
as it downloads the netboot image, then it will boot.
5.
Troubleshooting
I get "bootstrap failure" or "p == &tftq = no request for this packet" when booting
In the Compaq XP1000 (and maybe other machines?) there's a bug in the SRM TFTP client, you need to use a workaround
in the TFTP server. Make sure you did what the important note says in the TFTP
configuration step.
In the following link
there's a discussion about it.
The contents of this document, unless otherwise expressly stated, are licensed under the CC-BY-SA-2.5 license. The Gentoo Name and Logo Usage Guidelines apply.
|