/[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 - (show annotations) (download) (as text)
Sun May 11 07:26:10 2014 UTC (5 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 <?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-arm-kernel.xml,v 1.18 2013/12/17 10:45:50 swift Exp $ -->
8
9 <sections>
10
11 <version>14</version>
12 <date>2014-05-11</date>
13
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 available at the <uri link="https://wiki.gentoo.org/wiki/Kernel/Overview">Gentoo Kernel
25 Guide</uri>.
26 </p>
27
28 <p>
29 For ARM systems, we will use <c>gentoo-sources</c> (contains additional patches
30 for extra features).
31 </p>
32
33 <p>
34 Now install it using <c>emerge</c>.
35 </p>
36
37 <pre caption="Installing a kernel source">
38 # <i>emerge gentoo-sources</i>
39 </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 <title>Manual Configuration</title>
58 <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 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 </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 <pre caption="NetWinder configuration options">
135 <comment>First generate a default config</comment>
136 # <i>make netwinder_defconfig</i>
137
138 <comment>Required options</comment>
139 System Type ---&gt;
140 ARM system type (FootBridge) ---&gt;
141 (X) FootBridge
142 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
249 <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
270 <subsection>
271 <include href="hb-install-kernelmodules.xml"/>
272 </subsection>
273
274 </section>
275 </sections>

  ViewVC Help
Powered by ViewVC 1.1.20