Lines 10-21
Link Here
|
10 |
<abstract> |
10 |
<abstract> |
11 |
Guide for setting up a netboot server for use with the Gentoo/SPARC netboot installation images. |
11 |
Guide for setting up a netboot server for use with the Gentoo/SPARC netboot installation images. |
12 |
</abstract> |
12 |
</abstract> |
|
|
13 |
|
13 |
<!-- The content of this document is licensed under the CC-BY-SA license --> |
14 |
<!-- The content of this document is licensed under the CC-BY-SA license --> |
14 |
<!-- See http://creativecommons.org/licenses/by-sa/1.0 --> |
15 |
<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> |
15 |
<license/> |
16 |
<license/> |
16 |
|
17 |
|
17 |
<version>1.1</version> |
18 |
<version>1.2</version> |
18 |
<date>2005-06-25</date> |
19 |
<date>2005-08-07</date> |
19 |
|
20 |
|
20 |
<chapter> |
21 |
<chapter> |
21 |
<title>Introduction</title> |
22 |
<title>Introduction</title> |
Lines 23-43
Link Here
|
23 |
<body> |
24 |
<body> |
24 |
|
25 |
|
25 |
<note> |
26 |
<note> |
26 |
This howto is currently very SPARC-centric and expecting that you will be |
27 |
This howto is currently very SPARC-centric and expecting that you will be |
27 |
setting up your netboot server on an existing Gentoo Linux machine. |
28 |
setting up your netboot server on an existing Gentoo Linux machine. |
28 |
</note> |
29 |
</note> |
29 |
|
30 |
|
30 |
<p> |
31 |
<p> |
31 |
This document will describe how to setup a network booting environment for a |
32 |
This document will describe how to setup a network booting environment for a Sun |
32 |
Sun Microsystems SPARC or UltraSPARC based computer. The document assumes that |
33 |
Microsystems SPARC or UltraSPARC based computer. The document assumes that you |
33 |
you have an existing Gentoo Linux computer available to act as the netboot |
34 |
have an existing Gentoo Linux computer available to act as the netboot server. |
34 |
server. |
|
|
35 |
</p> |
35 |
</p> |
36 |
|
36 |
|
37 |
<p> |
37 |
<p> |
38 |
Both the netboot server and netboot client will need to be on the same |
38 |
Both the netboot server and netboot client will need to be on the same network |
39 |
network subnet, as the ARP protocol is typically not forwarded across |
39 |
subnet, as the ARP protocol is typically not forwarded across different network |
40 |
different network subnets. |
40 |
subnets. |
41 |
</p> |
41 |
</p> |
42 |
|
42 |
|
43 |
<p> |
43 |
<p> |
Lines 77-83
Link Here
|
77 |
|
77 |
|
78 |
|
78 |
|
79 |
<p> |
79 |
<p> |
80 |
Currently, there are two choices for a reverse ARP daemon. They are |
80 |
Currently, there are two choices for a reverse ARP daemon. They are |
81 |
net-misc/iputils (installed as part of the system profile) and net-misc/rarpd. |
81 |
net-misc/iputils (installed as part of the system profile) and net-misc/rarpd. |
82 |
</p> |
82 |
</p> |
83 |
|
83 |
|
Lines 92-98
Link Here
|
92 |
|
92 |
|
93 |
<p> |
93 |
<p> |
94 |
No matter which rarpd you choose to use, you will need to setup the |
94 |
No matter which rarpd you choose to use, you will need to setup the |
95 |
<path>/etc/ethers</path> file. This file indicates which hosts rarpd should |
95 |
<path>/etc/ethers</path> file. This file indicates which hosts rarpd should |
96 |
respond to when a request is seen, and what address to reply with. |
96 |
respond to when a request is seen, and what address to reply with. |
97 |
</p> |
97 |
</p> |
98 |
|
98 |
|
Lines 113-120
Link Here
|
113 |
</note> |
113 |
</note> |
114 |
|
114 |
|
115 |
<p> |
115 |
<p> |
116 |
If you desire to add additional hosts to /etc/ethers, you do not need to |
116 |
If you desire to add additional hosts to <path>/etc/ethers</path>, you do not |
117 |
restart the rarpd services as the file is checked each time a request is |
117 |
need to restart the rarpd services as the file is checked each time a request is |
118 |
received. |
118 |
received. |
119 |
</p> |
119 |
</p> |
120 |
|
120 |
|
Lines 123-138
Link Here
|
123 |
</p> |
123 |
</p> |
124 |
|
124 |
|
125 |
<p> |
125 |
<p> |
126 |
Since each entry in /etc/ethers has a hostname, the netboot server needs to |
126 |
Since each entry in <path>/etc/ethers</path> has a hostname, the netboot server |
127 |
be able to resolve the hostname into its IP address. This can be done two |
127 |
needs to be able to resolve the hostname into its IP address. This can be done |
128 |
ways, /etc/hosts or the nameserver the netboot server uses. |
128 |
two ways, <path>/etc/hosts</path> or the nameserver the netboot server uses. |
129 |
</p> |
129 |
</p> |
130 |
|
130 |
|
131 |
<p> |
131 |
<p> |
132 |
An /etc/hosts entry for resolving a hostname will look very similar to the one |
132 |
An <path>/etc/hosts</path> entry for resolving a hostname will look very similar |
133 |
that probably exists from when you installed Gentoo on the netboot server. |
133 |
to the one that probably exists from when you installed Gentoo on the netboot |
134 |
For our example host, sparc-netboot.gentoo.org, we'll assume that it has an IP |
134 |
server. For our example host, sparc-netboot.gentoo.org, we'll assume that it |
135 |
address of 10.0.1.15. So the /etc/hosts entry would look like; |
135 |
has an IP address of 10.0.1.15. So the <path>/etc/hosts</path> entry would look |
|
|
136 |
like; |
136 |
</p> |
137 |
</p> |
137 |
|
138 |
|
138 |
<pre caption="/etc/hosts"> |
139 |
<pre caption="/etc/hosts"> |
Lines 147-163
Link Here
|
147 |
</note> |
148 |
</note> |
148 |
|
149 |
|
149 |
<p> |
150 |
<p> |
150 |
If you use a nameserver, then the DNS server administrator will need to add a |
151 |
If you use a nameserver, then the DNS server administrator will need to add a |
151 |
record for the hostname, in our example sparc-netboot.gentoo.org, to point to |
152 |
record for the hostname, in our example sparc-netboot.gentoo.org, to point to |
152 |
the appropriate IP address. |
153 |
the appropriate IP address. Please consult your DNS server administrator and/or |
153 |
Please consult your DNS server administrator and/or the documentation for the |
154 |
the documentation for the DNS server's DNS software for how to add the entry. |
154 |
DNS server's DNS software for how to add the entry. |
|
|
155 |
</p> |
155 |
</p> |
156 |
|
156 |
|
157 |
<note> |
157 |
<note> |
158 |
If both /etc/hosts and the nameserver have an entry for the host to be |
158 |
If both <path>/etc/hosts</path> and the nameserver have an entry for the host to |
159 |
netbooted, /etc/hosts will be used first (granted the order of |
159 |
be netbooted, <path>/etc/hosts</path> will be used first (granted the order of |
160 |
/etc/nsswitch.conf has not been changed from the default). |
160 |
<path>/etc/nsswitch.conf</path> has not been changed from the default). |
161 |
</note> |
161 |
</note> |
162 |
|
162 |
|
163 |
<p> |
163 |
<p> |
Lines 167-174
Link Here
|
167 |
<p>First, we will need to determine the options to use for rarpd. While there |
167 |
<p>First, we will need to determine the options to use for rarpd. While there |
168 |
are more options than we'll cover here, these options should get you started |
168 |
are more options than we'll cover here, these options should get you started |
169 |
As there is currently no init.d script for net-misc/iputils version of rarpd, |
169 |
As there is currently no init.d script for net-misc/iputils version of rarpd, |
170 |
an entry will need to be added to /etc/conf.d/local.start if you want to enable |
170 |
an entry will need to be added to <path>/etc/conf.d/local.start</path> if you |
171 |
rarpd servies at boot time. A sample entry is as follows; |
171 |
want to enable rarpd servies at boot time. A sample entry is as follows; |
172 |
</p> |
172 |
</p> |
173 |
|
173 |
|
174 |
<pre caption="/etc/conf.d/local.start"> |
174 |
<pre caption="/etc/conf.d/local.start"> |
Lines 183-189
Link Here
|
183 |
<li>-v Be verbose</li> |
183 |
<li>-v Be verbose</li> |
184 |
<li> |
184 |
<li> |
185 |
-e Do not check for the presence of a boot image, reply if MAC address |
185 |
-e Do not check for the presence of a boot image, reply if MAC address |
186 |
resolves to a valid IP address using /etc/ethers database and DNS |
186 |
resolves to a valid IP address using <path>/etc/ethers</path> database and |
|
|
187 |
DNS |
187 |
</li> |
188 |
</li> |
188 |
<li> |
189 |
<li> |
189 |
eth0 represents the interface rarpd should bind to |
190 |
eth0 represents the interface rarpd should bind to |
Lines 209-215
Link Here
|
209 |
<p> |
210 |
<p> |
210 |
Next, options for rarpd will need to be set in /etc/conf.d/rarpd. For an |
211 |
Next, options for rarpd will need to be set in /etc/conf.d/rarpd. For an |
211 |
equivalent configuration as the one used above for net-misc/iputils rarpd, |
212 |
equivalent configuration as the one used above for net-misc/iputils rarpd, |
212 |
adjust /etc/conf.d/rarpd to look like the following |
213 |
adjust <path>/etc/conf.d/rarpd</path> to look like the following: |
213 |
</p> |
214 |
</p> |
214 |
|
215 |
|
215 |
<pre caption="/etc/conf.d/rarpd"> |
216 |
<pre caption="/etc/conf.d/rarpd"> |
Lines 242-249
Link Here
|
242 |
|
243 |
|
243 |
<p> |
244 |
<p> |
244 |
Here there are three options for a tftp daemon, net-misc/atftp, |
245 |
Here there are three options for a tftp daemon, net-misc/atftp, |
245 |
net-misc/netkit-tftp and net-misc/tftp-hpa. You only need to install one of |
246 |
net-misc/netkit-tftp and net-misc/tftp-hpa. You only need to install one of the |
246 |
the tftp daemons for proper operation. |
247 |
tftp daemons for proper operation. |
247 |
</p> |
248 |
</p> |
248 |
|
249 |
|
249 |
<p> |
250 |
<p> |
Lines 253-266
Link Here
|
253 |
<p> |
254 |
<p> |
254 |
Each tftp daemon will need a directory from which to serve files to tftp |
255 |
Each tftp daemon will need a directory from which to serve files to tftp |
255 |
clients. The directory we will use for this howto will be /tftpboot. This |
256 |
clients. The directory we will use for this howto will be /tftpboot. This |
256 |
will appear as the root (/) directory to the clients when requests are |
257 |
will appear as the root (<path>/</path>) directory to the clients when requests |
257 |
received. Additionally, we'll setup the system to run the tftp daemon with the |
258 |
are received. Additionally, we'll setup the system to run the tftp daemon with |
258 |
user and group nobody. |
259 |
the user and group nobody. |
259 |
</p> |
260 |
</p> |
260 |
|
261 |
|
261 |
<p> |
262 |
<p> |
262 |
If the directory you have chosen does not currently exist, it will need to be |
263 |
If the directory you have chosen does not currently exist, it will need to be |
263 |
created with the mkdir command. The command for the example /tftpboot is; |
264 |
created with the mkdir command. The command for the example |
|
|
265 |
<path>/tftpboot</path> is; |
264 |
</p> |
266 |
</p> |
265 |
|
267 |
|
266 |
<pre caption="Creating /tftpboot"> |
268 |
<pre caption="Creating /tftpboot"> |
Lines 268-275
Link Here
|
268 |
</pre> |
270 |
</pre> |
269 |
|
271 |
|
270 |
<p> |
272 |
<p> |
271 |
Then we will need to change the owner of /tftpboot so that it is owned by user |
273 |
Then we will need to change the owner of <path>/tftpboot</path> so that it is |
272 |
nobody and group nobody; |
274 |
owned by user nobody and group nobody; |
273 |
</p> |
275 |
</p> |
274 |
|
276 |
|
275 |
<pre caption="Changing ownership"> |
277 |
<pre caption="Changing ownership"> |
Lines 292-301
Link Here
|
292 |
|
294 |
|
293 |
<p> |
295 |
<p> |
294 |
After the net-misc/atftp package has been installed, it will need to be |
296 |
After the net-misc/atftp package has been installed, it will need to be |
295 |
configured. If tftpd services are desired at boot time, an entry to |
297 |
configured. If tftpd services are desired at boot time, an entry to |
296 |
/etc/conf.d/local.start will need to be added as atftp has no init.d, inetd or |
298 |
<path>/etc/conf.d/local.start</path> will need to be added as atftp has no |
297 |
xinetd scripts of its own. If you want to use inetd or xinetd for controlling |
299 |
init.d, inetd or xinetd scripts of its own. If you want to use inetd or xinetd |
298 |
the tftpd service, please see their respective man pages. |
300 |
for controlling the tftpd service, please see their respective man pages. |
299 |
</p> |
301 |
</p> |
300 |
|
302 |
|
301 |
<p> |
303 |
<p> |
Lines 410-415
Link Here
|
410 |
<section> |
412 |
<section> |
411 |
<title>The tftp-hpa Daemon</title> |
413 |
<title>The tftp-hpa Daemon</title> |
412 |
<body> |
414 |
<body> |
|
|
415 |
|
413 |
<p> |
416 |
<p> |
414 |
First, install the tftp-hpa package using the following command; |
417 |
First, install the tftp-hpa package using the following command; |
415 |
</p> |
418 |
</p> |
Lines 453-465
Link Here
|
453 |
<p> |
456 |
<p> |
454 |
Make sure you have an image you want to use for netbooting. For a sparc or |
457 |
Make sure you have an image you want to use for netbooting. For a sparc or |
455 |
sparc64 netboot image, please check your local Gentoo distfiles mirror under |
458 |
sparc64 netboot image, please check your local Gentoo distfiles mirror under |
456 |
experimental/sparc/tftpboot for the appropriate image. We'll assume you are |
459 |
<path>experimental/sparc/tftpboot</path> for the appropriate image. We'll |
457 |
planning to boot a sparc64 host using the |
460 |
assume you are planning to boot a sparc64 host using the |
458 |
gentoo-sparc64-1.4_rc4-20040102.tftpboot image. |
461 |
<path>gentoo-sparc64-1.4_rc4-20040102.tftpboot</path> image. |
459 |
</p> |
462 |
</p> |
460 |
|
463 |
|
461 |
<p> |
464 |
<p> |
462 |
Once you have an image, copy the image into /tftpboot; |
465 |
Once you have an image, copy the image into <path>/tftpboot</path>; |
463 |
</p> |
466 |
</p> |
464 |
|
467 |
|
465 |
<pre caption="Copying the image"> |
468 |
<pre caption="Copying the image"> |
Lines 468-475
Link Here
|
468 |
|
471 |
|
469 |
<p> |
472 |
<p> |
470 |
Now, when the netboot client makes a tftp request, it looks for a file that is |
473 |
Now, when the netboot client makes a tftp request, it looks for a file that is |
471 |
the hexidecimal number of its current IP address, and on some platforms an |
474 |
the hexidecimal number of its current IP address, and on some platforms an .ARCH |
472 |
.ARCH suffix. The hexidecimal number should use <e>capital</e> characters. |
475 |
suffix. The hexidecimal number should use <e>capital</e> characters. |
473 |
</p> |
476 |
</p> |
474 |
|
477 |
|
475 |
<p> |
478 |
<p> |
Lines 483-494
Link Here
|
483 |
</p> |
486 |
</p> |
484 |
|
487 |
|
485 |
<note> |
488 |
<note> |
486 |
For each octet in the IP address (the 10 in 10.0.1.15 for instance), you |
489 |
For each octet in the IP address (the 10 in 10.0.1.15 for instance), you will |
487 |
will need to convert it to hexidecimal, rather than converting the IP address asa singular number. |
490 |
need to convert it to hexidecimal, rather than converting the IP address asa |
|
|
491 |
singular number. |
488 |
</note> |
492 |
</note> |
489 |
|
493 |
|
490 |
<p>So for our example IP address, 10.0.1.15, let's look at its hexidecimal |
494 |
<p> |
491 |
equivalent; |
495 |
So for our example IP address, 10.0.1.15, let's look at its hexidecimal |
|
|
496 |
equivalent: |
492 |
</p> |
497 |
</p> |
493 |
|
498 |
|
494 |
<pre caption="Example IP address"> |
499 |
<pre caption="Example IP address"> |
Lines 539-546
Link Here
|
539 |
As a way to keep track of what netboot image you are using, and to allow |
544 |
As a way to keep track of what netboot image you are using, and to allow |
540 |
multiple machines to use the same netboot image, you can use a soft link to |
545 |
multiple machines to use the same netboot image, you can use a soft link to |
541 |
create the file with the hexidecimal value. To create this using our sample |
546 |
create the file with the hexidecimal value. To create this using our sample |
542 |
sparc64 host and the gentoo-sparc64-1.4_rc4-20040102.tftpboot, use the |
547 |
sparc64 host and the <path>gentoo-sparc64-1.4_rc4-20040102.tftpboot</path>, use |
543 |
following command; |
548 |
the following command; |
544 |
</p> |
549 |
</p> |
545 |
|
550 |
|
546 |
<pre caption="Linking the image files"> |
551 |
<pre caption="Linking the image files"> |
Lines 642-649
Link Here
|
642 |
|
647 |
|
643 |
<p> |
648 |
<p> |
644 |
<b>I'm trying to netboot, but all I see are "Timeout waiting for |
649 |
<b>I'm trying to netboot, but all I see are "Timeout waiting for |
645 |
ARP/RARP packet" messages. |
650 |
ARP/RARP packet" messages.</b> |
646 |
</b> |
|
|
647 |
</p> |
651 |
</p> |
648 |
|
652 |
|
649 |
<p> |
653 |
<p> |
Lines 666-683
Link Here
|
666 |
Verify that the rarpd service is up and running. |
670 |
Verify that the rarpd service is up and running. |
667 |
</li> |
671 |
</li> |
668 |
<li> |
672 |
<li> |
669 |
The client does not think its NIC has a link to the network hub/switch |
673 |
The client does not think its NIC has a link to the network hub/switch it is |
670 |
it is plugged into. Check to see if the NIC and the port on the network |
674 |
plugged into. Check to see if the NIC and the port on the network hub or |
671 |
hub or switch has a link light. If the link light is on, check |
675 |
switch has a link light. If the link light is on, check to see what the |
672 |
to see what the setting of tpe-link-test? is in OBP with the command; |
676 |
setting of tpe-link-test? is in OBP with the command; <c>printenv |
673 |
<c>printenv tpe-link-test?</c>. You should receive something like |
677 |
tpe-link-test?</c>. You should receive something like <path>tpe-link-test? |
674 |
<path>tpe-link-test? false true</path>. |
678 |
false true</path>. The first column represents the parameter name, the |
675 |
The first column represents the parameter name, the second column shows the |
679 |
second column shows the current value for the the parameter, and the third |
676 |
current value for the the parameter, and the third column shows the default |
680 |
column shows the default value for the parameter. In the example above, we |
677 |
value for the parameter. In the example above, we can see that the current |
681 |
can see that the current value is false, which means that the client is not |
678 |
value is false, which means that the client is not checking to see if the |
682 |
checking to see if the client and network hub or switch can establish a link |
679 |
client and network hub or switch can establish a link before issuing its |
683 |
before issuing its RARP request. Often times this can cause the problem. |
680 |
RARP request. Often times this can cause the problem. |
|
|
681 |
</li> |
684 |
</li> |
682 |
</ol> |
685 |
</ol> |
683 |
|
686 |
|
Lines 701-704
Link Here
|
701 |
</chapter> |
704 |
</chapter> |
702 |
|
705 |
|
703 |
</guide> |
706 |
</guide> |
704 |
|
|
|