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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.19 - (hide annotations) (download) (as text)
Sun May 11 07:26:10 2014 UTC (3 months, 1 week ago) by swift
Branch: MAIN
CVS Tags: HEAD
Changes since 1.18: +6 -4 lines
File MIME type: application/xml
Add link to kernel configuration guide on the wiki as per suggestion on #gentoo-doc by micsha

1 vapier 1.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 swift 1.19 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-arm-kernel.xml,v 1.18 2013/12/17 10:45:50 swift Exp $ -->
8 vapier 1.1
9     <sections>
10    
11 swift 1.19 <version>14</version>
12     <date>2014-05-11</date>
13 vapier 1.1
14     <section>
15     <title>Installing the Sources</title>
16     <subsection>
17     <title>Choosing a Kernel</title>
18     <body>
19    
20     <p>
21     The core around which all distributions are built is the Linux kernel. It is the
22     layer between the user programs and your system hardware. Gentoo provides its
23     users several possible kernel sources. A full listing with description is
24 swift 1.18 available at the <uri link="https://wiki.gentoo.org/wiki/Kernel/Overview">Gentoo Kernel
25 vapier 1.1 Guide</uri>.
26     </p>
27    
28     <p>
29 nightmorph 1.3 For ARM systems, we will use <c>gentoo-sources</c> (contains additional patches
30 neysx 1.12 for extra features).
31 vapier 1.1 </p>
32    
33     <p>
34 nightmorph 1.3 Now install it using <c>emerge</c>.
35 vapier 1.1 </p>
36    
37     <pre caption="Installing a kernel source">
38 nightmorph 1.3 # <i>emerge gentoo-sources</i>
39 vapier 1.1 </pre>
40    
41     <p>
42     When you take a look in <path>/usr/src</path> you should see a symlink called
43     <path>linux</path> pointing to your kernel source. In this case, the installed
44     kernel source points to <c>gentoo-sources-<keyval id="kernel-version"/></c>.
45     Your version may be different, so keep this in mind.
46     </p>
47    
48     <pre caption="Viewing the kernel source symlink">
49     # <i>ls -l /usr/src/linux</i>
50     lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -&gt; linux-<keyval id="kernel-version"/>
51     </pre>
52    
53     </body>
54     </subsection>
55     </section>
56     <section id="manual">
57 swift 1.17 <title>Manual Configuration</title>
58 vapier 1.1 <subsection>
59     <title>Introduction</title>
60     <body>
61    
62     <p>
63     Manually configuring a kernel is often seen as the most difficult procedure a
64     Linux user ever has to perform. Nothing is less true -- after configuring a
65     couple of kernels you don't even remember that it was difficult ;)
66     </p>
67    
68     <p>
69     However, one thing <e>is</e> true: you must know your system when you start
70     configuring a kernel manually. Most information can be gathered by emerging
71     pciutils (<c>emerge pciutils</c>) which contains <c>lspci</c>. You will now
72     be able to use <c>lspci</c> within the chrooted environment. You may safely
73     ignore any <e>pcilib</e> warnings (like pcilib: cannot open
74     /sys/bus/pci/devices) that <c>lspci</c> throws out. Alternatively, you can run
75     <c>lspci</c> from a <e>non-chrooted</e> environment. The results are the same.
76     You can also run <c>lsmod</c> to see what kernel modules the Installation CD
77     uses (it might provide you with a nice hint on what to enable).
78     </p>
79    
80     <p>
81     Now go to your kernel source directory and execute <c>make menuconfig</c>. This
82     will fire up an ncurses-based configuration menu.
83     </p>
84    
85     <pre caption="Invoking menuconfig">
86     # <i>cd /usr/src/linux</i>
87     # <i>make menuconfig</i>
88     </pre>
89    
90     <p>
91     You will be greeted with several configuration sections. We'll first list some
92     options you must activate (otherwise Gentoo will not function, or not function
93 swift 1.19 properly without additional tweaks). We also have a <uri
94     link="https://wiki.gentoo.org/wiki/Kernel/Gentoo_Kernel_Configuration_Guide">Gentoo
95     Kernel Configuration Guide</uri> on the Gentoo wiki that might help you further.
96 vapier 1.1 </p>
97    
98     </body>
99     </subsection>
100     <subsection>
101     <title>Activating Required Options</title>
102     <body>
103    
104     <p>
105     Due to the highly specific nature of the embedded, we'll cover known
106     configurations for boards here. If your machine is not listed, then you should
107     visit the respective community website to figure out how to properly configure
108     your kernel.
109     </p>
110    
111     <p>
112     Please select your machine from the list below to jump to the configuration
113     section.
114     </p>
115    
116     <ul>
117     <li><uri link="#netwinder">NetWinder</uri></li>
118     </ul>
119    
120     </body>
121     </subsection>
122     </section>
123     <section id="netwinder">
124     <title>NetWinder configuration options</title>
125     <body>
126    
127     <p>
128     Remember that EXT2 support is required for the boot partition as that is the
129     only filesystem that the bootloader can read reliably. Otherwise, the only
130     filesystem that has been tested is EXT3 but your welcome to try your luck with
131     the others ;).
132     </p>
133    
134 vapier 1.2 <pre caption="NetWinder configuration options">
135     <comment>First generate a default config</comment>
136     # <i>make netwinder_defconfig</i>
137 vapier 1.1
138     <comment>Required options</comment>
139     System Type ---&gt;
140 vapier 1.2 ARM system type (FootBridge) ---&gt;
141     (X) FootBridge
142 vapier 1.1 Footbridge Implementations ---&gt;
143     [*] NetWinder
144    
145     Floating point emulation ---&gt;
146     [*] NWFPE math emulation
147    
148     File systems ---&gt;
149     [*] Second extended fs support
150     Pseudo Filesystems ---&gt;
151     [*] /proc file system support
152     [*] Virtual memory file system support (former shm fs)
153    
154     Device Drivers ---&gt;
155     ATA/ATAPI/MFM/RLL support ---&gt;
156     [*] ATA/ATAPI/MFM/RLL support
157     [*] Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
158     [*] Include IDE/ATA-2 DISK support
159     --- IDE chipset support/bugfixes
160     [*] PCI IDE chipset support
161     [*] Winbond SL82c105 support
162     [*] Generic PCI bus-master DMA support
163    
164     Network device support ---&gt;
165     [*] Network device support
166     Ethernet (10 or 100Mbit) ---&gt;
167     [*] Ethernet (10 or 100Mbit)
168     Tulip family network device support ---&gt;
169     [*] "Tulip" family network device support
170     [*] DECchip Tulip (dc2114x) PCI support
171     [*] Use PCI shared mem for NIC registers
172     [*] Use NAPI RX polling
173     [*] EISA, VLB, PCI and on board controllers
174     [*] PCI NE2000 and clones support
175    
176     Character devices ---&gt;
177     Serial drivers ---&gt;
178     [*] 8250/16550 and compatible serial support
179     [*] Console on 8250/16550 and compatible serial port
180     --- Non-8250 serial port support
181     [*] DC21285 serial port support
182     [*] Console on DC21285 serial port
183     Watchdog Cards ---&gt;
184     [*] Watchdog Timer Support
185     [*] NetWinder WB83C977 watchdog
186     [*] NetWinder thermometer support
187     [*] NetWinder Button
188     [*] Reboot Using Button
189    
190     <comment>Recommended options</comment>
191     Kernel Features ---&gt;
192     [*] Preemptible Kernel
193     [*] Timer and CPU usage LEDs
194     [*] CPU usage LED
195    
196     File systems ---&gt;
197     [*] Ext3 journalling file system support
198    
199     Device Drivers ---&gt;
200     Input device support ---&gt;
201     [*] Keyboards ---&gt;
202     [*] AT keyboard
203     [*] Mouse ---&gt;
204     [*] PS/2 mouse
205    
206     Graphics support ---&gt;
207     [*] Support for frame buffer devices
208     [*] Enable firmware EDID
209     [*] CyberPro 2000/2010/5000 support
210     Logo configuration ---&gt;
211     [*] Bootup logo
212     [*] Standard 224-color Linux logo
213    
214     Sound ---&gt;
215     [*] Sound card support
216     Open Sound System ---&gt;
217     [*] Open Sound System
218     [*] OSS sound modules
219     [*] Yamaha FM synthesizer (YM3812/OPL-3) support
220     [*] Netwinder WaveArtist
221    
222     <comment>You should only enable this to upgrade your flash</comment>
223     Device Drivers ---&gt;
224     Character devices ---&gt;
225     [*] NetWinder flash support
226     </pre>
227    
228     <p>
229     When you've finished configuring the kernel, continue with <uri
230     link="#compiling">Compiling and Installing</uri>.
231     </p>
232    
233     </body>
234     </section>
235     <section id="compiling">
236     <title>Compiling and Installing</title>
237     <body>
238    
239     <p>
240     Now that your kernel is configured, it is time to compile and install it. Exit
241     the configuration and start the compilation process:
242     </p>
243    
244     <pre caption="Compiling the kernel">
245     # <i>make &amp;&amp; make modules_install</i>
246     </pre>
247    
248 nightmorph 1.4
249 vapier 1.1 <p>
250     When the kernel has finished compiling, copy the kernel image to
251     <path>/boot</path>. Use whatever name you feel is appropriate for your kernel
252     choice and remember it as you will need it later on when you configure your
253     bootloader. Remember to replace <c><keyval id="kernel-name"/></c> with the
254     name and version of your kernel.
255     </p>
256    
257     <pre caption="Installing the kernel">
258     # <i>cp vmlinux.gz /boot/<keyval id="kernel-name"/></i>
259     </pre>
260    
261     <p>
262     Now continue with <uri link="#kernel_modules">Kernel Modules</uri>.
263     </p>
264    
265     </body>
266     </section>
267     <section id="kernel_modules">
268     <title>Kernel Modules</title>
269 nightmorph 1.14
270 vapier 1.1 <subsection>
271 nightmorph 1.14 <include href="hb-install-kernelmodules.xml"/>
272     </subsection>
273 vapier 1.1
274     </section>
275     </sections>

  ViewVC Help
Powered by ViewVC 1.1.20