/[gentoo]/xml/htdocs/doc/en/handbook/hb-install-ppc64-kernel.xml
Gentoo

Contents of /xml/htdocs/doc/en/handbook/hb-install-ppc64-kernel.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.15 - (show annotations) (download) (as text)
Thu Jun 9 12:22:26 2005 UTC (13 years, 3 months ago) by fox2mike
Branch: MAIN
Changes since 1.14: +6 -4 lines
File MIME type: application/xml
#90393, CONFIG_HOTPLUG needed for udev. Thanks dsd.

1 <?xml version='1.0' encoding='UTF-8'?>
2 <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
3
4 <!-- The content of this document is licensed under the CC-BY-SA license -->
5 <!-- See http://creativecommons.org/licenses/by-sa/1.0 -->
6
7 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-ppc64-kernel.xml,v 1.14 2005/06/05 16:36:18 swift Exp $ -->
8
9 <sections>
10
11 <version>2.4</version>
12 <date>2005-06-09</date>
13
14 <section>
15 <title>Timezone</title>
16 <body>
17
18 <p>
19 You first need to select your timezone so that your system knows where
20 it is located. Look for your timezone in
21 <path>/usr/share/zoneinfo</path>, then make a symlink to
22 <path>/etc/localtime</path> using <c>ln</c>:
23 </p>
24
25 <pre caption="Setting the timezone information">
26 # <i>ls /usr/share/zoneinfo</i>
27 <comment>(Suppose you want to use GMT)</comment>
28 # <i>ln -sf /usr/share/zoneinfo/GMT /etc/localtime</i>
29 </pre>
30
31 </body>
32 </section>
33 <section>
34 <title>Installing the Sources</title>
35 <subsection>
36 <title>Choosing a Kernel</title>
37 <body>
38
39 <p>
40 The core around which all distributions are built is the Linux kernel.
41 It is the layer between the user programs and your system hardware.
42 Gentoo provides its users several possible kernel sources. A full
43 listing with description is available at the <uri
44 link="/doc/en/gentoo-kernel.xml">Gentoo Kernel Guide</uri>.
45 </p>
46
47 <p>
48 For PPC64 you should use <c>gentoo-sources</c>. So let's continue with
49 <c>emerge</c>'ing the kernel sources:
50 </p>
51
52 <pre caption="Installing a kernel source">
53 # <i>emerge gentoo-sources</i>
54 </pre>
55
56 <p>
57 When you take a look in <path>/usr/src</path> you should see a symlink
58 called <path>linux</path> pointing to your kernel source:
59 </p>
60
61 <pre caption="Viewing the kernel source symlink">
62 # <i>ls -l /usr/src/linux</i>
63 lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux
64 -&gt; linux-2.6.7-gentoo-r8
65 </pre>
66
67 <p>
68 If this isn't the case (i.e. the symlink points to a different kernel
69 source) change the symlink before you continue:
70 </p>
71
72 <pre caption="Changing the kernel source symlink">
73 # <i>rm /usr/src/linux</i>
74 # <i>cd /usr/src</i>
75 # <i>ln -s linux-2.6.7-gentoo-r8 linux</i>
76 </pre>
77
78 <p>
79 Now it is time to configure and compile your kernel source. There is the
80 ability to use "genkernel" which would create a generic kernel like the
81 ones used on the live cds, but it is not fully functional for PPC64 at
82 the moment.
83 </p>
84
85 <p>
86 Continue now with <uri link="#manual">Manual Configuration</uri>.
87 </p>
88
89 </body>
90 </subsection>
91 </section>
92 <section id="manual">
93 <title>Manual Configuration</title>
94 <subsection>
95 <title>Introduction</title>
96 <body>
97
98 <p>
99 Manually configuring a kernel is often seen as the most difficult procedure a
100 Linux user ever has to perform. Nothing is less true -- after configuring a
101 couple of kernels you don't even remember that it was difficult ;)
102 </p>
103
104 <p>
105 However, one thing <e>is</e> true: you must know your system when you
106 configuring a kernel manually. Most information can be gathered by emerging
107 pciutils (<c>emerge pciutils</c>) which contains <c>lspci</c>. You will now
108 be able to use <c>lspci</c> within the chrooted environment. You may safely
109 ignore any <e>pcilib</e> warnings (like pcilib: cannot open
110 /sys/bus/pci/devices) that <c>lspci</c> throws out. Alternatively, you can run
111 <c>lspci</c> from a <e>non-chrooted</e> environment. The results are the same.
112 You can also run <c>lsmod</c> to see what kernel modules the Installation CD
113 uses (it might provide you with a nice hint on what to enable).
114 </p>
115
116 <p>
117 Now go to your kernel source directory and execute <c>make
118 menuconfig</c>. This will fire up an ncurses-based configuration menu.
119 </p>
120
121 <pre caption="Invoking menuconfig">
122 # <i>cd /usr/src/linux</i>
123 # <i>make menuconfig</i>
124 </pre>
125
126 <p>
127 You will be greeted with several configuration sections. We'll first
128 list some options you must activate (otherwise Gentoo will not function,
129 or not function properly without additional tweaks).
130 </p>
131
132 </body>
133 </subsection>
134 <subsection>
135 <title>Activating Required Options</title>
136 <body>
137
138 <p>
139 First of all, activate the use of development and experimental
140 code/drivers. You need this, otherwise some very important code/drivers
141 won't show up:
142 </p>
143
144 <pre caption="Selecting experimental code/drivers, General setup">
145 Code maturity level options ---&gt;
146 [*] Prompt for development and/or incomplete code/drivers
147 General setup --->
148 [*] Support for hot-pluggable devices
149 </pre>
150
151 <p>
152 Now go to <c>File Systems</c> and select support for the filesystems you
153 use. <e>Don't</e> compile them as modules, otherwise your Gentoo system
154 will not be able to mount your partitions. Also select <c>Virtual
155 memory</c>, <c>/proc file system</c>, <c>/dev file system</c> +
156 <c>Automatically mount at boot</c> and <c>/dev/pts file system for
157 Unix98 PTYs</c>:
158 </p>
159
160 <pre caption="Selecting necessary file systems">
161 File systems ---&gt;
162 [*] Virtual memory file system support (former shm fs)
163 [*] /proc file system support
164 [*] /dev file system support (EXPERIMENTAL)
165 [*] Automatically mount at boot
166 [*] /dev/pts file system for Unix98 PTYs
167
168 <comment>(Select one or more of the following options as needed by your system)</comment>
169 &lt;*&gt; Reiserfs support
170 &lt;*&gt; Ext3 journalling file system support
171 &lt;*&gt; JFS filesystem support
172 &lt;*&gt; Second extended fs support
173 &lt;*&gt; XFS filesystem support
174 </pre>
175
176 <note>
177 You will find some of the mentioned options under <c>Pseudo
178 filesystems</c> which is a subpart of <c>File systems</c>.
179 </note>
180
181 <p>
182 If you are using PPPoE to connect to the Internet or you are using a
183 dial-up modem, you will need the following options in the kernel (you
184 will find the mentioned options under <c>Networking support</c> which is
185 a subpart of <c>Device Drivers</c>):
186 </p>
187
188 <pre caption="Selecting PPPoE necessary drivers">
189 Network device support ---&gt;
190 &lt;*&gt; PPP (point-to-point protocol) support
191 &lt;*&gt; PPP support for async serial ports
192 &lt;*&gt; PPP support for sync tty ports
193 </pre>
194
195 <p>
196 The two compression options won't harm but are not definitely needed, neither
197 does the <c>PPP over Ethernet</c> option, that might only be used by
198 <c>rp-pppoe</c> when configured to do kernel mode PPPoE.
199 </p>
200
201 <p>
202 If you require it, don't forget to include support in the kernel for your
203 ethernet card.
204 </p>
205
206 <p>
207 Disable ADB raw keycodes:
208 </p>
209
210 <pre caption="Disabling ADB raw keycodes">
211 Macintosh Device Drivers ---&gt;
212 [ ] Support for ADB raw keycodes
213 </pre>
214
215 <p>
216 When you're done configuring your kernel, continue with <uri
217 link="#compiling">Compiling and Installing</uri>.
218 </p>
219
220 </body>
221 </subsection>
222 <subsection id="compiling">
223 <title>Compiling and Installing</title>
224 <body>
225
226 <p>
227 Now that your kernel is configured, it is time to compile and install it. Exit
228 the configuration and start the compilation process:
229 </p>
230
231 <pre caption="Compiling the kernel">
232 (Apple/IBM) # <i>make &amp;&amp; make modules_install</i>
233 </pre>
234
235 <p>
236 When the kernel has finished compiling, copy the kernel image to
237 <path>/boot</path>.
238 </p>
239
240 <pre caption="Installing the kernel">
241 (Apple/IBM) # <i>cp vmlinux /boot/kernel-2.6.7-gentoo-r8</i>
242 </pre>
243
244 <p>
245 Also don't forget to copy over the system map:
246 </p>
247
248 <pre caption="Copying the system map">
249 # <i>cp System.map /boot/System.map-2.6.7</i>
250 </pre>
251
252 <p>
253 It is also wise to copy over your kernel configuration file to
254 <path>/boot</path>, just in case :)
255 </p>
256
257 <pre caption="Backing up your kernel configuration">
258 # <i>cp .config /boot/config-2.6.7-gentoo-r8</i>
259 </pre>
260
261 <p>
262 Now continue with <uri link="#kernel_modules">Configuring the Modules</uri>.
263 </p>
264
265 </body>
266 </subsection>
267 </section>
268 <section id="kernel_modules">
269 <title>Configuring the Modules</title>
270 <body>
271
272 <p>
273 You should list the modules you want automatically loaded in
274 <path>/etc/modules.autoload.d/kernel-2.6</path>. You can add extra
275 options to the modules too if you want.
276 </p>
277
278 <p>
279 To view all available modules, run the following <c>find</c> command. Don't
280 forget to substitute "&lt;kernel version&gt;" with the version of the kernel you
281 just compiled:
282 </p>
283
284 <pre caption="Viewing all available modules">
285 # <i>find /lib/modules/&lt;kernel version&gt;/ -type f -iname '*.o' -or -iname '*.ko'</i>
286 </pre>
287
288 <p>
289 For instance, to automatically load the <c>3c59x.o</c> module, edit the
290 <path>kernel-2.6</path> file and enter the module name in it.
291 </p>
292
293 <pre caption="Editing /etc/modules.autoload.d/kernel-2.6">
294 # <i>nano -w /etc/modules.autoload.d/kernel-2.6</i>
295 </pre>
296
297 <pre caption="/etc/modules.autoload.d/kernel-2.6">
298 3c59x
299 </pre>
300
301 <p>
302 Continue the installation with <uri link="?part=1&amp;chap=8">Configuring
303 your System</uri>.
304 </p>
305
306 </body>
307 </section>
308 </sections>

  ViewVC Help
Powered by ViewVC 1.1.20