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

Diff of /xml/htdocs/doc/en/handbook/hb-install-ppc-kernel.xml

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

Revision 1.60 Revision 1.61
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-ppc-kernel.xml,v 1.60 2008/08/21 14:47:23 swift Exp $ --> 7<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-ppc-kernel.xml,v 1.61 2010/07/21 00:52:41 nightmorph Exp $ -->
8 8
9<sections> 9<sections>
10 10
11<version>9.1</version> 11<version>10.0</version>
12<date>2008-08-21</date> 12<date>2010-07-20</date>
13 13
14<section> 14<section>
15<title>Timezone</title> 15<title>Timezone</title>
16<body> 16<body>
17 17
39<body> 39<body>
40 40
41<p> 41<p>
42The core around which all distributions are built is the Linux kernel. It is the 42The core around which all distributions are built is the Linux kernel. It is the
43layer between the user programs and your system hardware. Gentoo provides its 43layer between the user programs and your system hardware. Gentoo provides its
44users several possible kernels to choose from. A full listing with description 44users several possible kernel sources. A full listing with description is
45is available at the
46<uri link="/doc/en/gentoo-kernel.xml">Gentoo Kernel Guide</uri>. 45available at the <uri link="/doc/en/gentoo-kernel.xml">Gentoo Kernel
47</p> 46Guide</uri>.
48
49<p> 47</p>
50We suggest using <c>gentoo-sources</c> on PPC, which is a recent 2.6 kernel. 48
49<p>
50For <keyval id="arch"/>-based systems we have <c>gentoo-sources</c>
51(kernel source patched for extra features).
52</p>
53
54<p>
55Choose your kernel source and install it using <c>emerge</c>.
51</p> 56</p>
52 57
53<pre caption="Installing a kernel source"> 58<pre caption="Installing a kernel source">
54# <i>emerge gentoo-sources</i> 59# <i>emerge gentoo-sources</i>
55</pre> 60</pre>
56 61
57<p> 62<p>
58If you take a look in <path>/usr/src</path> you should see a symlink named 63When you take a look in <path>/usr/src</path> you should see a symlink called
59<path>linux</path> pointing to your current kernel source. In this case, the 64<path>linux</path> pointing to your kernel source. In this case, the installed
60installed kernel source points to <c>gentoo-sources-<keyval 65kernel source points to <c>gentoo-sources-<keyval id="kernel-version"/></c>.
61id="kernel-version"/></c>. Your version may be different, so keep this in mind. 66Your version may be different, so keep this in mind.
62</p> 67</p>
63 68
64<pre caption="Viewing the kernel source symlink"> 69<pre caption="Viewing the kernel source symlink">
65# <i>ls -l /usr/src/linux</i> 70# <i>ls -l /usr/src/linux</i>
66lrwxrwxrwx 1 root root 22 Mar 18 16:23 /usr/src/linux -&gt; linux-<keyval id="kernel-gentoo"/> 71lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -&gt; linux-<keyval id="kernel-version"/>
67</pre> 72</pre>
68 73
69<p> 74<p>
70Now it is time to configure and compile your kernel source. You can use 75Now it is time to configure and compile your kernel source. You can use
71<c>genkernel</c> for this, which will build a generic kernel as used by the 76<c>genkernel</c> for this, which will build a generic kernel as used by the
72Installation CD. We explain the "manual" configuration first though, as it is 77Installation CD. We explain the "manual" configuration first though, as it is
73a more efficient configuration. 78the best way to optimize your environment.
74</p> 79</p>
75 80
76<p> 81<p>
77If you want to manually configure your kernel, continue now with <uri 82If you want to manually configure your kernel, continue now with <uri
78link="#manual">Default: Manual Configuration</uri>. If you want to use 83link="#manual">Default: Manual Configuration</uri>. If you want to use
95few kernels you won't even remember that it was difficult ;) 100few kernels you won't even remember that it was difficult ;)
96</p> 101</p>
97 102
98<p> 103<p>
99However, one thing <e>is</e> true: you must know your system when you start 104However, one thing <e>is</e> true: you must know your system when you start
100configuring a kernel manually. Most information can be gathered by emerging 105configuring a kernel manually. Most information can be gathered by emerging
101pciutils (<c>emerge pciutils</c>) which contains the program 106pciutils (<c>emerge pciutils</c>) which contains <c>lspci</c>. You will now
102<c>lspci</c>. You will now be able to use <c>lspci</c> within the chrooted 107be able to use <c>lspci</c> within the chrooted environment. You may safely
103environment. You may safely ignore any <e>pcilib</e> warnings (such as pcilib: 108ignore any <e>pcilib</e> warnings (like pcilib: cannot open
104cannot open /sys/bus/pci/devices) that <c>lspci</c> throws out. Alternatively, 109/sys/bus/pci/devices) that <c>lspci</c> throws out. Alternatively, you can run
105you can run <c>lspci</c> from a <e>non-chrooted</e> environment. The results 110<c>lspci</c> from a <e>non-chrooted</e> environment. The results are the same.
106are the same. You can also run <c>lsmod</c> to see what kernel modules the 111You can also run <c>lsmod</c> to see what kernel modules the Installation CD
107Installation CD uses (it might provide you with a nice hint on what to enable). 112uses (it might provide you with a nice hint on what to enable).
108Another place to look for clues as to what components to enable is to check the
109kernel message logs from the successful boot that got you this far. Type
110<c>dmesg</c> to see these kernel messages.
111</p> 113</p>
112 114
113<p> 115<p>
114Now, go to your kernel source directory, it's time to configure your kernel. 116Now, go to your kernel source directory, it's time to configure your kernel.
115Start by configuring a kernel that will boot on most 32 Bit PowerPC machines 117Start by configuring a kernel that will boot on most 32 Bit PowerPC machines
138 140
139<p> 141<p>
140First go to <c>File Systems</c> and select support for the filesystems you use. 142First go to <c>File Systems</c> and select support for the filesystems you use.
141<e>Don't</e> compile them as modules, otherwise your Gentoo system will not be 143<e>Don't</e> compile them as modules, otherwise your Gentoo system will not be
142able to mount your partitions. Also select the <c>/proc file system</c> and 144able to mount your partitions. Also select the <c>/proc file system</c> and
143<c>Virtual memory</c>. Make sure that you also enable support for Amiga 145<c>Virtual memory</c>. Make sure that you also enable support for Amiga
144partitions if you are using a Pegasos, or Macintosh partitions if you are using 146partitions if you are using a Pegasos, or Macintosh partitions if you are using
145an Apple computer. 147an Apple computer.
146</p> 148</p>
147 149
148<pre caption="Selecting necessary file systems"> 150<pre caption="Selecting necessary file systems">
162 &lt;*&gt; Second extended fs support 164 &lt;*&gt; Second extended fs support
163 &lt;*&gt; XFS filesystem support 165 &lt;*&gt; XFS filesystem support
164</pre> 166</pre>
165 167
166<p> 168<p>
167Users of NewWorld and OldWorld machines will want HFS support as well. OldWorld 169Users of NewWorld and OldWorld machines will want HFS support as well. OldWorld
168users require it for copying compiled kernels to the MacOS partition. NewWorld 170users require it for copying compiled kernels to the MacOS partition. NewWorld
169users require it for configuring the special Apple_Bootstrap partition: 171users require it for configuring the special Apple_Bootstrap partition:
170</p> 172</p>
171 173
172<pre caption="Activating HFS support"> 174<pre caption="Activating HFS support">
194over Ethernet</c> option might only be used by <c>ppp</c> when configured to 196over Ethernet</c> option might only be used by <c>ppp</c> when configured to
195perform kernel mode PPPoE. 197perform kernel mode PPPoE.
196</p> 198</p>
197 199
198<p> 200<p>
199Don't forget to include support in the kernel for your ethernet card! Most 201Don't forget to include support in the kernel for your ethernet card! Most
200newer Apple computers use the SunGEM ethernet driver. Older iMacs commonly use 202newer Apple computers use the SunGEM ethernet driver. Older iMacs commonly use
201the BMAC driver. 203the BMAC driver.
202</p> 204</p>
203 205
204<pre caption="Selecting the network driver"> 206<pre caption="Selecting the network driver">
205Device Drivers ---&gt; 207Device Drivers ---&gt;
212 &lt;*&gt; Sun GEM support 214 &lt;*&gt; Sun GEM support
213</pre> 215</pre>
214 216
215<p> 217<p>
216At this time, full kernel preemption may still be unstable on PPC and may cause 218At this time, full kernel preemption may still be unstable on PPC and may cause
217compilation failures and random segfaults. It is <e>strongly</e> suggested 219compilation failures and random segfaults. It is <e>strongly</e> suggested
218that you do not use this feature. Both <e>Voluntary Preemption</e> and 220that you do not use this feature. Both <e>Voluntary Preemption</e> and
219<e>No Forced Preemption</e> should be safe. 221<e>No Forced Preemption</e> should be safe.
220</p> 222</p>
221 223
222<pre caption="Ensure the Preemptible Kernel Option is Off"> 224<pre caption="Ensure the Preemptible Kernel Option is Off">
223Kernel options ---&gt; 225Kernel options ---&gt;
226 (X) No Forced Preemption (Server) 228 (X) No Forced Preemption (Server)
227 (X) Voluntary Kernel Preemption (Desktop) 229 (X) Voluntary Kernel Preemption (Desktop)
228</pre> 230</pre>
229 231
230<p> 232<p>
231If you're booting from Firewire, you'll need to enable these options. If you do 233If you're booting from FireWire, you'll need to enable these options. If you do
232not want to compile in support, you'll need to include these modules and their 234not want to compile in support, you'll need to include these modules and their
233dependencies in an initrd. 235dependencies in an initrd.
234</p> 236</p>
235 237
236<pre caption="Enable support for firewire devices on boot"> 238<pre caption="Enable support for FireWire devices on boot">
237Device Drivers ---&gt; 239Device Drivers ---&gt;
238 IEEE 1394 (FireWire) support ---&gt; 240 IEEE 1394 (FireWire) support ---&gt;
239 &lt;*&gt; IEEE 1394 (FireWire) support 241 &lt;*&gt; IEEE 1394 (FireWire) support
240 &lt;*&gt; OHCI-1394 support 242 &lt;*&gt; OHCI-1394 support
241 &lt;*&gt; SBP-2 support (Harddisks etc.) 243 &lt;*&gt; SBP-2 support (Harddisks etc.)
255 &lt;*&gt; USB Mass Storage support 257 &lt;*&gt; USB Mass Storage support
256</pre> 258</pre>
257 259
258<p> 260<p>
259Do not turn off kernel framebuffer support as it is required for a successful 261Do not turn off kernel framebuffer support as it is required for a successful
260boot. If you are using an NVIDIA based chipset, you should use the Open 262boot. If you are using an NVIDIA based chipset, you should use the Open
261Firmware framebuffer. If you are using an ATI based chipset, you should select 263Firmware framebuffer. If you are using an ATI based chipset, you should select
262the framebuffer driver based upon your chipset (Mach64, Rage128 or Radeon). 264the framebuffer driver based upon your chipset (Mach64, Rage128 or Radeon).
263</p> 265</p>
264 266
265<pre caption="Choosing a Framebuffer Driver"> 267<pre caption="Choosing a Framebuffer Driver">
266Device Drivers ---&gt; 268Device Drivers ---&gt;
274 &lt;*&gt; Framebuffer Console support 276 &lt;*&gt; Framebuffer Console support
275</pre> 277</pre>
276 278
277<note> 279<note>
278If you select more than one framebuffer device, it may default to a less than 280If you select more than one framebuffer device, it may default to a less than
279optimal driver. Either use only one framebuffer device or specify which 281optimal driver. Either use only one framebuffer device or specify which to use
280to use by passing the driver to use to the kernel on boot by appending a video 282by passing the driver to use to the kernel on boot by appending a video line
281line such as: <c>video=radeonfb</c>. 283such as: <c>video=radeonfb</c>.
282</note> 284</note>
283 285
284<p> 286<p>
285When you're done configuring your kernel, continue with <uri 287When you're done configuring your kernel, continue with <uri
286link="#compiling">Compiling and Installing</uri>. 288link="#compiling">Compiling and Installing</uri>.
321# <i>cd /usr/src/linux</i> 323# <i>cd /usr/src/linux</i>
322<comment>Note, your kernel version might be different</comment> 324<comment>Note, your kernel version might be different</comment>
323<comment>(Apple/IBM)</comment> 325<comment>(Apple/IBM)</comment>
324# <i>cp vmlinux /boot/<keyval id="kernel-name"/></i> 326# <i>cp vmlinux /boot/<keyval id="kernel-name"/></i>
325<comment>(Pegasos)</comment> 327<comment>(Pegasos)</comment>
326# <i>cp arch/powerpc/boot/images/zImage /boot/<keyval id="kernel-name" /></i> 328# <i>cp arch/powerpc/boot/images/zImage /boot/<keyval id="kernel-name"/></i>
327</pre> 329</pre>
328 330
329<p> 331<p>
330Now continue with <uri link="#kernel_modules">Kernel Modules</uri>. 332Now continue with <uri link="#kernel_modules">Kernel Modules</uri>.
331</p> 333</p>
365<pre caption="Copying over the Installation CD kernel config"> 367<pre caption="Copying over the Installation CD kernel config">
366# <i>zcat /proc/config.gz > /usr/share/genkernel/ppc/kernel-config-2.6</i> 368# <i>zcat /proc/config.gz > /usr/share/genkernel/ppc/kernel-config-2.6</i>
367</pre> 369</pre>
368 370
369<p> 371<p>
370If you are using firewire or USB to boot, you'll need to add modules to the 372If you are using FireWire or USB to boot, you'll need to add modules to the
371initrd. Edit <path>/usr/share/genkernel/ppc/modules_load</path> and change 373initrd. Edit <path>/usr/share/genkernel/ppc/modules_load</path> and change
372<c>MODULES_FIREWIRE="ieee1394 ohci1394 sbp2"</c> for firewire support or 374<c>MODULES_FIREWIRE="ieee1394 ohci1394 sbp2"</c> for FireWire support or
373<c>MODULES_USB="usbcore ohci-hcd ehci-hcd usb-storage"</c> for USB support. 375<c>MODULES_USB="usbcore ohci-hcd ehci-hcd usb-storage"</c> for USB support.
374</p> 376</p>
375 377
376<p> 378<p>
377Before compiling your sources, the fstab needs a slight adjustment. The rest of 379Before compiling your sources, the fstab needs a slight adjustment. The rest of
423boot arguments, these are required for a successful boot with genkernel. 425boot arguments, these are required for a successful boot with genkernel.
424</p> 426</p>
425 427
426<pre caption="Checking the created kernel image name and initrd"> 428<pre caption="Checking the created kernel image name and initrd">
427<comment>Note, your kernel version might be different</comment> 429<comment>Note, your kernel version might be different</comment>
428# <i>ls /boot/kernel-genkernel-ppc-<keyval id="kernel-gentoo"/> /boot/initramfs-genkernel-ppc-<keyval id="kernel-gentoo"/></i> 430# <i>ls /boot/<keyval id="genkernel-name"/> /boot/<keyval id="genkernel-initrd"/></i>
429</pre> 431</pre>
430 432
431<p> 433<p>
432Now continue with <uri link="#kernel_modules">Kernel Modules</uri>. 434Now continue with <uri link="#kernel_modules">Kernel Modules</uri>.
433</p> 435</p>

Legend:
Removed from v.1.60  
changed lines
  Added in v.1.61

  ViewVC Help
Powered by ViewVC 1.1.20