/[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.6 - (show annotations) (download) (as text)
Sat Nov 20 22:23:30 2004 UTC (13 years, 3 months ago) by neysx
Branch: MAIN
Changes since 1.5: +2 -2 lines
File MIME type: application/xml
Converted dates to YYYY-MM-DD format

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.5 2004/11/15 12:47:47 swift Exp $ -->
8
9 <sections>
10
11 <version>1.3</version>
12 <date>2004-09-01</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-dev-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-dev-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 start configuring a kernel manually. Most information can be gathered by
107 viewing the contents of <path>/proc/pci</path> (or by using <c>lspci</c>
108 if available). You can also run <c>lsmod</c> to see what kernel modules
109 the LiveCD uses (it might provide you with a nice hint on what to
110 enable).
111 </p>
112
113 <p>
114 Now go to your kernel source directory and execute <c>make
115 menuconfig</c>. This will fire up an ncurses-based configuration menu.
116 </p>
117
118 <pre caption="Invoking menuconfig">
119 # <i>cd /usr/src/linux</i>
120 # <i>make menuconfig</i>
121 </pre>
122
123 <p>
124 You will be greeted with several configuration sections. We'll first
125 list some options you must activate (otherwise Gentoo will not function,
126 or not function properly without additional tweaks).
127 </p>
128
129 </body>
130 </subsection>
131 <subsection>
132 <title>Activating Required Options</title>
133 <body>
134
135 <p>
136 First of all, activate the use of development and experimental
137 code/drivers. You need this, otherwise some very important code/drivers
138 won't show up:
139 </p>
140
141 <pre caption="Selecting experimental code/drivers">
142 Code maturity level options ---&gt;
143 [*] Prompt for development and/or incomplete code/drivers
144 </pre>
145
146 <p>
147 Now go to <c>File Systems</c> and select support for the filesystems you
148 use. <e>Don't</e> compile them as modules, otherwise your Gentoo system
149 will not be able to mount your partitions. Also select <c>Virtual
150 memory</c>, <c>/proc file system</c>, <c>/dev file system</c> +
151 <c>Automatically mount at boot</c> and <c>/dev/pts file system for
152 Unix98 PTYs</c>:
153 </p>
154
155 <pre caption="Selecting necessary file systems">
156 File systems ---&gt;
157 [*] Virtual memory file system support (former shm fs)
158 [*] /proc file system support
159 [*] /dev file system support (EXPERIMENTAL)
160 [*] Automatically mount at boot
161 [*] /dev/pts file system for Unix98 PTYs
162
163 <comment>(Select one or more of the following options as needed by your system)</comment>
164 &lt;*&gt; Reiserfs support
165 &lt;*&gt; Ext3 journalling file system support
166 &lt;*&gt; JFS filesystem support
167 &lt;*&gt; Second extended fs support
168 &lt;*&gt; XFS filesystem support
169 </pre>
170
171 <note>
172 You will find some of the mentioned options under <c>Pseudo
173 filesystems</c> which is a subpart of <c>File systems</c>.
174 </note>
175
176 <p>
177 If you are using PPPoE to connect to the Internet or you are using a
178 dial-up modem, you will need the following options in the kernel (you
179 will find the mentioned options under <c>Networking support</c> which is
180 a subpart of <c>Device Drivers</c>):
181 </p>
182
183 <pre caption="Selecting PPPoE necessary drivers">
184 Network device support ---&gt;
185 &lt;*&gt; PPP (point-to-point protocol) support
186 &lt;*&gt; PPP support for async serial ports
187 &lt;*&gt; PPP support for sync tty ports
188 </pre>
189
190 <p>
191 The two compression options won't harm but are not definitely needed, neither
192 does the <c>PPP over Ethernet</c> option, that might only be used by
193 <c>rp-pppoe</c> when configured to do kernel mode PPPoE.
194 </p>
195
196 <p>
197 If you require it, don't forget to include support in the kernel for your
198 ethernet card.
199 </p>
200
201 <p>
202 Disable ADB raw keycodes:
203 </p>
204
205 <pre caption="Disabling ADB raw keycodes">
206 Macintosh Device Drivers ---&gt;
207 [ ] Support for ADB raw keycodes
208 </pre>
209
210 <p>
211 Also choose the correct RTC support (<e>disable</e> the <c>Enhanced RTC</c>
212 option):
213 </p>
214
215 <pre caption="Activating the correct RTC option">
216 Character devices ---&gt;
217 [ ] Enhanced RTC
218
219 General setup ---&gt;
220 [*] Support for /dev/rtc
221 </pre>
222
223 <p>
224 When you're done configuring your kernel, continue with <uri
225 link="#compiling">Compiling and Installing</uri>.
226 </p>
227
228 </body>
229 </subsection>
230 <subsection id="compiling">
231 <title>Compiling and Installing</title>
232 <body>
233
234 <p>
235 Now that your kernel is configured, it is time to compile and install it. Exit
236 the configuration and run <c>make</c> and <c>make modules_install</c>:
237 </p>
238
239 <pre caption="Compiling the kernel">
240 (Apple/IBM) # <i>make &amp;&amp; make modules_install</i>
241 </pre>
242
243 <p>
244 When the kernel has finished compiling, copy the kernel image to
245 <path>/boot</path>.
246 </p>
247
248 <pre caption="Installing the kernel">
249 (Apple/IBM) # <i>cp vmlinux /boot/kernel-2.6.7-gentoo-r8</i>
250 </pre>
251
252 <p>
253 Also don't forget to copy over the system map:
254 </p>
255
256 <pre caption="Copying the system map">
257 # <i>cp System.map /boot/System.map-2.6.7</i>
258 </pre>
259
260 <p>
261 It is also wise to copy over your kernel configuration file to
262 <path>/boot</path>, just in case :)
263 </p>
264
265 <pre caption="Backing up your kernel configuration">
266 # <i>cp .config /boot/config-2.6.7-gentoo-r8</i>
267 </pre>
268
269 <p>
270 Now continue with <uri link="#kernel_modules">Configuring the Modules</uri>.
271 </p>
272
273 </body>
274 </subsection>
275 </section>
276 <section id="kernel_modules">
277 <title>Configuring the Modules</title>
278 <body>
279
280 <p>
281 You should list the modules you want automatically loaded in
282 <path>/etc/modules.autoload.d/kernel-2.6</path>. You can add extra
283 options to the modules too if you want.
284 </p>
285
286 <p>
287 To view all available modules, run the following <c>find</c> command. Don't
288 forget to substitute "&lt;kernel version&gt;" with the version of the kernel you
289 just compiled:
290 </p>
291
292 <pre caption="Viewing all available modules">
293 # <i>find /lib/modules/&lt;kernel version&gt;/ -type f -iname '*.o' -or -iname '*.ko'</i>
294 </pre>
295
296 <p>
297 For instance, to automatically load the <c>3c59x.o</c> module, edit the
298 <path>kernel-2.6</path> file and enter the module name in it.
299 </p>
300
301 <pre caption="Editing /etc/modules.autoload.d/kernel-2.6">
302 # <i>nano -w /etc/modules.autoload.d/kernel-2.6</i>
303 </pre>
304
305 <pre caption="/etc/modules.autoload.d/kernel-2.6">
306 3c59x
307 </pre>
308
309 <p>
310 Now run <c>modules-update</c> to commit your changes to the
311 <path>/etc/modules.conf</path> file:
312 </p>
313
314 <pre caption="Running modules-update">
315 # <i>modules-update</i>
316 </pre>
317
318 <p>
319 Continue the installation with <uri link="?part=1&amp;chap=8">Configuring
320 your System</uri>.
321 </p>
322
323 </body>
324 </section>
325 </sections>

  ViewVC Help
Powered by ViewVC 1.1.20