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.17 2005/07/24 16:51:15 plasmaroo Exp $ --> |
2 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/genkernel.xml,v 1.18 2005/07/25 20:28:53 plasmaroo 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 link="/doc/en/genkernel.xml"> |
6 | <title>Gentoo Linux Genkernel Guide</title> |
6 | <title>Gentoo Linux Genkernel Guide</title> |
7 | |
7 | |
… | |
… | |
24 | genkernel. |
24 | genkernel. |
25 | </abstract> |
25 | </abstract> |
26 | |
26 | |
27 | <license/> |
27 | <license/> |
28 | |
28 | |
29 | <version>1.2</version> |
29 | <version>1.3</version> |
30 | <date>2005-07-24</date> |
30 | <date>July 24, 2005</date> |
31 | |
31 | |
32 | <chapter> |
32 | <chapter> |
33 | <title>Introduction</title> |
33 | <title>Introduction</title> |
34 | <section> |
34 | <section> |
35 | <title>Rationale</title> |
35 | <title>Rationale</title> |
… | |
… | |
242 | flag. |
242 | flag. |
243 | </li> |
243 | </li> |
244 | </ul> |
244 | </ul> |
245 | |
245 | |
246 | <ul> |
246 | <ul> |
247 | <li> |
247 | <li> |
248 | <b>--callback="<c>echo hello</c>"</b>: Calls the specified arguments |
248 | <b>--callback="<c>echo hello</c>"</b>: Calls the specified arguments |
249 | (<c>echo hello</c>, in this case) after the kernel and the relevant modules |
249 | (<c>echo hello</c>, in this case) after the kernel and the relevant |
250 | have been built, but before building the initrd image. This may be useful |
250 | modules have been built, but before building the initrd image. This may |
251 | if you want to install external modules in the initrd image by emerging the |
251 | be useful if you want to install external modules in the initrd image by |
252 | relevant item using the callback feature, and then redefining a genkernel |
252 | emerging the relevant item(s) with the callback feature, and then |
253 | module group. |
253 | redefining a genkernel module group. |
254 | </li> |
254 | </li> |
255 | </ul> |
|
|
256 | |
|
|
257 | <ul> |
255 | </ul> |
258 | <li> |
256 | |
259 | <b>--udev</b>: Activates support for the userspace device file system |
257 | <ul> |
260 | (udev) in the initrd image. |
|
|
261 | </li> |
|
|
262 | <li> |
258 | <li> |
263 | <b>--<c>no-</c>install</b>: Activates <e>[or deactivates]</e> the |
259 | <b>--<c>no-</c>install</b>: Activates <e>[or deactivates]</e> the |
264 | <c>make install</c> command, which installs your new kernel image, |
260 | <c>make install</c> command, which installs your new kernel image, |
265 | configuration file, initrd image and system map onto your mounted boot |
261 | configuration file, initrd image and system map onto your mounted boot |
266 | partition. Any compiled modules will be installed as well. |
262 | partition. Any compiled modules will be installed as well. |
… | |
… | |
388 | of these flags are primarily for aesthetics, while others may be essential for |
384 | of these flags are primarily for aesthetics, while others may be essential for |
389 | enabling certain features on the system. |
385 | enabling certain features on the system. |
390 | </p> |
386 | </p> |
391 | |
387 | |
392 | <ul> |
388 | <ul> |
393 | <li> |
389 | <li> |
394 | <b>--<c>no-</c>bootsplash</b>: Activates <e>[or deactivates]</e> |
390 | <b>--<c>no-</c>bootsplash</b>: Activates <e>[or deactivates]</e> support |
395 | bootsplash support in the genkernel-built initrd image. The bootsplash |
391 | for <uri link="http://www.bootsplash.org/">bootsplash</uri> in the |
396 | feature is supported on a limited number of architectures, and a kernel |
392 | genkernel-built initrd image. The bootsplash feature is supported on a |
397 | that supports bootsplash is also required. Bootsplash is only supported |
393 | limited number of architectures, and a kernel that supports bootsplash |
398 | on 2.4 series kernels. |
394 | is also required. |
399 | </li> |
395 | </li> |
400 | <li> |
396 | <li> |
401 | <b>--<c>no-</c>gensplash</b>: Activates <e>[or deactivates]</e> |
397 | <b>--<c>no-</c>gensplash</b>: Activates <e>[or deactivates]</e> support |
|
|
398 | for <uri link="http://dev.gentoo.org/~spock/projects/gensplash/">gensplash</uri> |
402 | gensplash support in the genkernel-built initrd image. The gensplash |
399 | support in the genkernel-built initrd image. The gensplash utility is |
403 | utility is intended to be a replacement for bootsplash, and is designed for |
400 | intended to be a replacement for bootsplash, and is designed for use with |
404 | use with 2.6.x series kernels. |
401 | 2.6.x series kernels. To override the default theme used by gensplash, |
|
|
402 | use <b>--gensplash=<c>PreferredTheme</c></b> (where <c>PreferredTheme</c> |
|
|
403 | is the title of one of the directories inside the |
|
|
404 | <path>/etc/splash/</path> directory. |
405 | </li> |
405 | </li> |
406 | <li> |
406 | <li> |
407 | <b>--do-keymap-auto</b>: Specifies which keymap to use during the boot |
407 | <b>--gensplash-res=<c>PreferredResolution</c></b>: This flag allows you |
408 | sequence. |
408 | to select which splash screen resolutions will be supported in the initrd |
|
|
409 | during the start-up of the system. This is useful for two reasons: First, |
|
|
410 | you are able to select only the splash screen resolution(s) relevant to |
|
|
411 | your system. Second, you avoid the unnecessary increase in the disk space |
|
|
412 | required by initrd (since the initrd does not have to support resolutions |
|
|
413 | that are irrelevant for your system configuration.) However, you may want |
|
|
414 | to omit this flag if the kernel is being compiled for an Installation CD; |
|
|
415 | this allows gensplash support for all possible resolutions. |
409 | </li> |
416 | </li> |
410 | <li> |
417 | <li> |
|
|
418 | <b>--do-keymap-auto</b>: Force keymap selection during the boot |
|
|
419 | sequence. |
|
|
420 | </li> |
|
|
421 | <li> |
411 | <b>--lvm2</b>: Includes support for storage using via Logical Volume |
422 | <b>--lvm2</b>: Includes support for storage using via <uri |
|
|
423 | link="http://sources.redhat.com/lvm2/">Logical Volume Management</uri> |
412 | Management (LVM2) from static binaries, if available to the system. |
424 | (LVM2) from <e>static</e> binaries, if available to the system. Relevant |
413 | Relevant (static) LVM2 binaries are compiled if they are unavailable. |
425 | (static) LVM2 binaries are compiled if they are unavailable. Be sure to |
414 | Be sure to install the lvm2 package on your system with <c>emerge |
426 | install the lvm2 package on your system with <c>emerge lvm2</c> before |
415 | lvm2</c> before enabling this flag, and review the <uri |
427 | enabling this flag, and review the <uri |
416 | link="http://www.gentoo.org/doc/en/lvm2.xml">Gentoo LVM2 |
428 | link="http://www.gentoo.org/doc/en/lvm2.xml">Gentoo LVM2 |
417 | Installation</uri> guide. |
429 | Installation</uri> guide. |
418 | </li> |
430 | </li> |
419 | <li> |
431 | <li> |
420 | <b>--evms2</b>: Includes support for storage using the Enterprise Volume |
432 | <b>--evms2</b>: Includes support for storage using the <uri |
|
|
433 | link="http://evms.sourceforge.net/">Enterprise Volume Management |
421 | Management System (EVMS/EVMS2), if available. Be sure to install the evms |
434 | System</uri> (EVMS2), if available. Be sure to install the evms package |
422 | package on your system with <c>emerge evms</c> before using this flag. |
435 | on your system with <c>USE=static emerge evms2</c> before using this |
423 | </li> |
436 | (genkernel) flag. <e>(Omitting the </e><c>USE=static</c> <e>flag during |
|
|
437 | package installation will fail to include the necessary static binaries.) |
|
|
438 | </e> |
424 | <li> |
439 | </li> |
|
|
440 | <li> |
425 | <b>--dmraid</b>: Includes support for the DMRAID, the utility which |
441 | <b>--dmraid</b>: Includes support for <uri |
|
|
442 | link="http://people.redhat.com/~heinzm/sw/dmraid/readme">DMRAID</uri>; |
426 | creates RAID mappings using the kernel device-mapper subsystem. DMRAID |
443 | the utility which creates RAID mappings using the kernel device-mapper |
427 | discovers, activates, deactivates and displays properties of software |
444 | subsystem. DMRAID discovers, activates, deactivates and displays |
428 | RAID sets (ATARAID, for example) and contained DOS partitions. |
445 | properties of software RAID sets (ATARAID, for example) and contained |
|
|
446 | DOS partitions. |
429 | </li> |
447 | </li> |
430 | <li> |
448 | <li> |
431 | <b>--linuxrc=/path/to/your/linuxrc</b>: Specifies a user-created |
449 | <b>--linuxrc=/path/to/your/linuxrc</b>: Specifies a user-created |
432 | <e>linuxrc</e> — a script that is initialized during the start-up |
450 | <e>linuxrc</e> — a script that is initialized during the start-up |
433 | stage of the kernel, prior to the actual boot process. (A default linuxrc |
451 | stage of the kernel, prior to the actual boot process. (A default linuxrc |
… | |
… | |
441 | </li> |
459 | </li> |
442 | <li> |
460 | <li> |
443 | <b>--tempdir=/path/to/new/tempdir/</b>: Specifies the location of the |
461 | <b>--tempdir=/path/to/new/tempdir/</b>: Specifies the location of the |
444 | temporary directory used by genkernel while compiling the kernel. |
462 | temporary directory used by genkernel while compiling the kernel. |
445 | </li> |
463 | </li> |
|
|
464 | <li> |
|
|
465 | <b>--unionfs</b>: Includes support for the <uri |
|
|
466 | link="http://www.fsl.cs.sunysb.edu/project-unionfs.html">Unification File |
|
|
467 | System</uri> in the initrd image. |
|
|
468 | </li> |
446 | </ul> |
469 | </ul> |
447 | |
470 | |
448 | </body> |
471 | </body> |
449 | </section> |
472 | </section> |
450 | |
473 | |
… | |
… | |
463 | directory needs to be mounted on a separate partition. It will check |
486 | directory needs to be mounted on a separate partition. It will check |
464 | <path>/etc/fstab</path> script for instructions on how to mount the boot |
487 | <path>/etc/fstab</path> script for instructions on how to mount the boot |
465 | partition on a file system (if needed). |
488 | partition on a file system (if needed). |
466 | </li> |
489 | </li> |
467 | <li> |
490 | <li> |
468 | <b>--arch-override=<c>someArch</c></b>: Overrides the architecture |
491 | <b>--kernname=<c>NickName</c></b>: Allows you to modify the name of the |
469 | genkernel assumes for the kernel compilation process. This flag is useful |
492 | kernel and initrd images in the <path>/boot/</path> directory, so that |
470 | if the auto-detection mechanism fails (please file a bug if it does!) or |
493 | the images produced are kernel-<c>NickName</c>-version and |
471 | if you wish to cross-compile a kernel. The list of supported |
494 | initramfs-<c>NickName</c>-version. |
472 | architectures is available in the <path>/usr/share/genkernel/</path> |
|
|
473 | directory. |
|
|
474 | </li> |
|
|
475 | </ul> |
|
|
476 | |
|
|
477 | <ul> |
|
|
478 | <li> |
|
|
479 | <b>--busybox-config=<path>/path/to/busybox-config</path></b>: Overrides |
|
|
480 | the default Busybox configuration with the specified file. |
|
|
481 | </li> |
|
|
482 | <li> |
|
|
483 | <b>--busybox-bin=<path>/path/to/busybox-binary.tar.bz2</path></b>: Using |
|
|
484 | this option means that a (static) Busybox binary will not be compiled; |
|
|
485 | the specified tarball would be used instead. |
|
|
486 | </li> |
|
|
487 | </ul> |
|
|
488 | |
|
|
489 | <ul> |
|
|
490 | <li> |
|
|
491 | <b>--maxkernpackage=<path>/output/to/yourkernel.tar.bz2</path></b>: |
|
|
492 | Creates a package that includes the kernel, the initrd image, the |
|
|
493 | kernel's modules (located in <path>/lib/modules/</path>) and |
|
|
494 | configuration file. |
|
|
495 | </li> |
|
|
496 | <li> |
|
|
497 | <b>--minkernpackage=<path>/output/to/yourkernel.tar.bz2</path></b>: |
|
|
498 | Creates a package that includes the kernel, and initrd image. The |
|
|
499 | difference between this flag and the <b>--maxkernpackage</b> flag is that |
|
|
500 | the kernel's modules and configuration file are excluded from the package |
|
|
501 | created by this flag. |
|
|
502 | </li> |
495 | </li> |
503 | </ul> |
496 | </ul> |
504 | |
497 | |
505 | </body> |
498 | </body> |
506 | </section> |
499 | </section> |
… | |
… | |
515 | supported: |
508 | supported: |
516 | </p> |
509 | </p> |
517 | |
510 | |
518 | <ul> |
511 | <ul> |
519 | <li><c>initrd</c>: Only builds the initrd image</li> |
512 | <li><c>initrd</c>: Only builds the initrd image</li> |
|
|
513 | <li><c>bzImage</c>: Only builds the kernel image</li> |
520 | <li><c>kernel</c>: Only builds the kernel image and modules</li> |
514 | <li><c>kernel</c>: Only builds the kernel image and modules</li> |
521 | <li><c>all</c>: Builds all stages — the initrd, kernel image and |
515 | <li><c>all</c>: Builds all stages — the initrd, kernel image and |
522 | modules.</li> |
516 | modules.</li> |
523 | </ul> |
517 | </ul> |
524 | |
518 | |
… | |
… | |
708 | Support for netbooting with genkernel is experimental and may contain bugs. |
702 | Support for netbooting with genkernel is experimental and may contain bugs. |
709 | </warn> |
703 | </warn> |
710 | |
704 | |
711 | <p> |
705 | <p> |
712 | First, the kernel image must include the drivers for your Network Interface |
706 | First, the kernel image must include the drivers for your Network Interface |
713 | Cards (NIC). Normally, these drivers will be compiled as modules. However, it |
707 | Cards (NIC). Normally, drivers for such devices will be compiled as modules. |
714 | is essential (for netbooting) that you such drivers compiled directly into the |
708 | However, it is essential (for netbooting) that you such drivers compiled |
715 | kernel image and <b>not</b> as modules. |
709 | directly into the kernel image and <b>not</b> as modules. |
716 | </p> |
710 | </p> |
717 | |
711 | |
718 | <pre caption="Configuring a 2.6.x series kernel to support your NIC driver"> |
712 | <pre caption="Configuring a 2.6.x series kernel to support your NIC driver"> |
719 | Device Drivers ---> |
713 | Device Drivers ---> |
720 | Networking Support ---> |
714 | Networking Support ---> |
… | |
… | |
894 | <title>To Automate or not to Automate?</title> |
888 | <title>To Automate or not to Automate?</title> |
895 | <body> |
889 | <body> |
896 | |
890 | |
897 | <p> |
891 | <p> |
898 | The purpose of genkernel is to provide an (easier) alternative to the |
892 | The purpose of genkernel is to provide an (easier) alternative to the |
899 | time-tested approach to kernel compilation, where you have to issue a variety |
893 | time-tested approach to kernel compilation. As always, you are free to decide |
900 | of commands. As always, you are free to decide on whether or not you want to |
894 | on whether or not you want to automate the kernel compilation process. |
901 | automate the kernel compilation process. |
|
|
902 | </p> |
895 | </p> |
903 | |
896 | |
904 | </body> |
897 | </body> |
905 | </section> |
898 | </section> |
906 | |
899 | |