aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--genkernel.8660
2 files changed, 662 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index 643cdcc5..5a784b43 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
-/genkernel.8
-
+*.tar.bz2
+*.orig
diff --git a/genkernel.8 b/genkernel.8
new file mode 100644
index 00000000..4acbbe78
--- /dev/null
+++ b/genkernel.8
@@ -0,0 +1,660 @@
+'\" t
+.\" Title: genkernel
+.\" Author: [see the "AUTHORS" section]
+.\" Generator: DocBook XSL Stylesheets v1.76.0 <http://docbook.sf.net/>
+.\" Date: 01/31/2011
+.\" Manual: genkernel 3.4.12.6
+.\" Source: genkernel 3.4.12.6
+.\" Language: English
+.\"
+.TH "GENKERNEL" "8" "01/31/2011" "genkernel 3\&.4\&.12\&.6" "genkernel 3\&.4\&.12\&.6"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+genkernel \- the Gentoo Linux automatic kernel compiler\&.
+.SH "SYNOPSIS"
+.sp
+\fBgenkernel\fR [options\&...] action
+.SH "INTRODUCTION"
+.sp
+Genkernel is designed to allow users who are not previously used to compiling a kernel to use a similar setup to that one that is used on the Gentoo LiveCDs which auto\-detects your hardware\&.
+.sp
+Some users may also be interested in using genkernel for hardware which requires initialization and a working kernel before it can be booted because genkernel also automatically compiles your kernel modules, allowing hardware which needs to be loaded with module parameters to be used\&.
+.SH "USAGE"
+.sp
+All that is needed to run genkernel is just genkernel with an action and any flags you might need:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# genkernel \-\-menuconfig \-\-no\-clean \-\-no\-install all
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+This would produce a kernel, asking you what how to configure it to your desire, leaving alone any existing compiled object files, but not installing anything\&.
+.SH "ACTIONS"
+.sp
+An action tells genkernel what you want it to do \- the following actions are supported:
+.PP
+\fBall\fR
+.RS 4
+Build all steps \- the kernel, modules, and the ramdisk\&.
+.RE
+.PP
+\fBbzImage\fR
+.RS 4
+Build only the kernel\&.
+.RE
+.PP
+\fBinitramfs\fR
+.RS 4
+Build only the ramdisk/initramfs\&.
+.RE
+.PP
+\fBkernel\fR
+.RS 4
+Build only the kernel and the modules\&.
+.RE
+.PP
+\fBramdisk\fR
+.RS 4
+Build only the ramdisk/initramfs\&.
+.RE
+.SH "OPTIONS"
+.sp
+Genkernel supports the following options which alter its behaviour\&. Certain options have \fB\-\-no\-\fR variants which do the opposite thing\&. You can specify your options in any order\&.
+.SS "CONFIGURATION OPTIONS"
+.PP
+\fB\-\-config\fR=<file>
+.RS 4
+Genkernel configuration file to use
+.RE
+.SS "DEBUGGING OPTIONS"
+.PP
+\fB\-\-loglevel\fR=<0\-5>
+.RS 4
+This controls the out verbosity level of genkernel output \- if this is set to 0, minimal debugging is done; if this is set to 5 as much output as possible is given\&.
+.RE
+.PP
+\fB\-\-logfile\fR=<outfile>
+.RS 4
+This outputs debugging data to the file <outfile>\&. By default this is
+\fI/var/log/genkernel\&.log\fR\&.
+.RE
+.PP
+\fB\-\-\fR[\fBno\-\fR]\fBcolor\fR
+.RS 4
+Turns on, or off, output in color using escape sequences\&.
+.RE
+.SS "KERNEL CONFIGURATION"
+.PP
+\fB\-\-\fR[\fBno\-\fR]\fBmenuconfig\fR
+.RS 4
+Runs, or does not run "make menuconfig" after running "make oldconfig"\&.
+.RE
+.PP
+\fB\-\-\fR[\fBno\-\fR]\fBsave\-config\fR
+.RS 4
+Saves, or does not save the kernel configuration to
+\fI/etc/kernels\fR
+if the kernel is successfully compiled\&.
+.RE
+.PP
+\fB\-\-gconfig\fR
+.RS 4
+Run "make gconfig" after "make oldconfig"\&.
+.RE
+.PP
+\fB\-\-xconfig\fR
+.RS 4
+Run "make xconfig" after "make oldconfig"\&.
+.RE
+.SS "KERNEL COMPILATION"
+.PP
+\fB\-\-\fR[\fBno\-\fR]\fBclean\fR
+.RS 4
+Runs, or does not run, "make clean" before compilation \- this erases any compiled object files in the kernel source tree but does not have an impact on the kernel configuration\&. Specifying
+\fB\-\-no\-clean\fR
+implies
+\fB\-\-no\-mrproper\fR\&.
+.RE
+.PP
+\fB\-\-\fR[\fBno\-\fR]\fBmrproper\fR
+.RS 4
+Runs, or does not run, "make mrproper" before compilation \- this erases both any compiled object files in the kernel source tree as well as the kernel configuration\&.
+.RE
+.PP
+\fB\-\-\fR[\fBno\-\fR]\fBinstall\fR
+.RS 4
+Installs, or does not install the kernel to
+\fI/boot\fR
+after building\&. The default is
+\fB\-\-install\fR\&. If MOUNTBOOT is set in
+\fI/etc/genkernel\&.conf\fR
+then
+\fI/boot\fR
+will be automatically mounted if it is not already mounted before the ramdisk and kernel images are copied over\&.
+.RE
+.PP
+\fB\-\-\fR[\fBno\-\fR]\fBsymlink\fR
+.RS 4
+Manages, or does not manage, symlinks in
+\fI/boot\fR
+like the manual kernel "make install" process does\&. A kernel (or, depending on options, kernelz) symlink will link to the most recently built kernel image and a kernel\&.old (or kernelz\&.old) symlink will link to the second most recently built image, if one exists\&. Similar symlinks (both * and
+\fB\&.old) are managed for initramfs and System\&.map\&. The corresponding work products (i\&.e\&., the actual kernel and initamfs images, and System\&.map) are also managed accordingly\&. NOTE: Specifying *\-\-symlink\fR
+does nothing unless
+\fB\-\-install\fR
+is also specified\&.
+.RE
+.PP
+\fB\-\-oldconfig\fR
+.RS 4
+Implies
+\fB\-\-no\-clean\fR, and thus
+\fB\-\-no\-mrproper\fR, running a "make oldconfig"\&.
+.RE
+.PP
+\fB\-\-\fR[\fBno\-\fR]\fBsplash\fR
+.RS 4
+Installs, or not, framebuffer splash support into initramfs\&.
+.RE
+.PP
+\fB\-\-no\-ramdisk\-modules\fR
+.RS 4
+Don\(cqt copy any modules to the ramdisk\&.
+.RE
+.PP
+\fB\-\-all\-ramdisk\-modules\fR
+.RS 4
+Copy all kernel modules to the initrd\&.
+.RE
+.PP
+\fB\-\-callback\fR=<\&...>
+.RS 4
+Run the specified arguments in the current environment after the kernel and modules have been compiled\&.
+.RE
+.PP
+\fB\-\-static\fR
+.RS 4
+This builds a monolithic kernel without any modules on any initial ramdisks\&.
+.RE
+.SS "KERNEL LOCATIONS"
+.PP
+\fB\-\-kerneldir\fR=<dir>
+.RS 4
+This specifies the location of the kernel sources; the default is
+\fI/usr/src/linux\fR\&.
+.RE
+.PP
+\fB\-\-kernel\-config\fR=<file>
+.RS 4
+This specifies a kernel configuration file to use for compilation; by default genkernel uses the config from the previous build of the same kernel version or a default kernel config if there isn\(cqt a previous config\&.
+.RE
+.PP
+\fB\-\-module\-prefix\fR=<dir>
+.RS 4
+Prefix to kernel module destination, modules will be installed in
+\fI<prefix>/lib/modules\fR\&.
+.RE
+.SS "LOW\-LEVEL COMPILATION OPTIONS"
+.PP
+\fB\-\-kernel\-cc\fR=<compiler>
+.RS 4
+Compiler to use for the kernel compilation (e\&.g\&. distcc)\&.
+.RE
+.PP
+\fB\-\-kernel\-as\fR=<assembler>
+.RS 4
+Assembler to use for the kernel compilation\&.
+.RE
+.PP
+\fB\-\-kernel\-ld\fR=<linker>
+.RS 4
+Linker to use for the kernel compilation\&.
+.RE
+.PP
+\fB\-\-kernel\-cross\-compile\fR=<cross var>
+.RS 4
+CROSS_COMPILE kernel variable\&.
+.RE
+.PP
+\fB\-\-kernel\-make\fR=<makeprg>
+.RS 4
+GNU Make to use for the kernel compilation\&.
+.RE
+.PP
+\fB\-\-utils\-cc\fR=<compiler>
+.RS 4
+Compiler to use for utilities\&.
+.RE
+.PP
+\fB\-\-utils\-as\fR=<assembler>
+.RS 4
+Assembler to use for utilities\&.
+.RE
+.PP
+\fB\-\-utils\-ld\fR=<linker>
+.RS 4
+Linker to use for utilities\&.
+.RE
+.PP
+\fB\-\-utils\-make\fR=<makeprog>
+.RS 4
+GNU Make to use for utilities\&.
+.RE
+.PP
+\fB\-\-utils\-cross\-compile\fR=<cross var>
+.RS 4
+CROSS_COMPILE utils variable\&.
+.RE
+.PP
+\fB\-\-utils\-arch\fR=<arch>
+.RS 4
+Force to arch for utils only instead of autodetect\&.
+.RE
+.PP
+\fB\-\-\fR[\fBno\-\fR]\fBmountboot\fR
+.RS 4
+Mount, or not, BOOTDIR automatically if mountable\&.
+.RE
+.PP
+\fB\-\-bootdir\fR=<dir>
+.RS 4
+Set the location of the boot\-directory, default is
+\fI/boot\fR\&.
+.RE
+.PP
+\fB\-\-makeopts\fR=<makeopts>
+.RS 4
+GNU Make options such as \-j2, etc\&.
+.RE
+.SS "INITIALIZATION"
+.PP
+\fB\-\-splash\fR=<theme>
+.RS 4
+Enable framebuffer splash using <theme>\&.
+.RE
+.PP
+\fB\-\-splash\-res\fR=<resolutions>
+.RS 4
+Select gensplash resolutions to include\&.
+.RE
+.PP
+\fB\-\-\fR[\fBno\-\fR]\fBsplash\fR=<theme>
+.RS 4
+If the extra argument is specified, splash is forced using <theme> rather than the default theme specified in your splash configuration\&. If
+\fB\-\-no\-splash\fR
+is specified, then splash is disabled\&.
+.RE
+.PP
+\fB\-\-do\-keymap\-auto\fR
+.RS 4
+Force keymap selection at boot\&.
+.RE
+.PP
+\fB\-\-no\-keymap\fR
+.RS 4
+Disables keymap selection at boot\&.
+.RE
+.PP
+\fB\-\-evms\fR
+.RS 4
+Add in EVMS support from static binaries if they exist on the system: you should run "emerge evms" first (in the host system)\&.
+.RE
+.PP
+\fB\-\-lvm\fR
+.RS 4
+Add in LVM support from static binaries if they exist on the system, or compile static LVM binaries if static ones do not exist\&.
+.RE
+.PP
+\fB\-\-mdadm\fR
+.RS 4
+Copy
+\fI/etc/mdadm\&.conf\fR
+and mdadm/mdmon binaries to initramfs\&. Without sys\-fs/mdadm[static] installed, this will compile mdadm for you\&.
+.RE
+.PP
+\fB\-\-dmraid\fR
+.RS 4
+Add DMRAID support\&.
+.RE
+.PP
+\fB\-\-multipath\fR
+.RS 4
+Include Multipath support
+.RE
+.PP
+\fB\-\-iscsi\fR
+.RS 4
+Include iSCSI support
+.RE
+.PP
+\fB\-\-slowusb\fR
+.RS 4
+Enables extra pauses for slow USB CD boots\&.
+.RE
+.PP
+\fB\-\-bootloader\fR=\fBgrub\fR
+.RS 4
+Add new kernel to GRUB configuration\&.
+.RE
+.PP
+\fB\-\-linuxrc\fR=<file>
+.RS 4
+Use <file> for the linuxrc instead of the genkernel linuxrc\&.
+.RE
+.PP
+\fB\-\-busybox\-config\fR=<file>
+.RS 4
+Specifies a user created busybox config\&.
+.RE
+.PP
+\fB\-\-genzimage\fR
+.RS 4
+Make and install kernelz image from
+\fIarch/powerpc/boot/zImage\&.initrd\fR\&.
+.RE
+.PP
+\fB\-\-disklabel\fR
+.RS 4
+Include disk label and uuid support in your initrd\&.
+.RE
+.PP
+\fB\-\-luks\fR
+.RS 4
+Add in Luks support from static binaries if they exist on the system\&.
+.RE
+.PP
+\fB\-\-gpg\fR
+.RS 4
+Add support for GnuPG 1\&.x, the portable standalone branch of GnuPG\&. A key can be made from
+gpg \-\-symmetric \-o /path/to/LUKS\-key\&.gpg /path/to/LUKS\-key
+\&. After that, re\-point the
+\fBroot_key\fR
+argument to the new \&.gpg file\&.
+.RE
+.PP
+\fB\-\-no\-busybox\fR
+.RS 4
+Do not include busybox in the initrd or initramfs\&.
+.RE
+.PP
+\fB\-\-unionfs\fR
+.RS 4
+Include support for unionfs
+.RE
+.PP
+\fB\-\-netboot\fR
+.RS 4
+Create a self\-contained env in the initramfs
+.RE
+.PP
+\fB\-\-real\-root\fR=<foo>
+.RS 4
+Specify a default for
+\fBreal_root\fR= kernel option\&.
+.RE
+.SS "INTERNALS"
+.PP
+\fB\-\-arch\-override\fR=<arch>
+.RS 4
+Force the architecture settings described by the <arch> profile instead of autodetecting the running architecture\&.
+.RE
+.PP
+\fB\-\-cachedir\fR=<dir>
+.RS 4
+Override the default cache location\&.
+.RE
+.PP
+\fB\-\-tempdir\fR=<dir>
+.RS 4
+Sets genkernel\(cqs temporary working directory to <dir>\&.
+.RE
+.PP
+\fB\-\-postclear\fR
+.RS 4
+Clear all tmp files and caches after genkernel has run\&.
+.RE
+.SS "OUTPUT SETTINGS"
+.PP
+\fB\-\-kernname\fR=<\&...>
+.RS 4
+Tag the kernel and initrd with a name, if not defined this option defaults to genkernel
+.RE
+.PP
+\fB\-\-minkernpackage\fR=<tbz2>
+.RS 4
+File to output a \&.tar\&.bz2\(cqd kernel and initrd: no modules outside of the initrd will be included\&...
+.RE
+.PP
+\fB\-\-modulespackage\fR=<tbz2>
+.RS 4
+File to output a \&.tar\&.bz2\(cqd modules after the callbacks have run
+.RE
+.PP
+\fB\-\-kerncache\fR=<tbz2>
+.RS 4
+File to output a \&.tar\&.bz2\(cqd kernel, contents of
+\fI/lib/modules/\fR
+and the kernel config\&. NOTE: This is created before the callbacks are run\&.
+.RE
+.PP
+\fB\-\-no\-kernel\-sources\fR=<tbz2>
+.RS 4
+This option is only valid if kerncache is defined If there is a valid kerncache no checks will be made against a kernel source tree\&.
+.RE
+.PP
+\fB\-\-initramfs\-overlay\fR=<dir>
+.RS 4
+Directory structure to include in the initramfs, only available on 2\&.6 kernels
+.RE
+.PP
+\fB\-\-firmware\fR
+.RS 4
+Enable copying of firmware into initramfs\&.
+.RE
+.PP
+\fB\-\-firmware\-dir\fR=<dir>
+.RS 4
+Specify directory to copy firmware from (defaults to
+\fI/lib/firmware\fR)\&.
+.RE
+.PP
+\fB\-\-firmware\-files\fR=<files>
+.RS 4
+Specifies specific firmware files to copy\&. This overrides
+\fB\-\-firmware\-dir\fR\&. For multiple files, separate the filenames with a comma\&.
+.RE
+.PP
+\fB\-\-integrated\-initramfs\fR
+.RS 4
+Build the generated initramfs into the kernel instead of keeping it as a separate file\&.
+.RE
+.SH "RAMDISK OPTIONS"
+.sp
+The following options can be passed as kernel parameters from the bootloader, which the ramdisk scripts would recognize\&.
+.PP
+\fBreal_root\fR=<\&...>
+.RS 4
+Specifies the device node of the root filesystem to mount\&.
+.RE
+.PP
+\fBcrypt_root\fR=<\&...>
+.RS 4
+This specifies the device encrypted by Luks, which contains the root filesystem to mount\&.
+.RE
+.PP
+\fBcrypt_swap\fR=<\&...>
+.RS 4
+This specifies the swap device encrypted by Luks\&.
+.RE
+.PP
+\fBroot_key\fR=<\&...>
+.RS 4
+In case your root is encrypted with a key, you can use a device like a usb pen to store the key\&. This value should be the key path relative to the mount point\&.
+.RE
+.PP
+\fBroot_keydev\fR=<\&...>
+.RS 4
+If necessary provide the name of the device that carries the root_key\&. If unset while using root_key, it will automatically look for the device in every boot\&.
+.RE
+.PP
+\fBswap_key\fR=<\&...>
+.RS 4
+Same as root_key for swap\&.
+.RE
+.PP
+\fBswap_keydev\fR=<\&...>
+.RS 4
+Same as root_keydev for swap\&.
+.RE
+.PP
+\fBcrypt_silent\fR
+.RS 4
+Set this to silent all the output related to the cryptographic software, and in case your encrypted device isn\(cqt open with the key, it opens a shell in the initrd quietly\&.
+.RE
+.PP
+\fBdodmraid\fR=<\&...>
+.RS 4
+Passes arguments to dmraid on bootup\&.
+.RE
+.PP
+\fBreal_init\fR=<\&...>
+.RS 4
+Passes arguments to init on bootup\&.
+.RE
+.PP
+\fBscandelay\fR=<\&...>
+.RS 4
+Pauses for 10 seconds before running devfsd if no argument is specified; otherwise pauses for the number of specified seconds\&.
+.RE
+.PP
+\fBip\fR=<\&...>
+.RS 4
+Normally used to tell the kernel that it should start a network interface\&. If present, the initrd will try to mount a livecd over NFS\&.
+.RE
+.PP
+\fBnfsroot\fR=<\&...>
+.RS 4
+If present, the initrd will try to mount a livecd from that location\&. Otherwise the location will be deduced from the DCHP request (option root\-path)
+.RE
+.PP
+\fBdoevms\fR
+.RS 4
+Activate EVMS volumes on bootup
+.RE
+.PP
+\fBdolvm\fR
+.RS 4
+Activate LVM volumes on bootup
+.RE
+.PP
+\fBdoscsi\fR
+.RS 4
+Activate SCSI devices on bootup, necessary when SCSI support is compiled as modules and you\(cqre using SCSI or SATA devices\&.
+.RE
+.PP
+\fBkeymap\fR=\fIMAP\fR
+.RS 4
+Set keymap to
+\fIMAP\fR, e\&.g\&.
+\fBkeymap\fR=de\&. For valid values of
+\fIMAP\fR
+please see
+\fI/usr/share/genkernel/defaults/keymaps\&.tar\&.gz\fR\&.
+.RE
+.PP
+\fBdokeymap\fR
+.RS 4
+Use keymap\&. Usage of
+\fBkeymap\fR= implies this option, already\&.
+.RE
+.SH "NETBOOTING"
+.sp
+The initrd scripts have limited support for network booting\&. This is activated if the \fBip\fR=<\&...> kernel parameter was given\&. Please refer to the genkernel guide at \fIhttp://www\&.gentoo\&.org/doc/en/genkernel\&.xml\fR for more information\&.
+.sp
+The initrd scripts will extract any *\&.tar\&.gz files found in the \fI/add\fR directory of the livecd into the root filesystem during boot\&. This way it is easy to extend a netbooted LiveCD i\&.e\&. add custom tools, or other kernel modules\&.
+.SH "REPORTING BUGS"
+.sp
+If you believe you have found a bug in the genkernel scripts, then please file a bug on the Gentoo Linux Bugzilla: \fIhttp://bugs\&.gentoo\&.org\fR, assigning your bug to genkernel@gentoo\&.org\&. We cannot assist you with kernel compilation failures unless they are caused by a genkernel bug\&.
+.sp
+Kernel issues for Gentoo\-supported kernels, including compilation failures should go to \fIhttp://bugs\&.gentoo\&.org\fR and should be assigned to kernel@gentoo\&.org\&. Please check if an existing bug documents the same issue before opening a new bug\&. Issues for kernel sources not supported by Gentoo should go to their relevant authors\&.
+.SH "AUTHORS"
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Tim Yamin <plasmaroo@gentoo\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Eric Edgar <rocket@gentoo\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+NFS Support by Thomas Seiler <thseiler@gmail\&.com>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+GnuPG 1\&.x integration by dacook <schism@subverted\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+MDADM integration by Matthias Dahl <ua_bugz_gentoo@mortal\-soul\&.de>
+.RE
+.SH "SEE ALSO"
+.sp
+/etc/genkernel\&.conf \- genkernel configuration file