/[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.29 - (show annotations) (download) (as text)
Sun May 20 04:16:25 2007 UTC (10 years, 8 months ago) by nightmorph
Branch: MAIN
Changes since 1.28: +14 -3 lines
File MIME type: application/xml
for safety's sake, needed to move the conf.d/clock TIMEZONE edit to immediately before compiling a kernel. users still run into the warning message if it's left at the end, before rebooting. fixes http://forums.gentoo.org/viewtopic-t-560322.html and other reports.

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/2.5 -->
6
7 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-ppc64-kernel.xml,v 1.28 2007/05/15 13:07:41 neysx Exp $ -->
8
9 <sections>
10
11 <version>8.2</version>
12 <date>2007-05-19</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 it is
20 located. Look for your timezone in <path>/usr/share/zoneinfo</path>, then copy
21 it to <path>/etc/localtime</path>. Please avoid the
22 <path>/usr/share/zoneinfo/Etc/GMT*</path> timezones as their names do not
23 indicate the expected zones. For instance, <path>GMT-8</path> is in fact
24 GMT+8.
25 </p>
26
27 <pre caption="Setting the timezone information">
28 # <i>ls /usr/share/zoneinfo</i>
29 <comment>(Suppose you want to use GMT)</comment>
30 # <i>cp /usr/share/zoneinfo/GMT /etc/localtime</i>
31 </pre>
32
33 <p>
34 Next, define the timezone you just used in <path>/etc/conf.d/clock</path> so
35 that further upgrades of the <c>sys-libs/timezone-data</c> package can update
36 <path>/etc/localtime</path> automatically.
37 </p>
38
39 <pre caption="Setting the TIMEZONE variable in /etc/conf.d/clock">
40 # <i>nano -w /etc/conf.d/clock</i>
41 TIMEZONE="GMT"
42 </pre>
43
44 </body>
45 </section>
46 <section>
47 <title>Installing the Sources</title>
48 <subsection>
49 <title>Choosing a Kernel</title>
50 <body>
51
52 <p>
53 The core around which all distributions are built is the Linux kernel.
54 It is the layer between the user programs and your system hardware.
55 Gentoo provides its users several possible kernel sources. A full
56 listing with description is available at the <uri
57 link="/doc/en/gentoo-kernel.xml">Gentoo Kernel Guide</uri>.
58 </p>
59
60 <p>
61 For PPC64 you should use <c>gentoo-sources</c>.
62 </p>
63
64 <pre caption="Installing a kernel source">
65 # <i>emerge gentoo-sources</i>
66 </pre>
67
68 <p>
69 When you take a look in <path>/usr/src</path> you should see a symlink called
70 <path>linux</path> pointing to your kernel source. In this case, the installed
71 kernel source points to <c>gentoo-sources-<keyval id="kernel-version"/></c>.
72 Your version may be different, so keep this in mind.
73 </p>
74
75 <pre caption="Viewing the kernel source symlink">
76 # <i>ls -l /usr/src/linux</i>
77 lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -&gt; linux-<keyval id="kernel-version"/>
78 </pre>
79
80 <p>
81 Now it is time to configure and compile your kernel source. There is the
82 ability to use "genkernel" which would create a generic kernel like the
83 ones used on the installation CDs, but it is not fully functional for PPC64 at
84 the moment.
85 </p>
86
87 <p>
88 Continue now with <uri link="#manual">Manual Configuration</uri>.
89 </p>
90
91 </body>
92 </subsection>
93 </section>
94 <section id="manual">
95 <title>Manual Configuration</title>
96 <subsection>
97 <title>Introduction</title>
98 <body>
99
100 <p>
101 Manually configuring a kernel is often seen as the most difficult procedure a
102 Linux user ever has to perform. Nothing is less true -- after configuring a
103 couple of kernels you don't even remember that it was difficult ;)
104 </p>
105
106 <p>
107 However, one thing <e>is</e> true: you must know your system when you
108 configuring a kernel manually. Most information can be gathered by emerging
109 pciutils (<c>emerge pciutils</c>) which contains <c>lspci</c>. You will now
110 be able to use <c>lspci</c> within the chrooted environment. You may safely
111 ignore any <e>pcilib</e> warnings (like pcilib: cannot open
112 /sys/bus/pci/devices) that <c>lspci</c> throws out. Alternatively, you can run
113 <c>lspci</c> from a <e>non-chrooted</e> environment. The results are the same.
114 You can also run <c>lsmod</c> to see what kernel modules the Installation CD
115 uses (it might provide you with a nice hint on what to enable).
116 </p>
117
118 <pre caption="Invoking menuconfig">
119 # <i>cd /usr/src/linux</i>
120 <comment>Important: In case you are in 32-bit userland, you must edit the top
121 level Makefile in /usr/src/linux and change the CROSS_COMPILE option to
122 CROSS_COMPILE ?= powerpc64-unknown-linux-gnu-. You must do this before you run
123 make menuconfig or it may result in kernel compilation problems.</comment>
124 # <i>make menuconfig</i>
125 </pre>
126
127 <p>
128 You will be greeted with several configuration sections. We'll first
129 list some options you must activate (otherwise Gentoo will not function,
130 or not function properly without additional tweaks).
131 </p>
132
133 </body>
134 </subsection>
135 <subsection>
136 <title>Activating Required Options</title>
137 <body>
138
139 <p>
140 First of all, activate the use of development and experimental
141 code/drivers. You need this, otherwise some very important code/drivers
142 won't show up:
143 </p>
144
145 <pre caption="Selecting experimental code/drivers, General setup">
146 Code maturity level options ---&gt;
147 [*] Prompt for development and/or incomplete code/drivers
148 </pre>
149
150 <p>
151 Now go to <c>File Systems</c> and select support for the filesystems you use.
152 <e>Don't</e> compile them as modules, otherwise your Gentoo system will not be
153 able to mount your partitions. Also select <c>Virtual memory</c>, <c>/proc file
154 system</c>, and <c>/dev/pts file system for Unix98 PTYs</c>:
155 </p>
156
157 <pre caption="Selecting necessary file systems">
158 File systems ---&gt;
159 [*] Virtual memory file system support (former shm fs)
160 [*] /proc file system support
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 <c>ppp</c>
193 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 When you're done configuring your kernel, continue with <uri
212 link="#compiling">Compiling and Installing</uri>.
213 </p>
214
215 </body>
216 </subsection>
217 <subsection id="compiling">
218 <title>Compiling and Installing</title>
219 <body>
220
221 <p>
222 Now that your kernel is configured, it is time to compile and install it. Exit
223 the configuration and start the compilation process:
224 </p>
225
226 <pre caption="Compiling the kernel">
227 (Apple/IBM) # <i>make &amp;&amp; make modules_install</i>
228 </pre>
229
230 <p>
231 When the kernel has finished compiling, copy the kernel image to
232 <path>/boot</path>. Remember to replace <path>&lt;kernel-version&lt;</path>
233 with your actual kernel version:
234 </p>
235
236 <pre caption="Installing the kernel">
237 (Apple/IBM) # <i>cp vmlinux /boot/&lt;kernel-version&gt;</i>
238 </pre>
239
240 <p>
241 Now continue with <uri link="#kernel_modules">Configuring the Modules</uri>.
242 </p>
243
244 </body>
245 </subsection>
246 </section>
247 <section id="kernel_modules">
248 <title>Configuring the Modules</title>
249 <body>
250
251 <p>
252 You should list the modules you want automatically loaded in
253 <path>/etc/modules.autoload.d/kernel-2.6</path>. You can add extra
254 options to the modules too if you want.
255 </p>
256
257 <p>
258 To view all available modules, run the following <c>find</c> command. Don't
259 forget to substitute "&lt;kernel version&gt;" with the version of the kernel you
260 just compiled:
261 </p>
262
263 <pre caption="Viewing all available modules">
264 # <i>find /lib/modules/&lt;kernel version&gt;/ -type f -iname '*.o' -or -iname '*.ko'</i>
265 </pre>
266
267 <p>
268 For instance, to automatically load the <c>3c59x.o</c> module, edit the
269 <path>kernel-2.6</path> file and enter the module name in it.
270 </p>
271
272 <pre caption="Editing /etc/modules.autoload.d/kernel-2.6">
273 # <i>nano -w /etc/modules.autoload.d/kernel-2.6</i>
274 </pre>
275
276 <pre caption="/etc/modules.autoload.d/kernel-2.6">
277 3c59x
278 </pre>
279
280 <p>
281 Continue the installation with <uri link="?part=1&amp;chap=8">Configuring
282 your System</uri>.
283 </p>
284
285 </body>
286 </section>
287 </sections>

  ViewVC Help
Powered by ViewVC 1.1.20