/[gentoo]/xml/htdocs/doc/en/genkernel.xml
Gentoo

Diff of /xml/htdocs/doc/en/genkernel.xml

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

Revision 1.24 Revision 1.37
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/genkernel.xml,v 1.24 2005/09/04 23:04:25 cam Exp $ --> 2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/genkernel.xml,v 1.37 2011/09/03 07:18:26 swift Exp $ -->
3<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 3<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4 4
5<guide link="/doc/en/genkernel.xml"> 5<guide>
6<title>Gentoo Linux Genkernel Guide</title> 6<title>Gentoo Linux Genkernel Guide</title>
7 7
8<author title="Author"> 8<author title="Author">
9 <mail link="plasmaroo@gentoo.org">Tim Yamin</mail> 9 <mail link="plasmaroo@gentoo.org">Tim Yamin</mail>
10</author> 10</author>
11
12<!-- folajimi@speakeasy.net --> 11<!-- folajimi@speakeasy.net -->
13<author title="Contributor"> 12<author title="Contributor">
14 Jimi Ayodele 13 Jimi Ayodele
15</author> 14</author>
16
17<!-- thseiler@gmail.com --> 15<!-- thseiler@gmail.com -->
18<author title="NFS Support"> 16<author title="NFS Support">
19 Thomas Seiler 17 Thomas Seiler
20</author> 18</author>
19<author title="Editor">
20 <mail link="nightmorph"/>
21</author>
22<author title="Contributor">
23 <mail link="sping"/>
24</author>
21 25
22<abstract> 26<abstract>
23This guide intends to provide a reference of all the functions provided by 27This guide intends to provide a reference of all the functions provided by
24genkernel. 28genkernel.
25</abstract> 29</abstract>
26 30
31<!-- The content of this document is licensed under the CC-BY-SA license -->
32<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
27<license/> 33<license/>
28 34
29<version>1.4.1</version> 35<version>7</version>
30<date>2005-08-11</date> 36<date>2011-09-03</date>
31 37
32<chapter> 38<chapter>
33<title>Introduction</title> 39<title>Introduction</title>
34<section> 40<section>
35<title>Rationale</title> 41<title>Rationale</title>
36<body> 42<body>
37 43
38<p> 44<p>
39For users who are not privy to kernel compilation, genkernel is a tool to 45For users who don't want to manually compile their kernels, genkernel is a tool
40automate this process. It can help you create a kernel image akin to those 46to automate this process. It can help you create a kernel image akin to those
41available on Gentoo Installation CDs, which are designed to auto-detect the 47available on Gentoo Installation CDs, which are designed to auto-detect the
42hardware configuration of your system. Some users may also be interested in 48hardware configuration of your system. Some users may also be interested in
43using genkernel for hardware requiring initialization and a working kernel 49using genkernel for hardware requiring initialization and a working kernel
44before the system starts up. Since genkernel automatically compiles your kernel 50before the system starts up.
45modules, you can use hardware that may require certain module parameters to be
46loaded for proper operation.
47</p> 51</p>
48 52
49</body> 53</body>
50</section> 54</section>
51<section> 55<section>
73<section> 77<section>
74<title>Installing genkernel</title> 78<title>Installing genkernel</title>
75<body> 79<body>
76 80
77<p> 81<p>
78To obtain genkernel, run <c>emerge genkernel</c> from the command line. If you 82To obtain genkernel, run <c>emerge genkernel</c> from the command line. Consult
79are using the <uri
80link="/doc/en/handbook/2005.0/hb-install-about.xml#doc_chap2_sect1">Gentoo
81Reference Platform</uri> (GRP), remember to install binary packages by passing
82the <c>-k</c> flag to emerge. Since the GRP is bundled with an older version of
83genkernel, the flags may be different. In any case, consult <c>genkernel
84--help</c> for help on how to use the version of genkernel installed on your 83<c>genkernel --help</c> for help on how to use the version of genkernel
85system. 84installed on your system.
86</p> 85</p>
87 86
88</body> 87</body>
89</section> 88</section>
90</chapter> 89</chapter>
103and may increase compile time. Below is an illustration of a more efficient 102and may increase compile time. Below is an illustration of a more efficient
104approach, achieved by passing certain flags to genkernel as root: 103approach, achieved by passing certain flags to genkernel as root:
105</p> 104</p>
106 105
107<pre caption="Running genkernel (with flags)"> 106<pre caption="Running genkernel (with flags)">
108# <i>genkernel --bootsplash --no-install --no-clean --menuconfig all</i> 107# <i>genkernel --splash --no-install --no-clean --menuconfig all</i>
109</pre> 108</pre>
110 109
111<p> 110<p>
112The above operation causes genkernel to create a bootsplash-enabled kernel 111The above operation causes genkernel to create a framebuffer splash-enabled
113(<c>--bootsplash</c>) that will have to be manually installed 112kernel (<c>--splash</c>) that will have to be manually installed
114(<c>--no-install</c>). While preparing the kernel source tree, genkernel will 113(<c>--no-install</c>). While preparing the kernel source tree, genkernel will
115refrain from cleaning out any preexisting object files present in the source 114refrain from cleaning out any preexisting object files present in the source
116tree (<c>--no-clean</c>). A menu-driven kernel configuration utility will be 115tree (<c>--no-clean</c>). A menu-driven kernel configuration utility will be
117displayed that allows the user to select which modules will be built for the 116displayed that allows the user to select which modules will be built for the
118system (<c>--menuconfig</c>). 117system (<c>--menuconfig</c>).
119</p> 118</p>
120 119
121<p> 120<p>
122There are other flags which alter the result provided by genkernel. For 121There are other flags which alter the result provided by genkernel. For
123instance, replacing <c>--no install</c> with the <c>--install</c> flag allows 122instance, replacing <c>--no-install</c> with the <c>--install</c> flag allows
124genkernel to automatically install the new kernel in the <path>/boot</path> 123genkernel to automatically install the new kernel in the <path>/boot</path>
124directory, and will create symlinks for you if <c>--symlink</c> is specified.
125directory. Using the <c>--mountboot</c> flag allows genkernel to mount your 125Using the <c>--mountboot</c> flag allows genkernel to mount your
126<path>/boot</path> partition automatically, if necessary. 126<path>/boot</path> partition automatically, if necessary.
127</p> 127</p>
128 128
129<p> 129<p>
130Remember, genkernel is designed to make kernel compilation easy and 130Remember, genkernel is designed to make kernel compilation easy and
135there are flags that affect kernel assembling, packaging and even kernel 135there are flags that affect kernel assembling, packaging and even kernel
136initialization. 136initialization.
137</p> 137</p>
138 138
139<p> 139<p>
140The rest of this chapter examines the functionality of various flags and 140The rest of this chapter examines the functionality of various flags,
141actions available for genkernel. Some of the flags have variants which perform 141configuration variables, and actions available for genkernel. For a more
142complete list, please refer to <c>man genkernel</c> and the comments in
143<path>/etc/genkernel.conf</path>. Some of the flags have variants which
142a converse operation. The converse variants carry the <b><c>no-</c></b> prefix, 144perform a converse operation. The converse variants carry the <b><c>no-</c></b>
143and their effects are enclosed within the square brackets, []. 145prefix, and their effects are enclosed within the square brackets, [].
144</p> 146</p>
145 147
146</body> 148</body>
147</section> 149</section>
148<section> 150<section>
177 on the X-windowing system. The disadvantage of this option is that you 179 on the X-windowing system. The disadvantage of this option is that you
178 <b>need</b> the X-windowing system to use it, so it will not work on the 180 <b>need</b> the X-windowing system to use it, so it will not work on the
179 command line. 181 command line.
180 </li> 182 </li>
181 <li> 183 <li>
182 <b>--<c>no-</c>save-config</b>: Saves [or does not save] the kernel 184 <b>--<c>no-</c>save-config</b>: Saves <e>[or does not save]</e> the kernel
183 configuration to a file in the <path>/etc/kernels/</path> directory for 185 configuration to a file in the <path>/etc/kernels/</path> directory for
184 later use. 186 later use.
185 </li> 187 </li>
186</ul> 188</ul>
187 189
256 install</c> command, which installs your new kernel image, configuration 258 install</c> command, which installs your new kernel image, configuration
257 file, initrd image and system map onto your mounted boot partition. Any 259 file, initrd image and system map onto your mounted boot partition. Any
258 compiled modules will be installed as well. 260 compiled modules will be installed as well.
259 </li> 261 </li>
260 <li> 262 <li>
261 <b>--<c>no-</c>initrdmodules</b>: Refrains from copying any modules to the 263 <b>--no-ramdisk-modules</b>: Refrains from copying any modules to the
262 genkernel-created initrd image. This flag is an exception to the rule about 264 genkernel-created initrd image. This flag is an exception to the rule about
263 the <c>no-</c> prefix; omission of this prefix creates an invalid genkernel 265 the <c>no-</c> prefix; omission of this prefix creates an invalid genkernel
264 flag. 266 flag.
267 </li>
268 <li>
269 <b>--all-ramdisk-modules</b>: Copies all available modules to the
270 genkernel-created initrd image.
265 </li> 271 </li>
266 <li> 272 <li>
267 <b>--genzimage</b>: Creates the initrd image, prior to the kernel image. 273 <b>--genzimage</b>: Creates the initrd image, prior to the kernel image.
268 (This hack currently applies only to PPC Pegasos systems.) 274 (This hack currently applies only to PPC Pegasos systems.)
269 </li> 275 </li>
326 that the make utility can implement while the kernel (and utilities) are 332 that the make utility can implement while the kernel (and utilities) are
327 being compiled. The variable <b>'X'</b> is a number obtained by adding one 333 being compiled. The variable <b>'X'</b> is a number obtained by adding one
328 (1) to the number of CPUs used by the system. So, for a system with one 334 (1) to the number of CPUs used by the system. So, for a system with one
329 CPU, the appropriate flag is <c>-j2</c>; a system with two CPUs will use 335 CPU, the appropriate flag is <c>-j2</c>; a system with two CPUs will use
330 the <c>-j3</c> flag, and so on. <e>(A system with one processor that 336 the <c>-j3</c> flag, and so on. <e>(A system with one processor that
331 supports Hyper-Threading (HT) Technology can use the</e><c>-j3</c> 337 supports Hyper-Threading&trade; (HT) Technology can use the
332 <e>flag, provided Symmetric Multi-Processing (SMP) support is enabled in 338 </e><c>-j3</c><e> flag, provided Symmetric Multi-Processing (SMP) support is
333 the kernel.)</e> 339 enabled in the kernel.)</e>
334 </li> 340 </li>
335</ul> 341</ul>
336 342
337</body> 343</body>
338</section> 344</section>
339<section> 345<section>
340<title>Debugging Flags</title> 346<title>Debugging Flags</title>
341<body> 347<body>
342 348
343<p> 349<p>
344The use debugging flags during the kernel compilation process controls the 350The use of debugging flags during the kernel compilation process controls the
345amount of information reported, as well as the presentation of said data. 351amount of information reported, as well as the presentation of said data.
346</p> 352</p>
347 353
348<ul> 354<ul>
349 <li> 355 <li>
350 <b>--debuglevel=<c>verblevel</c></b>: Controls the level of verbosity for 356 <b>--loglevel=<c>verblevel</c></b>: Controls the level of verbosity for
351 information provided by genkernel. The variable <c>verblevel</c> is an 357 information provided by genkernel. The variable <c>verblevel</c> is an
352 integer between 0 and 5. The level '0' represents minimal output, while '5' 358 integer between 0 and 5. The level '0' represents minimal output, while '5'
353 provides as much information as possible about genkernel's activities 359 provides as much information as possible about genkernel's activities
354 during the kernel compilation process. 360 during the kernel compilation process.
355 </li> 361 </li>
356 <li> 362 <li>
357 <b>--debugfile=<path>/path/to/outputfile</path></b>: Ignores the value set 363 <b>--logfile=<path>/path/to/outputfile</path></b>: Ignores the value set
358 by the <c>--debuglevel</c> argument, and sends <b>all</b> debugging data 364 by the <c>--loglevel</c> argument, and sends <b>all</b> debugging data
359 produced by genkernel to the specified output file, which is located at 365 produced by genkernel to the specified output file, which is located at
360 <path>/var/log/genkernel.log</path> by default. 366 <path>/var/log/genkernel.log</path> by default.
361 </li> 367 </li>
362 <li> 368 <li>
363 <b>--no-color</b>: Activates [or deactivates] colored output of debugging 369 <b>--no-color</b>: Activates <e>[or deactivates]</e> colored output of
364 information (reported by genkernel) using escape sequences. 370 debugging information (reported by genkernel) using escape sequences.
365 </li> 371 </li>
366</ul> 372</ul>
367 373
368</body> 374</body>
369</section> 375</section>
378enabling certain features on the system. 384enabling certain features on the system.
379</p> 385</p>
380 386
381<ul> 387<ul>
382 <li> 388 <li>
383 <b>--<c>no-</c>bootsplash</b>: Activates <e>[or deactivates]</e> support
384 for <uri link="http://www.bootsplash.org/">bootsplash</uri> in the
385 genkernel-built initrd image. The bootsplash feature is supported on a
386 limited number of architectures, and a kernel that supports bootsplash is
387 also required.
388 </li>
389 <li>
390 <b>--<c>no-</c>gensplash</b>: Activates <e>[or deactivates]</e> support for 389 <b>--<c>no-</c>splash</b>: Activates <e>[or deactivates]</e> support for
391 <uri 390 <uri link="http://fbsplash.berlios.de/wiki/doku.php">framebuffer
392 link="http://dev.gentoo.org/~spock/projects/gensplash/">gensplash</uri> 391 splash</uri> support in the genkernel-built initrd image. To override the
393 support in the genkernel-built initrd image. The gensplash utility is 392 default theme used by fbsplash, use <b>--splash=<c>PreferredTheme</c></b>
394 intended to be a replacement for bootsplash, and is designed for use with 393 (where <c>PreferredTheme</c> is the title of one of the directories inside
395 2.6.x series kernels. To override the default theme used by gensplash, use 394 the <path>/etc/splash/</path> directory.
396 <b>--gensplash=<c>PreferredTheme</c></b> (where <c>PreferredTheme</c> is
397 the title of one of the directories inside the <path>/etc/splash/</path>
398 directory.
399 </li>
400 <li> 395 </li>
396 <li>
401 <b>--gensplash-res=<c>PreferredResolution</c></b>: This flag allows you to 397 <b>--splash-res=<c>PreferredResolution</c></b>: This flag allows you to
402 select which splash screen resolutions will be supported in the initrd 398 select which splash screen resolutions will be supported in the initrd
403 during the start-up of the system. This is useful for two reasons: First, 399 during the start-up of the system. This is useful for two reasons: First,
404 you are able to select only the splash screen resolution(s) relevant to 400 you are able to select only the splash screen resolution(s) relevant to your
405 your system. Second, you avoid the unnecessary increase in the disk space 401 system. Second, you avoid the unnecessary increase in the disk space
406 required by initrd (since the initrd does not have to support resolutions 402 required by initrd (since the initrd does not have to support resolutions
407 that are irrelevant for your system configuration.) However, you may want 403 that are irrelevant for your system configuration.) However, you may want to
408 to omit this flag if the kernel is being compiled for an Installation CD; 404 omit this flag if the kernel is being compiled for an Installation CD; this
409 this allows gensplash support for all possible resolutions. 405 allows splash support for all possible resolutions.
410 </li> 406 </li>
411 <li> 407 <li>
412 <b>--do-keymap-auto</b>: Force keymap selection during the boot sequence. 408 <b>--do-keymap-auto</b>: Force keymap selection during the boot sequence.
413 </li> 409 </li>
414 <li> 410 <li>
415 <b>--lvm2</b>: Includes support for storage using via <uri 411 <b>--lvm</b>: Includes support for storage using via <uri
416 link="http://sources.redhat.com/lvm2/">Logical Volume Management</uri> 412 link="http://sources.redhat.com/lvm2/">Logical Volume Management</uri>
417 (LVM2) from <e>static</e> binaries, if available to the system. Relevant 413 (LVM2) from <e>static</e> binaries, if available to the system. Relevant
418 (static) LVM2 binaries are compiled if they are unavailable. Be sure to 414 (static) LVM2 binaries are compiled if they are unavailable. Be sure to
419 install the lvm2 package on your system with <c>emerge lvm2</c> before 415 install the lvm2 package on your system with <c>emerge lvm2</c> before
420 enabling this flag, and review the <uri link="/doc/en/lvm2.xml">Gentoo LVM2 416 enabling this flag, and review the <uri link="/doc/en/lvm2.xml">Gentoo LVM2
421 Installation</uri> guide. 417 Installation</uri> guide.
422 </li> 418 </li>
423 <li> 419 <li>
424 <b>--evms2</b>: Includes support for storage using the <uri
425 link="http://evms.sourceforge.net/">Enterprise Volume Management
426 System</uri> (EVMS2), if available. Be sure to install the evms package on
427 your system with <c>USE=static emerge evms2</c> before using this
428 (genkernel) flag. <e>(Omitting the </e><c>USE=static</c> <e>flag during
429 package installation will fail to include the necessary static binaries.)
430 </e>
431 </li>
432 <li>
433 <b>--dmraid</b>: Includes support for <uri 420 <b>--dmraid</b>: Includes support for <uri
434 link="http://people.redhat.com/~heinzm/sw/dmraid/readme">DMRAID</uri>; the 421 link="http://people.redhat.com/~heinzm/sw/dmraid/readme">DMRAID</uri>; the
435 utility which creates RAID mappings using the kernel device-mapper 422 utility which creates RAID mappings using the kernel device-mapper
436 subsystem. DMRAID discovers, activates, deactivates and displays properties 423 subsystem. DMRAID discovers, activates, deactivates and displays properties
437 of software RAID sets (ATARAID, for example) and contained DOS partitions. 424 of software RAID sets (ATARAID, for example) and contained DOS partitions.
438 </li> 425 </li>
439 <li> 426 <li>
427 <b>--luks</b>: Includes support for <uri
428 link="http://luks.endorphin.org/">Linux Unified Key Setup</uri> or LUKS.
429 This will allow you to use a device encrypted by LUKS which contains the
430 root filesystem. On the bootloader, you then set that encrypted device as
431 the value of crypt_root (and real_root shall be the unencrypted device LUKS
432 creates).
433 </li>
434 <li>
435 <b>--disklabel</b>: Adds support for disk label and UUID support to your
436 initrd.
437 </li>
438 <li>
439 <b>--iscsi</b>: Adds support for iSCSI to your initrd.
440 </li>
441 <li>
442 <b>--multipath</b>: Adds support for <uri
443 link="/doc/en/multipath.xml">Multipath</uri> to your initrd.
444 </li>
445 <li>
440 <b>--linuxrc=/path/to/your/linuxrc</b>: Specifies a user-created 446 <b>--linuxrc=/path/to/your/linuxrc</b>: Specifies a user-created
441 <e>linuxrc</e> a script that is initialized during the start-up stage of 447 <e>linuxrc</e> &mdash; a script that is initialized during the start-up
442 the kernel, prior to the actual boot process. (A default linuxrc script 448 stage of the kernel, prior to the actual boot process. (A default linuxrc
443 should be in the <path>/usr/share/genkernel/</path> directory.) This script 449 script should be in the <path>/usr/share/genkernel/</path> directory.) This
444 allows you to boot into a small, modularized kernel and load the drivers 450 script allows you to boot into a small, modularized kernel and load the
445 that are needed (as modules) by the system. 451 drivers that are needed (as modules) by the system.
446 </li> 452 </li>
447 <li> 453 <li>
448 <b>--cachedir=/path/to/alt/dir/</b>: Overrides the default cache location 454 <b>--cachedir=/path/to/alt/dir/</b>: Overrides the default cache location
449 used while compiling the kernel. 455 used while compiling the kernel.
450 </li> 456 </li>
495An action tells genkernel what to build. Currently, the following actions are 501An action tells genkernel what to build. Currently, the following actions are
496supported: 502supported:
497</p> 503</p>
498 504
499<ul> 505<ul>
500 <li><c>initrd</c>: Only builds the initrd image</li> 506 <li>
507 <c>all</c>: Builds all stages &mdash; the initrd, kernel image and modules.
508 </li>
501 <li><c>bzImage</c>: Only builds the kernel image</li> 509 <li><c>bzImage</c>: Only builds the kernel image</li>
502 <li><c>kernel</c>: Only builds the kernel image and modules</li> 510 <li><c>kernel</c>: Only builds the kernel image and modules</li>
503 <li><c>all</c>: Builds all stages — the initrd, kernel image and modules.</li> 511 <li><c>initramfs</c>: Only builds the initramfs/ramdisk image</li>
512 <li><c>ramdisk</c>: Only builds the initramfs/ramdisk image</li>
504</ul> 513</ul>
505 514
506<p> 515<p>
507The last action, <c>all</c>, is recommended for most users since it builds the 516The first action, <c>all</c>, is recommended for most users since it builds the
508stages required for a functional kernel. Remember, an <e>action</e> simply 517stages required for a functional kernel. Remember, an <e>action</e> simply
509tells genkernel what to <e>build</e>, not <e>install</e>. 518tells genkernel what to <e>build</e>, not <e>install</e>.
510</p> 519</p>
511 520
512</body> 521</body>
520be applied to the bootloader's configuration file: 529be applied to the bootloader's configuration file:
521</p> 530</p>
522 531
523<ol> 532<ol>
524 <li> 533 <li>
525 Add <c>root=/dev/ram0</c> and <c>init=/linuxrc</c> to the kernel parameters
526 passed to the kernel image.
527 </li>
528 <li>
529 Add <c>real_root=/dev/hda3</c>, for example, to the kernel parameters 534 Add <c>real_root=/dev/sda3</c>, for example, to the kernel parameters
530 passed to the kernel image, if <path>/dev/hda3</path> contains your root 535 passed to the kernel image, if <path>/dev/sda3</path> contains your root
531 partition. 536 partition.
532 </li> 537 </li>
533 <li> 538 <li>
534 If you are using bootsplash, add a suitable mode line such as 539 If you are using splash, add a suitable mode line such as <c>vga=0x317</c>
535 <c>vga=0x317</c> to the parameters passed to the kernel and also add 540 to the parameters passed to the kernel and also add <c>splash=verbose</c> or
536 <c>splash=verbose</c> or <c>splash=silent</c> depending on the verboseness 541 <c>splash=silent</c> depending on the verboseness you require from your
537 you require from your bootloader. 542 bootloader.
538 </li> 543 </li>
539 <li> 544 <li>
540 Add the initrd information as required by the bootloader. Consult the <uri 545 Add the initrd information as required by the bootloader. Consult the <uri
541 link="/doc/en/handbook/handbook-x86.xml?part=1&amp;chap=10">Bootloader 546 link="/doc/en/handbook/handbook-x86.xml?part=1&amp;chap=10">Bootloader
542 Configuration Chapter</uri> of the Gentoo Handbook for details on how to 547 Configuration Chapter</uri> of the Gentoo Handbook for details on how to
558Passing flags to genkernel from the command line can be cumbersome, especially 563Passing flags to genkernel from the command line can be cumbersome, especially
559if you have about a dozen flags: 564if you have about a dozen flags:
560</p> 565</p>
561 566
562<pre caption="Running genkernel (overloaded with flags)"> 567<pre caption="Running genkernel (overloaded with flags)">
563# <i>genkernel --debuglevel=5 --no-color --no-mrproper --clean --gensplash \ 568# <i>genkernel --loglevel=5 --no-color --no-mrproper --clean --splash \
564--kerneldir=/path/to/alternate/kernel/sources --install --menuconfig \ 569--kerneldir=/path/to/alternate/kernel/sources --install --menuconfig \
565--kernel-config=/path/to/preferred/configfile --save-config --mountboot all</i> 570--kernel-config=/path/to/preferred/configfile --save-config --mountboot all</i>
566</pre> 571</pre>
567 572
568<p> 573<p>
569Fortunately, there is a configuration file where most of the basic options can 574Fortunately, there is a configuration file where most of the basic options can
570be set (or changed) as necessary. What follows is a rundown of the more 575be set (or changed) as necessary: <path>/etc/genkernel.conf</path>. What follows
571relevant options: 576is a rundown of the more relevant options:
572</p> 577</p>
573 578
574<ul> 579<ul>
575 <li> 580 <li>
576 <b>MENUCONFIG=<c>[yes|no]</c></b>: This option is equivalent to the 581 <b>MENUCONFIG=<c>[yes|no]</c></b>: This option is equivalent to the
584 the <c>--clean</c> flag used by genkernel, and invokes the <c>make 589 the <c>--clean</c> flag used by genkernel, and invokes the <c>make
585 clean</c> command to remove all object files and dependencies from the 590 clean</c> command to remove all object files and dependencies from the
586 kernel's source tree. Setting this option to 'no' creates a cascade effect 591 kernel's source tree. Setting this option to 'no' creates a cascade effect
587 &#8212; it is equivalent to genkernel's <c>--no-clean</c> flag, which 592 &#8212; it is equivalent to genkernel's <c>--no-clean</c> flag, which
588 disables the <c>make clean</c> command and implies genkernel's 593 disables the <c>make clean</c> command and implies genkernel's
589 <c>--no-mrproper</c> flag &#8212; essentially nullifying the <c>make 594 <c>--no-mrproper</c> flag &mdash; essentially nullifying the <c>make
590 mrproper</c> command. 595 mrproper</c> command.
591 </li> 596 </li>
592 <li> 597 <li>
593 <b>MRPROPER=<c>[yes|no]</c></b>: Setting this option to 'yes' is equivalent 598 <b>MRPROPER=<c>[yes|no]</c></b>: Setting this option to 'yes' is equivalent
594 to <c>--mrproper</c> flag used by genkernel, and invokes the <c>make 599 to <c>--mrproper</c> flag used by genkernel, and invokes the <c>make
616 <b>USECOLOR=<c>[yes|no]</c></b>: Setting this option to 'yes' is equivalent 621 <b>USECOLOR=<c>[yes|no]</c></b>: Setting this option to 'yes' is equivalent
617 to the <c>--color</c> flag, which colors genkernel's output to ease 622 to the <c>--color</c> flag, which colors genkernel's output to ease
618 debugging (when needed.) 623 debugging (when needed.)
619 </li> 624 </li>
620 <li> 625 <li>
621 <b>DEBUGLEVEL=<c>[0|1|2|3|4|5]</c></b>: This option is for adjusting the 626 <b>LOGLEVEL=<c>[0|1|2|3|4|5]</c></b>: This option is for adjusting the
622 verbosity of the output produced by genkernel setting this option to '0' 627 verbosity of the output produced by genkernel &mdash; setting this option to
623 with <c>--debuglevel=0</c> will suppress all output produced by genkernel; 628 '0' with <c>--loglevel=0</c> will suppress all output produced by
624 setting this option to '5' with <c>--debuglevel=5</c> provides the user 629 genkernel; setting this option to '5' with <c>--loglevel=5</c> provides
625 with all output produced by genkernel. 630 the user with all output produced by genkernel.
626 </li> 631 </li>
627</ul> 632</ul>
633
634<note>
635More options are described in <path>/etc/genkernel.conf</path>.
636</note>
628 637
629<p> 638<p>
630By choosing the appropriate options in <path>/etc/genkernel.conf</path>, you 639By choosing the appropriate options in <path>/etc/genkernel.conf</path>, you
631can halve the number of flags passed to genkernel from the command line: 640can halve the number of flags passed to genkernel from the command line:
632</p> 641</p>
633 642
634<pre caption="Running genkernel (with flags), after employing genkernel.conf"> 643<pre caption="Running genkernel (with flags), after employing genkernel.conf">
635# <i>genkernel --gensplash --kerneldir=/path/to/alternate/kernel/sources \ 644# <i>genkernel --splash --kerneldir=/path/to/alternate/kernel/sources \
636--kernel-config=/path/to/preferred/configfile --install all</i> 645--kernel-config=/path/to/preferred/configfile --install all</i>
637</pre> 646</pre>
638 647
639<p> 648<p>
640Identical results are obtained from both approaches, but the latter has most of 649Identical results are obtained from both approaches, but the latter has most of
698<p> 707<p>
699Secondly, we suggest that you enable <c>IP: kernel level autoconfiguration</c> 708Secondly, we suggest that you enable <c>IP: kernel level autoconfiguration</c>
700and the <c>IP: DHCP support</c> options. This avoids an unnecessary layer of 709and the <c>IP: DHCP support</c> options. This avoids an unnecessary layer of
701complexity since the IP address and the NFS path to the Installation CD can be 710complexity since the IP address and the NFS path to the Installation CD can be
702configured on a DHCP server. Of course, this means the kernel command line 711configured on a DHCP server. Of course, this means the kernel command line
703will remain constant for any machine which is very important for 712will remain constant for any machine &mdash; which is very important for
704<e>etherbooting</e>. 713<e>etherbooting</e>.
705</p> 714</p>
706 715
707<pre caption="Configuring a 2.6.x series kernel to support DHCP"> 716<pre caption="Configuring a 2.6.x series kernel to support DHCP">
708Device Drivers ---> 717Device Drivers --->
735</p> 744</p>
736 745
737<pre caption="Creating a compressed tarball containing the kernel modules"> 746<pre caption="Creating a compressed tarball containing the kernel modules">
738<comment>(Create a tar.gz containing all the modules)</comment> 747<comment>(Create a tar.gz containing all the modules)</comment>
739# <i>cd /</i> 748# <i>cd /</i>
740# <i> tar -cf /tmp/modules-X.Y.Z.tar.gz /lib/modules/X.Y.Z/</i> 749# <i>tar -cf /tmp/modules-X.Y.Z.tar.gz /lib/modules/X.Y.Z/</i>
741</pre> 750</pre>
742 751
743<p> 752<p>
744Depending on your network boot mechanism, you will need to do some of the 753Depending on your network boot mechanism, you will need to do some of the
745following steps: 754following steps:
781the <c>modules-X.Y.Z.tar.gz</c> archive to the <path>/nfs/livecd/add/</path> 790the <c>modules-X.Y.Z.tar.gz</c> archive to the <path>/nfs/livecd/add/</path>
782directory. 791directory.
783</p> 792</p>
784 793
785<pre caption="Preparing the NFS share"> 794<pre caption="Preparing the NFS share">
786<comment>(This assumes that /nfs/livecd is a exported NFS share)</comment> 795<comment>(This assumes that /nfs/livecd is an exported NFS share)</comment>
787# <i>mount /mnt/cdrom /tmp/gentoo-livecd.iso -o loop</i> 796# <i>mount /tmp/gentoo-livecd.iso /mnt/cdrom -o loop</i>
788# <i>cp -p /mnt/cdrom /nfs/livecd</i> 797# <i>cp -p /mnt/cdrom /nfs/livecd</i>
789# <i>umount /mnt/cdrom</i> 798# <i>umount /mnt/cdrom</i>
790 799
791<comment>(Copy the modules.tar.gz into /add)</comment> 800<comment>(Copy the modules.tar.gz into /add)</comment>
792# <i>mkdir /nfs/livecd/add</i> 801# <i>mkdir /nfs/livecd/add</i>
868</p> 877</p>
869 878
870</body> 879</body>
871</section> 880</section>
872</chapter> 881</chapter>
873
874</guide> 882</guide>

Legend:
Removed from v.1.24  
changed lines
  Added in v.1.37

  ViewVC Help
Powered by ViewVC 1.1.20