/[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.16 Revision 1.17
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.16 2006/08/30 22:52:28 nightmorph Exp $ --> 7<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-mips-bootloader.xml,v 1.17 2007/02/07 15:12:43 neysx Exp $ -->
8 8
9<sections> 9<sections>
10 10
11<version>7.0</version> 11<version>7.1</version>
12<date>2006-08-30</date> 12<date>2007-02-08</date>
13 13
14<section id="sgi"> 14<section id="sgi">
15<title>Silicon Graphics Machines -- Setting Up arcload</title> 15<title>Silicon Graphics Machines -- Setting Up arcload</title>
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, we use the <c>arcload</c> boot loader. In previous releases, 21On SGI machines, we use the <c>arcload</c> boot loader. In previous releases,
22we also provided <c>arcboot</c>, however it has been officially declared 22we also provided <c>arcboot</c>, however it has been officially declared
23obsolete, in favour of <c>arcload</c>. 23obsolete, in favour of <c>arcload</c>.
24</p> 24</p>
25
26<!-- Slated for possible removal
27<table>
28<tr>
29 <th> </th>
30 <th>arcboot</th>
31</tr>
32<tr>
33 <th>+</th>
34 <ti>
35 It can load off EXT2 and EXT3 partitions, so no need to store them in the
36 volume header
37 </ti>
38</tr>
39<tr>
40 <th>-</th>
41 <ti>
42 It doesn't work on Octane/Octane2, Origin 200/2000 or Indigo2 Impact
43 (R10000)
44 </ti>
45</tr>
46</table>
47
48<table>
49<tr>
50 <th> </th>
51 <th>arcload</th>
52</tr>
53<tr>
54 <th>+</th>
55 <ti>
56 It boots ALL Linux-compatible SGI systems
57 </ti>
58</tr>
59<tr>
60 <th>-</th>
61 <ti>
62 Currently, It cannot read EXT2/EXT3 partitions, and so needs the kernels
63 and config file to be placed in the volume header
64 </ti>
65</tr>
66</table>
67-->
68 25
69<note> 26<note>
70The SGI volume header filenames are limited to 8 characters, and there may be 27The SGI volume header filenames are limited to 8 characters, and there may be
71no more than 16 files contained in a single volume header. 28no more than 16 files contained in a single volume header.
72</note> 29</note>
73 30
74</body> 31</body>
75</subsection> 32</subsection>
76 33
77<!--<subsection>
78<title>Installing arcboot</title>
79<body>
80
81<warn>
82<c>arcboot</c> is deprecated and will be removed in future.
83</warn>
84
85<p>
86Previously in this guide, we showed you how to make a kernel, then copy it to
87the volume header using <c>dvhtool</c>. There were two main flaws with this
88system:
89</p>
90
91<ul>
92 <li>This is not supported on all SGI systems</li>
93 <li>It requires a significantly larger volume header</li>
94</ul>
95
96<p>
97In order to boot the machine, a bootloader, <c>arcboot</c> was developed for
98this purpose. Instead of putting the kernel directly into the volume header, we
99leave it in <path>/boot</path> (which resides on a EXT2/3 partition), and tell
100<c>arcboot</c> (which sits in the volume header in place of the kernel) where
101to find it. So our first step, is to emerge some tools that we'll use later...
102</p>
103
104<pre caption="Installing the required tools">
105# <i>emerge dvhtool arcboot</i>
106</pre>
107
108<p>
109That should have installed two tools, <c>arcboot</c> which sits in the volume
110header and loads kernels for us, and <c>dvhtool</c> which helps us put
111<c>arcboot</c> into the volume header.
112</p>
113
114<p>
115The <c>arcboot</c> binary lurks in <path>/usr/lib/arcboot</path>. The name of
116the binary depends on the machine it's compiled for.
117</p>
118
119<ul>
120 <li>
121 <c>arcboot.ip22</c>: The binary for Indy, Indigo2 (R4k) and Challenge S
122 systems
123 </li>
124 <li>
125 <c>arcboot.ip32</c>: The binary for O2 systems
126 </li>
127</ul>
128
129<pre caption="Installing arcboot into the volume header">
130# <i>dvhtool - -unix-to-vh /usr/lib/arcboot/arcboot.ip?? arcboot</i>
131</pre>
132
133<p>
134We then verify the presence of the file in the volume header.
135</p>
136
137<pre caption="Checking if arcboot made it okay">
138# <i>dvhtool - -print-volume-directory</i>
139- - - - - directory entries - - - - -
140Entry #0, name "linux", start 4, bytes 3262570
141Entry #1, name "newlinux", start 6377, bytes 7619627
142Entry #3, name "arcboot", start 21260, bytes 51448
143#
144</pre>
145
146<note>
147You'll notice that in the example above, there are two old kernels sitting
148around, <path>linux</path> and <path>newlinux</path>. This is a hangover from
149before we started using <c>arcboot</c>. Their presence doesn't matter - - just
150so long as <c>arcboot</c> is present, everything is fine.
151</note>
152
153<p>
154If you've ever set up the Linux Loader (<c>lilo</c>) before, you'll find that
155<c>arcboot</c> employs a similar syntax in its configuration file. Bear in mind
156though; <c>arcboot</c> expects to find its configuration file existing on an
157EXT2/3 partition as <path>/etc/arcboot.conf</path>. The easiest way around this
158is to make sure <path>/boot</path> is an EXT2/3 partition and that there's a
159file called <path>arcboot.conf</path> inside the <path>/boot/etc</path>
160directory. An example config can be found in
161<path>/etc/arcboot.conf.sample</path>.
162</p>
163
164<note>
165Adjust the paths accordingly if you don't have a separate <path>/boot</path>
166partition.
167</note>
168
169<pre caption="Putting arcboot.conf in its place">
170<comment>(Create the /boot/etc directory)</comment>
171# <i>mkdir /boot/etc</i>
172
173<comment>(Put our configuration into the target directory)</comment>
174# <i>cp /etc/arcboot.conf.sample /boot/etc/arcboot.conf</i>
175
176<comment>(Create a symlink back to /etc)</comment>
177# <i>ln -s /boot/etc/arcboot.conf /etc/arcboot.conf</i>
178
179<comment>(... and a symlink in /boot pointing to itself)</comment>
180# <i>(cd /boot; ln -s . boot)</i>
181</pre>
182
183<p>
184You can then edit <path>/etc/arcboot.conf</path> to your own preference. One
185possible layout, is to set up two kernel images: <path>new</path>, a freshly
186built image that may or may not work; and <path>working</path>, a proven
187trustworthy kernel image. The <path>arcboot.conf</path> for that setup looks a
188bit like this.
189</p>
190
191<pre caption="Example arcboot.conf">
192<comment># arcboot.conf</comment>
193<comment>#</comment>
194<comment># copyright 2002 Guido Guenther &lt;agx@sigxcpu.org&gt;</comment>
195<comment>#</comment>
196<comment># known working version</comment>
197label=working
198 image=/vmlinux
199 append="root=/dev/sda3"
200
201<comment># fresh "untested" version</comment>
202label=new
203 image=/vmlinux-new
204 append="root=/dev/sda3"
205</pre>
206
207<p>
208Once that is set up, there's then just some little tweaks that you need to do
209within the SGI PROM to make this magic work. This is covered in, not the next
210section (that's for Cobalt servers) but the following section <uri
211link="#reboot">Rebooting the System</uri>.
212</p>
213
214</body>
215</subsection>
216-->
217<subsection> 34<subsection>
218<title>Installing arcload</title> 35<title>Installing arcload</title>
219<body> 36<body>
220 37
221<p> 38<p>
317 } 134 }
318} 135}
319</pre> 136</pre>
320 137
321<p> 138<p>
322This is then placed in the volume header with <c>sash64</c> (or 139Starting with <c>arcload-0.5</c>, <path>arc.cf</path> and kernels may
323<c>sashARCS</c>) as shown below. Kernels also get placed in the volume header. 140reside either in the volume header, or on an EXT2/3 partition. If you wish to
141utilise this newer feature, you may instead place the files in your
142<path>/boot</path> partition (or <path>/</path> if your boot partition is not
143separate).
324</p> 144</p>
325
326<note>
327With <c>arcload</c> 0.5, it is possible to load these files from an EXT3
328partition, rather than loading these into the volume header. If you are
329using the newer release, you may skip copying these to the volume
330header, and instead, place them in your <c>/boot</c> partition.
331</note>
332 145
333<pre caption="Placing arc.cf and kernel in the volume header"> 146<pre caption="Placing arc.cf and kernel in the volume header">
334# <i>dvhtool --unix-to-vh arc.cf arc.cf</i> 147# <i>dvhtool --unix-to-vh arc.cf arc.cf</i>
335# <i>dvhtool --unix-to-vh /usr/src/linux/vmlinux new</i> 148# <i>dvhtool --unix-to-vh /usr/src/linux/vmlinux new</i>
336</pre> 149</pre>
595cdimage ~# <i>reboot</i> 408cdimage ~# <i>reboot</i>
596</pre> 409</pre>
597 410
598<note> 411<note>
599<e>Cobalt Users:</e> The rest of this section covers the setting up of the SGI 412<e>Cobalt Users:</e> The rest of this section covers the setting up of the SGI
600PROM so that it boots <!--<c>arcboot</c>/--><c>arcload</c> off disk and loads 413PROM so that it boots <c>arcload</c> off disk and loads
601Linux. 414Linux.
602This is not applicable to the setup of Cobalt servers. In fact, all your work 415This is not applicable to the setup of Cobalt servers. In fact, all your work
603is done -- there is no configuration needed for the first boot up, you can skip 416is done -- there is no configuration needed for the first boot up, you can skip
604to the next section: <uri link="?part=1&amp;chap=11">Finalising your Gentoo 417to the next section: <uri link="?part=1&amp;chap=11">Finalising your Gentoo
605Installation</uri> 418Installation</uri>
729PROM variables as so: 542PROM variables as so:
730</p> 543</p>
731 544
732<pre caption="PROM settings for using arcload"> 545<pre caption="PROM settings for using arcload">
733<comment>(Select arcload as the bootloader:- sash64 or sashARCS)</comment> 546<comment>(Select arcload as the bootloader:- sash64 or sashARCS)</comment>
734&gt;&gt; setenv OSLoader sash64 547&gt;&gt; <i>setenv OSLoader sash64</i>
735 548
736<comment>(Use the "working" kernel image, defined in "ip28" section of arc.cf)</comment> 549<comment>(Use the "working" kernel image, defined in "ip28" section of arc.cf)</comment>
737&gt;&gt; setenv OSLoadFilename ip28(working) 550&gt;&gt; <i>setenv OSLoadFilename ip28(working)</i>
738</pre> 551</pre>
739 552
740</body>
741</subsection>
742
743<!-- Slated for removal
744<subsection>
745<title>Settings for arcboot</title>
746<body>
747
748<p>
749<c>arcboot</c> loads its configuration file and kernels from your
750<path>/boot</path> partition, which needs to be formatted either EXT2 or EXT3.
751Thus <c>OSLoadPartition</c> needs to point to that partition. <c>OSLoader</c>
752should point to the <c>arcboot</c> binary in the volume header, and
753<c>OSLoadFilename</c> is the image name being used.
754</p> 553<p>
554Starting with <c>arcload-0.5</c>, files no longer need to be placed in the
555volume header -- they may be placed in an EXT2/3 partition instead. To tell
556<c>arcload</c> where to look for its configuration file and kernels, one must
557set the <c>OSLoadPartition</c> PROM variable. The exact value here will depend
558on where your disk resides on the SCSI bus. Use the <c>SystemPartition</c> PROM
559variable as a guide -- only the partition number should need to change.
560</p>
755 561
756<pre caption="PROM settings for using arcboot"> 562<note>
757<comment>(Read configuration and kernels from SCSI ID# 1, partition 0 - - sda1)</comment> 563Partitions are numbered starting at 0, not 1 as is the case in Linux.
564</note>
565
566<pre caption="Telling arcload where to find arc.cf">
567<comment>(If you wish to load from the volume header -- use partition 8)</comment>
758&gt;&gt; <i>setenv OSLoadPartition scsi(0)disk(1)rdisk(0)partition(0)</i> 568&gt;&gt; <i>setenv OSLoadPartition scsi(0)disk(1)rdisk(0)partition(8)</i>
759 569
760<comment>(Use arcboot as the bootloader)</comment> 570<comment>(Otherwise, specify the partition and filesystem type)</comment>
761&gt;&gt; <i>setenv OSLoader arcboot</i> 571&gt;&gt; <i>setenv OSLoadPartition scsi(0)disk(1)rdisk(0)partition(0)[ext2]</i>
762
763<comment>(Which boot image in arcboot.conf to load)</comment>
764&gt;&gt; <i>setenv OSLoadFilename working</i>
765</pre>
766
767<p>
768When testing kernels via <c>arcboot</c> you can specify an alternate image like
769so (where <c>new</c> is the alternate image):
770</p> 572</pre>
771 573
772<pre caption="Specifying an alternate image">
773# <i>boot new</i>
774</pre>
775
776</body> 574</body>
777</subsection> --> 575</subsection>
778 576
779<subsection> 577<subsection>
780<title>All Done</title> 578<title>All Done</title>
781<body> 579<body>
782 580

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.17

  ViewVC Help
Powered by ViewVC 1.1.20