/[gentoo]/xml/htdocs/doc/en/handbook/hb-install-mips-bootloader.xml
Gentoo

Diff of /xml/htdocs/doc/en/handbook/hb-install-mips-bootloader.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.14 Revision 1.15
2<!DOCTYPE sections SYSTEM "/dtd/book.dtd"> 2<!DOCTYPE sections SYSTEM "/dtd/book.dtd">
3 3
4<!-- The content of this document is licensed under the CC-BY-SA license --> 4<!-- The content of this document is licensed under the CC-BY-SA license -->
5<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> 5<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
6 6
7<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-mips-bootloader.xml,v 1.14 2006/03/14 19:29:29 neysx Exp $ --> 7<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-mips-bootloader.xml,v 1.15 2006/06/12 10:18:17 neysx Exp $ -->
8 8
9<sections> 9<sections>
10 10
11<version>1.10</version> 11<version>1.10</version>
12<date>2006-02-27</date> 12<date>2006-02-27</date>
16<subsection> 16<subsection>
17<title>Which one?</title> 17<title>Which one?</title>
18<body> 18<body>
19 19
20<p> 20<p>
21On SGI machines, you have two options for bootloaders. <c>arcboot</c> and 21On SGI machines, you have two options for bootloaders. <c>arcboot</c> and
22<c>arcload</c>. The table below lists the pros and cons for each bootloader. 22<c>arcload</c>. The table below lists the pros and cons for each bootloader.
23</p> 23</p>
24 24
25<table> 25<table>
26<tr> 26<tr>
27 <th> </th> 27 <th> </th>
35 </ti> 35 </ti>
36</tr> 36</tr>
37<tr> 37<tr>
38 <th>-</th> 38 <th>-</th>
39 <ti> 39 <ti>
40 It doesn't work on Octane/Octane2, Origin 200/2000 or 40 It doesn't work on Octane/Octane2, Origin 200/2000 or Indigo2 Impact
41 Indigo2 Impact (R10000) 41 (R10000)
42 </ti> 42 </ti>
43</tr> 43</tr>
44</table> 44</table>
45 45
46<table> 46<table>
49 <th>arcload</th> 49 <th>arcload</th>
50</tr> 50</tr>
51<tr> 51<tr>
52 <th>+</th> 52 <th>+</th>
53 <ti> 53 <ti>
54 It boots ALL Linux-compatable SGI systems 54 It boots ALL Linux-compatible SGI systems
55 </ti> 55 </ti>
56</tr> 56</tr>
57<tr> 57<tr>
58 <th>-</th> 58 <th>-</th>
59 <ti> 59 <ti>
62 </ti> 62 </ti>
63</tr> 63</tr>
64</table> 64</table>
65 65
66<note> 66<note>
67The SGI volume header filenames are limited to 8 characters, and there may be no 67The SGI volume header filenames are limited to 8 characters, and there may be
68more than 16 files contained in a single volume header. 68no more than 16 files contained in a single volume header.
69</note> 69</note>
70 70
71</body> 71</body>
72</subsection> 72</subsection>
73 73
75<title>Installing arcboot</title> 75<title>Installing arcboot</title>
76<body> 76<body>
77 77
78<p> 78<p>
79Previously in this guide, we showed you how to make a kernel, then copy it to 79Previously in this guide, we showed you how to make a kernel, then copy it to
80the volume header using <c>dvhtool</c>. There were two main flaws with this 80the volume header using <c>dvhtool</c>. There were two main flaws with this
81system: 81system:
82</p> 82</p>
83 83
84<ul> 84<ul>
85 <li>This is not supported on all SGI systems</li> 85 <li>This is not supported on all SGI systems</li>
86 <li>It requires a significantly larger volume header</li> 86 <li>It requires a significantly larger volume header</li>
87</ul> 87</ul>
88 88
89<p> 89<p>
90In order to boot the machine, a bootloader, <c>arcboot</c> was developed for 90In order to boot the machine, a bootloader, <c>arcboot</c> was developed for
91this purpose. Instead of putting the kernel directly into the volume header, we 91this purpose. Instead of putting the kernel directly into the volume header, we
92leave it in <path>/boot</path> (which resides on a EXT2/3 partition), and tell 92leave it in <path>/boot</path> (which resides on a EXT2/3 partition), and tell
93<c>arcboot</c> (which sits in the volume header in place of the kernel) where to 93<c>arcboot</c> (which sits in the volume header in place of the kernel) where
94find it. So our first step, is to emerge some tools that we'll use later... 94to find it. So our first step, is to emerge some tools that we'll use later...
95</p> 95</p>
96 96
97<pre caption="Installing the required tools"> 97<pre caption="Installing the required tools">
98# <i>emerge dvhtool arcboot</i> 98# <i>emerge dvhtool arcboot</i>
99</pre> 99</pre>
103header and loads kernels for us, and <c>dvhtool</c> which helps us put 103header and loads kernels for us, and <c>dvhtool</c> which helps us put
104<c>arcboot</c> into the volume header. 104<c>arcboot</c> into the volume header.
105</p> 105</p>
106 106
107<p> 107<p>
108The <c>arcboot</c> binary lurks in <path>/usr/lib/arcboot</path>. The name of 108The <c>arcboot</c> binary lurks in <path>/usr/lib/arcboot</path>. The name of
109the binary depends on the machine it's compiled for. 109the binary depends on the machine it's compiled for.
110</p> 110</p>
111 111
112<ul> 112<ul>
113 <li> 113 <li>
136# 136#
137</pre> 137</pre>
138 138
139<note> 139<note>
140You'll notice that in the example above, there are two old kernels sitting 140You'll notice that in the example above, there are two old kernels sitting
141around, <path>linux</path> and <path>newlinux</path>. This is a hangover from 141around, <path>linux</path> and <path>newlinux</path>. This is a hangover from
142before we started using <c>arcboot</c>. Their presence doesn't matter -- just 142before we started using <c>arcboot</c>. Their presence doesn't matter -- just
143so long as <c>arcboot</c> is present, everything is fine. 143so long as <c>arcboot</c> is present, everything is fine.
144</note> 144</note>
145 145
146<p> 146<p>
147If you've ever set up the Linux Loader (<c>lilo</c>) before, you'll find that 147If you've ever set up the Linux Loader (<c>lilo</c>) before, you'll find that
148<c>arcboot</c> employs a similar syntax in its configuration file. Bear in mind 148<c>arcboot</c> employs a similar syntax in its configuration file. Bear in mind
149though; <c>arcboot</c> expects to find its configuration file existing on an 149though; <c>arcboot</c> expects to find its configuration file existing on an
150EXT2/3 partition as <path>/etc/arcboot.conf</path>. The easiest way around this 150EXT2/3 partition as <path>/etc/arcboot.conf</path>. The easiest way around this
151is to make sure <path>/boot</path> is an EXT2/3 partition and that there's a 151is to make sure <path>/boot</path> is an EXT2/3 partition and that there's a
152file called <path>arcboot.conf</path> inside the <path>/boot/etc</path> 152file called <path>arcboot.conf</path> inside the <path>/boot/etc</path>
153directory. An example config can be found in 153directory. An example config can be found in
154<path>/etc/arcboot.conf.sample</path>. 154<path>/etc/arcboot.conf.sample</path>.
155</p> 155</p>
156 156
157<note> 157<note>
158Adjust the paths accordingly if you 158Adjust the paths accordingly if you don't have a separate <path>/boot</path>
159don't have a separate <path>/boot</path> partition. 159partition.
160</note> 160</note>
161 161
162<pre caption="Putting arcboot.conf in its place"> 162<pre caption="Putting arcboot.conf in its place">
163<comment>(Create the /boot/etc directory)</comment> 163<comment>(Create the /boot/etc directory)</comment>
164# <i>mkdir /boot/etc</i> 164# <i>mkdir /boot/etc</i>
172<comment>(... and a symlink in /boot pointing to itself)</comment> 172<comment>(... and a symlink in /boot pointing to itself)</comment>
173# <i>(cd /boot; ln -s . boot)</i> 173# <i>(cd /boot; ln -s . boot)</i>
174</pre> 174</pre>
175 175
176<p> 176<p>
177You can then edit <path>/etc/arcboot.conf</path> to your own preference. 177You can then edit <path>/etc/arcboot.conf</path> to your own preference. One
178One possible layout, is to set up two kernel images: <path>new</path>, a 178possible layout, is to set up two kernel images: <path>new</path>, a freshly
179freshly built image that may or may not work; and <path>working</path>, a 179built image that may or may not work; and <path>working</path>, a proven
180proven trustworthy kernel image. The <path>arcboot.conf</path> for that 180trustworthy kernel image. The <path>arcboot.conf</path> for that setup looks a
181setup looks a bit like this. 181bit like this.
182</p> 182</p>
183 183
184<pre caption="Example arcboot.conf"> 184<pre caption="Example arcboot.conf">
185<comment># arcboot.conf</comment> 185<comment># arcboot.conf</comment>
186<comment>#</comment> 186<comment>#</comment>
197 append="root=/dev/sda3" 197 append="root=/dev/sda3"
198</pre> 198</pre>
199 199
200<p> 200<p>
201Once that is set up, there's then just some little tweaks that you need to do 201Once that is set up, there's then just some little tweaks that you need to do
202within the SGI PROM to make this magic work. This is covered in, not the next 202within the SGI PROM to make this magic work. This is covered in, not the next
203section (that's for Cobalt servers) but the following section 203section (that's for Cobalt servers) but the following section <uri
204<uri link="#reboot">Rebooting the System</uri>. 204link="#reboot">Rebooting the System</uri>.
205</p> 205</p>
206 206
207</body> 207</body>
208</subsection> 208</subsection>
209 209
212<body> 212<body>
213 213
214<p> 214<p>
215<c>arcload</c> was written for machines that require 64-bit kernels, and 215<c>arcload</c> was written for machines that require 64-bit kernels, and
216therefore can't use <c>arcboot</c> (which can't easily be compiled as a 64-bit 216therefore can't use <c>arcboot</c> (which can't easily be compiled as a 64-bit
217binary). It also works around peculiarities that arise when loading kernels 217binary). It also works around peculiarities that arise when loading kernels
218directly from the volume header. So, now you know what this is about, we 218directly from the volume header. So, now you know what this is about, we can
219can proceed with the installation: 219proceed with the installation:
220</p> 220</p>
221 221
222<pre caption="Merging arcload and dvhtool"> 222<pre caption="Merging arcload and dvhtool">
223# <i>emerge arcload dvhtool</i> 223# <i>emerge arcload dvhtool</i>
224</pre> 224</pre>
225 225
226<p> 226<p>
227Once this has finished, you should find the <c>arcload</c> binary in 227Once this has finished, you should find the <c>arcload</c> binary in
228<path>/usr/lib/arcload</path>. Now, two files exist: 228<path>/usr/lib/arcload</path>. Now, two files exist:
229</p> 229</p>
230 230
231<ul> 231<ul>
232 <li> 232 <li>
233 <c>sashARCS</c>: The 32-bit binary for Indy, Indigo2 (R4k), Challenge S 233 <c>sashARCS</c>: The 32-bit binary for Indy, Indigo2 (R4k), Challenge S and
234 and O2 systems 234 O2 systems
235 </li> 235 </li>
236 <li> 236 <li>
237 <c>sash64</c>: The 64-bit binary for Octane/Octane2, Origin 200/2000 and 237 <c>sash64</c>: The 64-bit binary for Octane/Octane2, Origin 200/2000 and
238 Indigo2 Impact systems 238 Indigo2 Impact systems
239 </li> 239 </li>
252# <i>dvhtool --unix-to-vh /usr/lib/arcload/sash64 sash64</i> 252# <i>dvhtool --unix-to-vh /usr/lib/arcload/sash64 sash64</i>
253</pre> 253</pre>
254 254
255<note> 255<note>
256You don't have to use the name <c>sashARCS</c> or <c>sash64</c>, unless you are 256You don't have to use the name <c>sashARCS</c> or <c>sash64</c>, unless you are
257installing to the volume header of a bootable CD. For normal boot from 257installing to the volume header of a bootable CD. For normal boot from
258hard-disk, you may name them something else if you wish. 258hard-disk, you may name them something else if you wish.
259</note> 259</note>
260 260
261<p> 261<p>
262Now just use <c>dvhtool</c> to verify they are in the volume header. 262Now just use <c>dvhtool</c> to verify they are in the volume header.
268Entry #0, name "sash64", start 4, bytes 55859 268Entry #0, name "sash64", start 4, bytes 55859
269# 269#
270</pre> 270</pre>
271 271
272<p> 272<p>
273Now, the <c>arc.cf</c> file has a C-like syntax. For the full detail on how 273Now, the <c>arc.cf</c> file has a C-like syntax. For the full detail on how one
274one configures it, see the <uri 274configures it, see the <uri
275link="http://www.linux-mips.org/wiki/Arcload">arcload page on the 275link="http://www.linux-mips.org/wiki/Arcload">arcload page on the Linux/MIPS
276Linux/MIPS wiki</uri>. In short, you define a number of options, which you 276wiki</uri>. In short, you define a number of options, which you enable and
277enable and disable at boot time using the <c>OSLoadFilename</c> variable. 277disable at boot time using the <c>OSLoadFilename</c> variable.
278</p> 278</p>
279 279
280<pre caption="An example arc.cf"> 280<pre caption="An example arc.cf">
281<comment># ARCLoad Configuration</comment> 281<comment># ARCLoad Configuration</comment>
282 282
283<comment># Some default settings...</comment> 283<comment># Some default settings...</comment>
284append "root=/dev/sda3"; 284append "root=/dev/sda3";
285append "ro"; 285append "ro";
286append "console=ttyS0,9600"; 286append "console=ttyS0,9600";
287 287
288<comment># Our main definition. ip28 may be changed if you wish.</comment> 288<comment># Our main definition. ip28 may be changed if you wish.</comment>
289ip28 { 289ip28 {
290 <comment># Definition for a "working" kernel</comment> 290 <comment># Definition for a "working" kernel</comment>
291 <comment># Select this by setting OSLoadFilename="ip28(working)"</comment> 291 <comment># Select this by setting OSLoadFilename="ip28(working)"</comment>
292 working { 292 working {
293 description "SGI Indigo2 Impact R10000\n\r"; 293 description "SGI Indigo2 Impact R10000\n\r";
311} 311}
312</pre> 312</pre>
313 313
314<p> 314<p>
315This is then placed in the volume header with <c>sash64</c> (or 315This is then placed in the volume header with <c>sash64</c> (or
316<c>sashARCS</c>) as shown below. Kernels also get placed in the volume header. 316<c>sashARCS</c>) as shown below. Kernels also get placed in the volume header.
317</p> 317</p>
318 318
319<pre caption="Placing arc.cf and kernel in the volume header"> 319<pre caption="Placing arc.cf and kernel in the volume header">
320# <i>dvhtool --unix-to-vh arc.cf arc.cf</i> 320# <i>dvhtool --unix-to-vh arc.cf arc.cf</i>
321# <i>dvhtool --unix-to-vh /usr/src/linux/vmlinux new</i> 321# <i>dvhtool --unix-to-vh /usr/src/linux/vmlinux new</i>
322</pre> 322</pre>
323 323
324<p> 324<p>
325With this done, now all that's left is to set some options in the PROM. See the 325With this done, now all that's left is to set some options in the PROM. See the
326section on <uri link="#reboot">Rebooting the System</uri>. 326section on <uri link="#reboot">Rebooting the System</uri>.
327</p> 327</p>
328 328
329</body> 329</body>
330</subsection> 330</subsection>
336<subsection> 336<subsection>
337<title>Installing CoLo</title> 337<title>Installing CoLo</title>
338<body> 338<body>
339 339
340<p> 340<p>
341On Cobalt servers, these machines have a much less capable firmware installed on 341On Cobalt servers, these machines have a much less capable firmware installed
342chip. The Cobalt BOOTROM is primitive, by comparison to the SGI PROM, and has a 342on chip. The Cobalt BOOTROM is primitive, by comparison to the SGI PROM, and
343number of serious limitations. 343has a number of serious limitations.
344</p> 344</p>
345 345
346<ul> 346<ul>
347 <li> 347 <li>
348 There's a 675kB (approximate) limit on kernels. The current size of Linux 348 There's a 675kB (approximate) limit on kernels. The current size of Linux
349 2.4 makes it damn near impossible to make a kernel this size. Linux 2.6 is 349 2.4 makes it damn near impossible to make a kernel this size. Linux 2.6 is
350 totally out of the question. 350 totally out of the question.
351 </li> 351 </li>
352 <li> 352 <li>
353 64-bit kernels are not supported by the stock firmware (although these are 353 64-bit kernels are not supported by the stock firmware (although these are
354 highly experimental on Cobalt machines at this time) 354 highly experimental on Cobalt machines at this time)
357 The shell is basic at best 357 The shell is basic at best
358 </li> 358 </li>
359</ul> 359</ul>
360 360
361<p> 361<p>
362To overcome these limitations, an alternative firmware, called 362To overcome these limitations, an alternative firmware, called <uri
363<uri link="http://www.colonel-panic.org/cobalt-mips/">CoLo</uri> (Cobalt 363link="http://www.colonel-panic.org/cobalt-mips/">CoLo</uri> (Cobalt Loader) was
364Loader) was developed. This is a BOOTROM image that can either be flashed into 364developed. This is a BOOTROM image that can either be flashed into the chip
365the chip inside the Cobalt server, or loaded from the existing firmware. 365inside the Cobalt server, or loaded from the existing firmware.
366</p> 366</p>
367 367
368<note> 368<note>
369This guide will take you through setting up CoLo so that it is loaded by the 369This guide will take you through setting up CoLo so that it is loaded by the
370stock firmware. This is the only truly safe, and recommended way to set up CoLo. 370stock firmware. This is the only truly safe, and recommended way to set up
371CoLo.
371</note> 372</note>
372 373
373<warn> 374<warn>
374You may, if you wish, flash it into the server, and totally 375You may, if you wish, flash it into the server, and totally replace the
375replace the original firmware -- however, you are entirely on your own in that 376original firmware -- however, you are entirely on your own in that endeavour.
376endeavour. Should anything go wrong, you will need to physically remove the 377Should anything go wrong, you will need to physically remove the BOOTROM and
377BOOTROM and reprogram it yourself with the stock firmware. If you are not 378reprogram it yourself with the stock firmware. If you are not sure how to do
378sure how to do this -- then <e>DO NOT</e> flash your machine. We take no 379this -- then <e>DO NOT</e> flash your machine. We take no responsibility for
379responsibility for whatever happens if you ignore this advice. 380whatever happens if you ignore this advice.
380</warn> 381</warn>
381 382
382<p> 383<p>
383Okay, with the warnings over now, we'll get on with installing CoLo. First, 384Okay, with the warnings over now, we'll get on with installing CoLo. First,
384start by emerging the package. 385start by emerging the package.
385</p> 386</p>
386 387
387<pre caption="Emerging colo"> 388<pre caption="Emerging colo">
388# <i>emerge colo</i> 389# <i>emerge colo</i>
390 391
391<p> 392<p>
392With that installed (I hope you read those messages ;-) you should be able to 393With that installed (I hope you read those messages ;-) you should be able to
393look inside the <path>/usr/lib/colo</path> directory to find two files, 394look inside the <path>/usr/lib/colo</path> directory to find two files,
394<path>colo-chain.elf</path>: the "kernel" for the stock firmware to load, and 395<path>colo-chain.elf</path>: the "kernel" for the stock firmware to load, and
395<path>colo-rom-image.bin</path>: a ROM image for flashing into the BOOTROM. We 396<path>colo-rom-image.bin</path>: a ROM image for flashing into the BOOTROM. We
396start by mounting /boot and dumping a compressed copy of 397start by mounting /boot and dumping a compressed copy of
397<path>colo-chain.elf</path> in <path>/boot</path> where the system expects it. 398<path>colo-chain.elf</path> in <path>/boot</path> where the system expects it.
398</p> 399</p>
399 400
400<pre caption="Putting CoLo in its place"> 401<pre caption="Putting CoLo in its place">
409 410
410<body> 411<body>
411 412
412<p> 413<p>
413Now, when the system first boots up, it'll load CoLo which will spit up a menu 414Now, when the system first boots up, it'll load CoLo which will spit up a menu
414on the back LCD. The first option (and default that is assumed after roughly 5 415on the back LCD. The first option (and default that is assumed after roughly 5
415seconds) is to boot to the hard disk. The system would then attempt to mount 416seconds) is to boot to the hard disk. The system would then attempt to mount
416the first Linux partition it finds, and run the script 417the first Linux partition it finds, and run the script
417<path>default.colo</path>. The syntax is fully documented in the CoLo 418<path>default.colo</path>. The syntax is fully documented in the CoLo
418documentation (have a peek at 419documentation (have a peek at
419<path>/usr/share/doc/colo-X.YY/README.shell.gz</path> -- where X.YY is the 420<path>/usr/share/doc/colo-X.YY/README.shell.gz</path> -- where X.YY is the
420version installed), and is very simple. 421version installed), and is very simple.
421</p> 422</p>
422 423
423<note> 424<note>
424Just a tip: when installing kernels, I usually create two kernel images, 425Just a tip: when installing kernels, I usually create two kernel images,
425<path>kernel.gz.working</path> -- a known working kernel, and 426<path>kernel.gz.working</path> -- a known working kernel, and
426<path>kernel.gz.new</path> -- a kernel that's just been compiled. You can either 427<path>kernel.gz.new</path> -- a kernel that's just been compiled. You can
427use symlinks to point to the curent "new" and "working" kernels, or just rename 428either use symlinks to point to the curent "new" and "working" kernels, or just
428the kernel images. 429rename the kernel images.
429</note> 430</note>
430 431
431<pre caption="A basic default.colo"> 432<pre caption="A basic default.colo">
432<comment>#:CoLo:#</comment> 433<comment>#:CoLo:#</comment>
433mount hda1 434mount hda1
435execute root=/dev/hda3 ro console=ttyS0,115200 436execute root=/dev/hda3 ro console=ttyS0,115200
436</pre> 437</pre>
437 438
438<note> 439<note>
439CoLo will refuse to load a script that does not begin with the <c>#:CoLo:#</c> 440CoLo will refuse to load a script that does not begin with the <c>#:CoLo:#</c>
440line. Think of it as the equivalent of saying <c>#!/bin/sh</c> in shell 441line. Think of it as the equivalent of saying <c>#!/bin/sh</c> in shell
441scripts. 442scripts.
442</note> 443</note>
443 444
444<p> 445<p>
445It is also possible to ask a question, such as which kernel &amp; configuration 446It is also possible to ask a question, such as which kernel &amp; configuration
446you'd like to boot, with a default timeout. This configuration does exactly 447you'd like to boot, with a default timeout. This configuration does exactly
447this, asks the user which kernel they wish to use, and executes the chosen 448this, asks the user which kernel they wish to use, and executes the chosen
448image. <path>vmlinux.gz.new</path> and <path>vmlinux.gz.working</path> may be 449image. <path>vmlinux.gz.new</path> and <path>vmlinux.gz.working</path> may be
449actual kernel images, or just symlinks pointing to the kernel images on that 450actual kernel images, or just symlinks pointing to the kernel images on that
450disk. The <c>50</c> argument to <c>select</c> specifies that it should proceed 451disk. The <c>50</c> argument to <c>select</c> specifies that it should proceed
451with the first option ("Working") after 50/10 seconds. 452with the first option ("Working") after 50/10 seconds.
452</p> 453</p>
453 454
454<pre caption="Menu-based configuration"> 455<pre caption="Menu-based configuration">
455<comment>#:CoLo:#</comment> 456<comment>#:CoLo:#</comment>
488<subsection> 489<subsection>
489<body> 490<body>
490 491
491<p> 492<p>
492Okay, the Linux installation as it stands now, would boot fine, but assumes 493Okay, the Linux installation as it stands now, would boot fine, but assumes
493you're going to be logged in at a physical terminal. On Cobalt machines, this 494you're going to be logged in at a physical terminal. On Cobalt machines, this
494is particularly bad -- there's no such thing as a physical terminal. 495is particularly bad -- there's no such thing as a physical terminal.
495</p> 496</p>
496 497
497<note> 498<note>
498Those who do have the luxury of a supported video chipset may skip this section if 499Those who do have the luxury of a supported video chipset may skip this section
499they wish. 500if they wish.
500</note> 501</note>
501 502
502<p> 503<p>
503First, pull up an editor and hack away at <path>/etc/inittab</path>. Further 504First, pull up an editor and hack away at <path>/etc/inittab</path>. Further
504down in the file, you'll see something like this: 505down in the file, you'll see something like this:
505</p> 506</p>
506 507
507<pre caption="inittab Configuration"> 508<pre caption="inittab Configuration">
508<comment># SERIAL CONSOLE</comment> 509<comment># SERIAL CONSOLE</comment>
519<comment># What to do at the "Three Finger Salute".</comment> 520<comment># What to do at the "Three Finger Salute".</comment>
520ca:12345:ctrlaltdel:/sbin/shutdown -r now 521ca:12345:ctrlaltdel:/sbin/shutdown -r now
521</pre> 522</pre>
522 523
523<p> 524<p>
524First, uncomment the <c>c0</c> line. By default, it's set to use a terminal 525First, uncomment the <c>c0</c> line. By default, it's set to use a terminal
525baud rate of 9600 bps. On Cobalt servers, you may want to change this to 115200 526baud rate of 9600 bps. On Cobalt servers, you may want to change this to 115200
526to match the baud rate decided by the BOOT ROM. This is how that section looks 527to match the baud rate decided by the BOOT ROM. This is how that section looks
527on my machine. On a headless machine (e.g. Cobalt servers), I'll also recommend 528on my machine. On a headless machine (e.g. Cobalt servers), I'll also recommend
528commenting out the local terminal lines (<c>c1</c> through to <c>c6</c>) 529commenting out the local terminal lines (<c>c1</c> through to <c>c6</c>) as
529as these have a habit of misbehaving when they can't open 530these have a habit of misbehaving when they can't open <path>/dev/ttyX</path>.
530<path>/dev/ttyX</path>.
531</p> 531</p>
532 532
533<pre caption="Example snippet from inittab"> 533<pre caption="Example snippet from inittab">
534<comment># SERIAL CONSOLE</comment> 534<comment># SERIAL CONSOLE</comment>
535c0:12345:respawn:/sbin/agetty 115200 ttyS0 vt102 535c0:12345:respawn:/sbin/agetty 115200 ttyS0 vt102
543<comment>#c6:12345:respawn:/sbin/agetty 38400 tty6 linux</comment> 543<comment>#c6:12345:respawn:/sbin/agetty 38400 tty6 linux</comment>
544</pre> 544</pre>
545 545
546<p> 546<p>
547Now, lastly... we have to tell the system, that the local serial port can be 547Now, lastly... we have to tell the system, that the local serial port can be
548trusted as a secure terminal. The file we need to poke at is 548trusted as a secure terminal. The file we need to poke at is
549<path>/etc/securetty</path>. It contains a list of terminals that the system 549<path>/etc/securetty</path>. It contains a list of terminals that the system
550trusts. We simply stick in two more lines, permitting the serial line to be 550trusts. We simply stick in two more lines, permitting the serial line to be
551used for <c>root</c> logins. 551used for <c>root</c> logins.
552</p> 552</p>
553 553
554<pre caption="Enabling root logins on serial console"> 554<pre caption="Enabling root logins on serial console">
555<comment>(/dev/ttyS0 -- the traditional name for the first serial port)</comment> 555<comment>(/dev/ttyS0 -- the traditional name for the first serial port)</comment>
568<title>Rebooting the System</title> 568<title>Rebooting the System</title>
569<subsection> 569<subsection>
570<body> 570<body>
571 571
572<p> 572<p>
573Exit the chrooted environment and unmount all mounted partitions. Then type in 573Exit the chrooted environment and unmount all mounted partitions. Then type in
574that one magical command you have been waiting for: <c>reboot</c>. 574that one magical command you have been waiting for: <c>reboot</c>.
575</p> 575</p>
576 576
577<pre caption="Exiting the chroot, unmounting all partitions and rebooting"> 577<pre caption="Exiting the chroot, unmounting all partitions and rebooting">
578# <i>exit</i> 578# <i>exit</i>
582</pre> 582</pre>
583 583
584<note> 584<note>
585<e>Cobalt Users:</e> The rest of this section covers the setting up of the SGI 585<e>Cobalt Users:</e> The rest of this section covers the setting up of the SGI
586PROM so that it boots <c>arcboot</c>/<c>arcload</c> off disk and loads Linux. 586PROM so that it boots <c>arcboot</c>/<c>arcload</c> off disk and loads Linux.
587This is not applicable to the setup of Cobalt servers. In fact, all your work 587This is not applicable to the setup of Cobalt servers. In fact, all your work
588is done -- there is no configuration needed for the first boot up, you can skip 588is done -- there is no configuration needed for the first boot up, you can skip
589to the next section: <uri link="?part=1&amp;chap=11">Finalising your Gentoo 589to the next section: <uri link="?part=1&amp;chap=11">Finalising your Gentoo
590Installation</uri> 590Installation</uri>
591</note> 591</note>
592 592
614<comment>(Reboot)</comment> 614<comment>(Reboot)</comment>
615# <i>reboot</i> 615# <i>reboot</i>
616</pre> 616</pre>
617 617
618<p> 618<p>
619When you are rebooted, go to the <e>System Maintenance Menu</e> and select 619When you are rebooted, go to the <e>System Maintenance Menu</e> and select
620<e>Enter Command Monitor</e> (<c>5</c>) like you did when you netbooted the 620<e>Enter Command Monitor</e> (<c>5</c>) like you did when you netbooted the
621machine. 621machine.
622</p> 622</p>
623 623
624<pre caption="Configuring the PROM to Boot Gentoo"> 624<pre caption="Configuring the PROM to Boot Gentoo">
6273) Run Diagnostics 6273) Run Diagnostics
6284) Recover System 6284) Recover System
6295) Enter Command Monitor 6295) Enter Command Monitor
630 630
631Option? <i>5</i> 631Option? <i>5</i>
632Command Monitor. Type "exit" to return to the menu. 632Command Monitor. Type "exit" to return to the menu.
633 633
634<comment>(Set some options which are common for both arcload and arcboot)</comment> 634<comment>(Set some options which are common for both arcload and arcboot)</comment>
635 635
636<comment>(Provide the location of the Volume Header)</comment> 636<comment>(Provide the location of the Volume Header)</comment>
637&gt;&gt; <i>setenv SystemPartition scsi(0)disk(1)rdisk(0)partition(8)</i> 637&gt;&gt; <i>setenv SystemPartition scsi(0)disk(1)rdisk(0)partition(8)</i>
643&gt;&gt; <i>setenv TimeZone EST5EDT</i> 643&gt;&gt; <i>setenv TimeZone EST5EDT</i>
644 644
645<comment>(Use the serial console - graphic adapter users should have "g" instead of "d1" (one))</comment> 645<comment>(Use the serial console - graphic adapter users should have "g" instead of "d1" (one))</comment>
646&gt;&gt; <i>setenv console d1</i> 646&gt;&gt; <i>setenv console d1</i>
647 647
648<comment>(Setting the serial console baud rate. This is optional, 9600 is the ) 648<comment>(Setting the serial console baud rate. This is optional, 9600 is the )
649(default setting, although one may use rates up to 38400 if that is desired. )</comment> 649(default setting, although one may use rates up to 38400 if that is desired. )</comment>
650&gt;&gt; <i>setenv dbaud 9600</i> 650&gt;&gt; <i>setenv dbaud 9600</i>
651</pre> 651</pre>
652 652
653<p> 653<p>
654Now, the next settings depend on how you are booting the system. 654Now, the next settings depend on how you are booting the system.
660<subsection> 660<subsection>
661<title>Settings for direct volume-header booting</title> 661<title>Settings for direct volume-header booting</title>
662<body> 662<body>
663 663
664<p> 664<p>
665This is covered here for completeness. It's recommended that users look into 665This is covered here for completeness. It's recommended that users look into
666installing <c>arcboot</c> or <c>arcload</c> instead. 666installing <c>arcboot</c> or <c>arcload</c> instead.
667</p> 667</p>
668 668
669<note> 669<note>
670This only works on the Indy, Indigo2 (R4k) and Challenge S. 670This only works on the Indy, Indigo2 (R4k) and Challenge S.
698<subsection> 698<subsection>
699<title>Settings for arcload</title> 699<title>Settings for arcload</title>
700<body> 700<body>
701 701
702<p> 702<p>
703<c>arcload</c> uses the <c>OSLoadFilename</c> option to specify which options to 703<c>arcload</c> uses the <c>OSLoadFilename</c> option to specify which options
704set from <path>arc.cf</path>. The configuration file is essentially a script, 704to set from <path>arc.cf</path>. The configuration file is essentially a
705with the top-level blocks defining boot images for different systems, and inside 705script, with the top-level blocks defining boot images for different systems,
706that, optional settings. Thus, setting <c>OSLoadFilename=mysys(serial)</c> 706and inside that, optional settings. Thus, setting
707pulls in the settings for the <c>mysys</c> block, then sets further options 707<c>OSLoadFilename=mysys(serial)</c> pulls in the settings for the <c>mysys</c>
708overridden in <c>serial</c>. 708block, then sets further options overridden in <c>serial</c>.
709</p> 709</p>
710 710
711<p> 711<p>
712In the example file above, we have one system block defined, <c>ip28</c> with 712In the example file above, we have one system block defined, <c>ip28</c> with
713<c>working</c>, <c>new</c> and <c>debug</c> options available. We define our 713<c>working</c>, <c>new</c> and <c>debug</c> options available. We define our
714PROM variables as so: 714PROM variables as so:
715</p> 715</p>
716 716
717<pre caption="PROM settings for using arcload"> 717<pre caption="PROM settings for using arcload">
718<comment>(Select arcload as the bootloader:- sash64 or sashARCS)</comment> 718<comment>(Select arcload as the bootloader:- sash64 or sashARCS)</comment>
730<body> 730<body>
731 731
732<p> 732<p>
733<c>arcboot</c> loads its configuration file and kernels from your 733<c>arcboot</c> loads its configuration file and kernels from your
734<path>/boot</path> partition, which needs to be formatted either EXT2 or EXT3. 734<path>/boot</path> partition, which needs to be formatted either EXT2 or EXT3.
735Thus <c>OSLoadPartition</c> needs to point to that partition. <c>OSLoader</c> 735Thus <c>OSLoadPartition</c> needs to point to that partition. <c>OSLoader</c>
736should point to the <c>arcboot</c> binary in the volume header, and 736should point to the <c>arcboot</c> binary in the volume header, and
737<c>OSLoadFilename</c> is the image name being used. 737<c>OSLoadFilename</c> is the image name being used.
738</p> 738</p>
739 739
740<pre caption="PROM settings for using arcboot"> 740<pre caption="PROM settings for using arcboot">
763<subsection> 763<subsection>
764<title>All Done</title> 764<title>All Done</title>
765<body> 765<body>
766 766
767<p> 767<p>
768Now you're ready to enjoy Gentoo! Boot in your Gentoo installation and finish 768Now you're ready to enjoy Gentoo! Boot in your Gentoo installation and finish
769up with <uri link="?part=1&amp;chap=11">Finalizing your Gentoo 769up with <uri link="?part=1&amp;chap=11">Finalizing your Gentoo
770Installation</uri>. 770Installation</uri>.
771</p> 771</p>
772 772
773</body> 773</body>
774</subsection> 774</subsection>

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15

  ViewVC Help
Powered by ViewVC 1.1.20