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

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

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

Revision 1.9 Revision 1.30
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-ia64-kernel.xml,v 1.9 2007/07/27 18:38:09 swift Exp $ --> 7<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-ia64-kernel.xml,v 1.30 2013/04/06 08:09:20 swift Exp $ -->
8 8
9<sections> 9<sections>
10 10
11<version>8.2</version> 11<version>20</version>
12<date>2007-07-27</date> 12<date>2013-04-06</date>
13 13
14<section>
15<title>Timezone</title>
16<body>
17
18<p>
19You first need to select your timezone so that your system knows where it is
20located. Look for your timezone in <path>/usr/share/zoneinfo</path>, then copy
21it to <path>/etc/localtime</path>. Please avoid the
22<path>/usr/share/zoneinfo/Etc/GMT*</path> timezones as their names do not
23indicate the expected zones. For instance, <path>GMT-8</path> is in fact
24GMT+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</body>
34</section>
35<section> 14<section>
36<title>Installing the Sources</title> 15<title>Installing the Sources</title>
37<subsection> 16<subsection>
38<title>Choosing a Kernel</title> 17<title>Choosing a Kernel</title>
39<body> 18<body>
45available at the <uri link="/doc/en/gentoo-kernel.xml">Gentoo Kernel 24available at the <uri link="/doc/en/gentoo-kernel.xml">Gentoo Kernel
46Guide</uri>. 25Guide</uri>.
47</p> 26</p>
48 27
49<p> 28<p>
50For IA64 systems, we will use <c>gentoo-sources</c> (contains additional patches 29For <keyval id="arch"/> systems, we will use <c>gentoo-sources</c> (contains
51for performance and stability). 30additional patches for extra features).
52</p> 31</p>
53 32
54<p> 33<p>
55Now install it using <c>emerge</c>. 34Now install it using <c>emerge</c>.
56</p> 35</p>
133<subsection> 112<subsection>
134<title>Activating Required Options</title> 113<title>Activating Required Options</title>
135<body> 114<body>
136 115
137<p> 116<p>
138First of all, activate the use of development and experimental code/drivers.
139You need this, otherwise some very important code/drivers won't show up:
140</p>
141
142<pre caption="Selecting experimental code/drivers, General setup">
143Code maturity level options ---&gt;
144 [*] Prompt for development and/or incomplete code/drivers
145General setup ---&gt;
146 [*] Support for hot-pluggable devices
147</pre>
148
149<p>
150Make sure that every driver that is vital to the booting of your system (such as 117Make sure that every driver that is vital to the booting of your system (such as
151SCSI controller, ...) is compiled <e>in</e> the kernel and not as a module, 118SCSI controller, ...) is compiled <e>in</e> the kernel and not as a module,
152otherwise your system will not be able to boot completely. 119otherwise your system will not be able to boot completely.
153</p> 120</p>
154 121
167 <comment>(Change according to your system)</comment> 134 <comment>(Change according to your system)</comment>
168 <i>Itanium 2</i> 135 <i>Itanium 2</i>
169</pre> 136</pre>
170 137
171<p> 138<p>
139Next select <e>Maintain a devtmpfs file system to mount at /dev</e> so that
140critical device files are already available early in the boot process.
141</p>
142
143<pre caption="Enabling devtmpfs support">
144Device Drivers ---&gt;
145 Generic Driver Options ---&gt;
146 [*] Maintain a devtmpfs filesystem to mount at /dev
147 [ ] Automount devtmpfs at /dev, after the kernel mounted the rootfs
148</pre>
149
150<p>
172Now go to <c>File Systems</c> and select support for the filesystems you use. 151Now go to <c>File Systems</c> and select support for the filesystems you use.
173<e>Don't</e> compile them as modules, otherwise your Gentoo system will not be 152<e>Don't</e> compile them as modules, otherwise your Gentoo system will not be
174able to mount your partitions. Also select <c>Virtual memory</c> and <c>/proc 153able to mount your partitions. Also select <c>Virtual memory</c> and <c>/proc
175file system</c>. 154file system</c>.
176</p> 155</p>
187 &lt;*&gt; JFS filesystem support 166 &lt;*&gt; JFS filesystem support
188 &lt;*&gt; Second extended fs support 167 &lt;*&gt; Second extended fs support
189 &lt;*&gt; XFS filesystem support 168 &lt;*&gt; XFS filesystem support
190 169
191<comment>(Be sure to enable VFAT support for the EFI partition)</comment> 170<comment>(Be sure to enable VFAT support for the EFI partition)</comment>
192DOS/FAT/NT Filesystems ---> 171 DOS/FAT/NT Filesystems ---&gt;
193 &lt;*&gt; VFAT (Windows-95) fs support 172 &lt;*&gt; VFAT (Windows-95) fs support
194</pre>
195 173
196<p> 174<comment>(Enable GPT partition label support if you used that previously</comment>
197Do not forget to enable DMA for your drives: 175-*- Enable the block layer --->
198</p> 176 ...
199 177 Partition Types --->
200<pre caption="Activating DMA"> 178 [*] Advanced partition selection
201Device Drivers ---&gt; 179 ...
202 ATA/ATAPI/MFM/RLL support ---&gt; 180 [*] EFI GUID Partition support
203 [*] Generic PCI bus-master DMA support
204</pre> 181</pre>
205 182
206<p> 183<p>
207If you are using PPPoE to connect to the Internet or you are using a dial-up 184If you are using PPPoE to connect to the Internet or you are using a dial-up
208modem, you will need the following options in the kernel: 185modem, you will need the following options in the kernel:
209</p> 186</p>
210 187
211<pre caption="Selecting PPPoE necessary drivers"> 188<pre caption="Selecting PPPoE necessary drivers">
212Device Drivers ---&gt; 189Device Drivers ---&gt;
213 Networking Support ---&gt; 190 Network device support ---&gt;
214 &lt;*&gt; PPP (point-to-point protocol) support 191 &lt;*&gt; PPP (point-to-point protocol) support
215 &lt;*&gt; PPP support for async serial ports 192 &lt;*&gt; PPP support for async serial ports
216 &lt;*&gt; PPP support for sync tty ports 193 &lt;*&gt; PPP support for sync tty ports
217</pre> 194</pre>
218 195
242those as well: 219those as well:
243</p> 220</p>
244 221
245<pre caption="Activating USB Support for Input Devices"> 222<pre caption="Activating USB Support for Input Devices">
246Device Drivers ---&gt; 223Device Drivers ---&gt;
247 USB Support ---&gt; 224 [*] HID Devices ---&gt;
248 &lt;*&gt; USB Human Interface Device (full HID) support 225 &lt;*&gt; USB Human Interface Device (full HID) support
249</pre> 226</pre>
250 227
251<p> 228<p>
252When you've finished configuring the kernel, continue with <uri 229When you've finished configuring the kernel, continue with <uri
267<pre caption="Compiling the kernel"> 244<pre caption="Compiling the kernel">
268# <i>make &amp;&amp; make modules_install</i> 245# <i>make &amp;&amp; make modules_install</i>
269</pre> 246</pre>
270 247
271<p> 248<p>
272When the kernel has finished compiling, copy the kernel image to 249When the kernel has finished compiling, copy the kernel image to <path>/</path>.
273<path>/boot</path>. Use whatever name you feel is appropriate for your kernel 250Use whatever name you feel is appropriate for your kernel choice and remember it
274choice and remember it as you will need it later on when you configure your 251as you will need it later on when you configure your bootloader. Remember to
275bootloader. Remember to replace <c><keyval id="kernel-name"/></c> with the 252replace <c>vmlinuz</c> with the name and version of your kernel.
276name and version of your kernel.
277</p> 253</p>
278 254
279<pre caption="Installing the kernel"> 255<pre caption="Installing the kernel">
280# <i>cp vmlinux.gz /boot/<keyval id="kernel-name"/></i> 256# <i>cp vmlinux.gz /boot/vmlinuz</i>
257</pre>
258
259</body>
260</subsection>
261<subsection id="initramfs">
262<title>(Optional) Building an Initramfs</title>
263<body>
264
265<p>
266If you use a specific partition layout where important file system locations
267(like <path>/usr</path> or <path>/var</path>) are on separate partitions, then
268you will need to setup an initramfs so that this partition can be mounted before
269it is needed.
270</p>
271
272<p>
273Without an initramfs, you risk that the system will not boot up properly as the
274tools that are responsible for mounting the file systems need information that
275resides on those file systems. An initramfs will pull in the necessary files
276into an archive which is used right after the kernel boots, but before the
277control is handed over to the <c>init</c> tool. Scripts on the initramfs will
278then make sure that the partitions are properly mounted before the system
279continues booting.
280</p>
281
282<p>
283To install an initramfs, install <c>genkernel</c> first, then have it
284generate an initramfs for you.
285</p>
286
287<pre caption="Building an initramfs">
288# <i>emerge genkernel</i>
289# <i>genkernel --bootdir=/. --no-mountboot --install initramfs</i>
290</pre>
291
292<p>
293If you need specific support in the initramfs, such as lvm or raid, add in the
294appropriate options to genkernel. See <c>genkernel --help</c> for more
295information, or the next example which enables support for LVM and software raid
296(mdadm):
297</p>
298
299<pre caption="Building an initramfs with support for LVM and software raid">
300# <i>genkernel --bootdir=/. --no-mountboot --lvm --mdadm --install initramfs</i>
301</pre>
302
303<p>
304The initramfs will be stored in <path>/</path>. You can find the file by simply
305listing the files starting with <path>initramfs</path>:
306</p>
307
308<pre caption="Checking the initramfs file name">
309# <i>ls /initramfs*</i>
281</pre> 310</pre>
282 311
283<p> 312<p>
284Now continue with <uri link="#kernel_modules">Kernel Modules</uri>. 313Now continue with <uri link="#kernel_modules">Kernel Modules</uri>.
285</p> 314</p>
314<pre caption="Emerging genkernel"> 343<pre caption="Emerging genkernel">
315# <i>emerge genkernel</i> 344# <i>emerge genkernel</i>
316</pre> 345</pre>
317 346
318<p> 347<p>
319Now, compile your kernel sources by running <c>genkernel --udev all</c>. 348Now, compile your kernel sources by running <c>genkernel</c>. Be aware
320Be aware though, as <c>genkernel</c> compiles a kernel that supports almost all 349though, as <c>genkernel</c> compiles a kernel that supports almost all hardware,
321hardware, this compilation will take quite a while to finish! 350this compilation will take quite a while to finish!
322</p> 351</p>
323 352
324<note> 353<note>
325Users of EVMS2 or LVM2 will probably want to add 354Users of LVM2 will probably want to add <c>--lvm2</c> to the genkernel
326<c>--evms2</c> or <c>--lvm2</c> to the genkernel command-line. 355command-line.
327</note> 356</note>
328 357
329<pre caption="Running genkernel"> 358<pre caption="Running genkernel">
330# <i>genkernel --udev all</i> 359# <i>genkernel --bootdir=/. --no-mountboot all</i>
331</pre> 360</pre>
332 361
333<p> 362<p>
334Once <c>genkernel</c> completes, a kernel, full set of modules and 363Once <c>genkernel</c> completes, a kernel, full set of modules and
335<e>initial root disk</e> (initrd) will be created. We will use the kernel 364<e>initial ram disk</e> (initramfs) will be created. We will use the kernel
336and initrd when configuring a boot loader later in this document. Write 365and initrd when configuring a boot loader later in this document. Write
337down the names of the kernel and initrd as you will need it when writing 366down the names of the kernel and initrd as you will need it when writing
338the bootloader configuration file. The initrd will be started immediately after 367the bootloader configuration file. The initrd will be started immediately after
339booting to perform hardware autodetection (just like on the Installation CD) 368booting to perform hardware autodetection (just like on the Installation CD)
340before your "real" system starts up. 369before your "real" system starts up.
341</p> 370</p>
342 371
343<pre caption="Checking the created kernel image name and initrd"> 372<pre caption="Checking the created kernel image name and initrd">
344# <i>ls /boot/kernel* /boot/initramfs*</i> 373# <i>ls /kernel* /initramfs*</i>
345</pre> 374</pre>
346 375
347</body> 376</body>
348</section> 377</section>
349<section id="kernel_modules"> 378<section id="kernel_modules">
350<title>Kernel Modules</title> 379<title>Kernel Modules</title>
380
351<subsection> 381<subsection>
352<title>Configuring the Modules</title> 382<include href="hb-install-kernelmodules.xml"/>
353<body>
354
355<p>
356You should list the modules you want automatically loaded in
357<path>/etc/modules.autoload.d/kernel-2.6</path>. You can add extra options to
358the modules too if you want.
359</p>
360
361<p>
362To view all available modules, run the following <c>find</c> command. Don't
363forget to substitute <c><keyval id="kernel-version"/></c> with the version of
364the kernel you just compiled:
365</p>
366
367<pre caption="Viewing all available modules">
368# <i>find /lib/modules/<keyval id="kernel-version"/>/ -type f -iname '*.o' -or -iname '*.ko'</i>
369</pre>
370
371<p>
372For instance, to automatically load the <c>3c59x.o</c> module, edit the
373<path>kernel-2.6</path> file and enter the module name in it.
374</p>
375
376<pre caption="Editing /etc/modules.autoload.d/kernel-2.6">
377# <i>nano -w /etc/modules.autoload.d/kernel-2.6</i>
378</pre>
379
380<pre caption="/etc/modules.autoload.d/kernel-2.6">
3813c59x
382</pre>
383
384<p>
385Continue the installation with <uri link="?part=1&amp;chap=8">Configuring
386your System</uri>.
387</p>
388
389</body>
390</subsection> 383</subsection>
384
391</section> 385</section>
392</sections> 386</sections>

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.30

  ViewVC Help
Powered by ViewVC 1.1.20