NAME¶
mkvmlinuz — create a kernel to boot a PowerPC machine from Open Firmware
SYNOPSIS¶
mkvmlinuz [
-o output] [-a arch]
[ -k kernel] [-s sysmap] [-i
initrd] [-d objdir] [-r
release ] [-l linkaddress]
[-n] [-z] [-u] [-v]
[ release [
kernel] ]
DESCRIPTION¶
This manual page documents briefly the
mkvmlinuz command.
mkvmlinuz is a program that takes a PowerPC Linux kernel as an
uncompressed ELF image file (usually called
vmlinux or somesuch) and
adds boot code and possibly a ramdisk to create a compressed kernel image that
can be booted directly from Open Firmware, thus eliminating the need for a
second-stage bootloader such as
yaboot or
quik.
OPTIONS¶
- -o
- Specify the path to the output file for the compressed
kernel image. If this option is not set, the file
/etc/mkvmlinuz/output is sourced, in the hope that it will set the
shell variable output to something useful. If this doesn't work
either, the program stops with a non-zero exit code.
- -a
- Specify the PowerPC sub-architecture to build for. If this
option is not set, the program will guess based on the contents of
/proc/cpuinfo. At the moment, the following values are supported:
- chrp
- This build a compressed kernel for CHRP machines.
- coff
- The COFF format is understood by the Open Firmware of many
OldWorld PowerMacs. You will need it if you intend to boot a Linux kernel
directly from Open Firmware. Note that you can also choose between a
variety of boot loaders for that platform, such as quik,
BootX, and miBoot.
- miboot
- This prepares the Linux kernel for booting from a
miBoot floppy.
- pmac
- While most NewWorld PowerMacs use the bootloader
yaboot, they can also start directly from Open Firmware.
- prep
- The PReP sub-architecture is mainly found on old RS/6000
systems. After creating the compressed kernel, you have to move it to a
bootable location, either by dding it onto the PReP boot partition
of a hard disk, or writing it to a CD using the -prep-boot option
of mkisofs.
- ppcbug
- PPCBug is strictly a sub-sub-architecture of the
above-mentioned PReP. It uses a slightly different wrapper around the
compressed kernel, though.
- -k
- Specify the path to the Linux kernel as an uncompressed ELF
image file. Usually, this filename contains vmlinux in some form.
If this option is not set, the program will make guesses based on the
release number and the currently running kernel.
- -s
- Specify the path to the System.map file. This will greatly
enlarge the resulting image, and is only needed if you intend to use the
in-kernel debugger xmon.
- -i
- Specify the path to a ramdisk (initrd) image to include in
the compressed kernel image. If this option is not set, the program will
look in a location analogous to the kernel image location, but will
continue without a ramdisk if nothing is found there. This guess can be
turned off with the -n option.
- -d
- Specify the directory containing boot code. If this option
is not set, the program will try a default directory and the current
directory.
- -r
- Specify the release of the kernel. This option is only used
for guessing path names that have not been specified explicitly.
- -n
- Do not attempt to find an initrd image file if none was
specified with the -i option.
- -z
- Assume the initrd image file is already compressed. The
default is to autodetect if the initrd is compressed or not.
- -u
- Assume the initrd image file is not already compressed. The
default is to autodetect if the initrd is compressed or not.
- -l
- Set the elf link address where the kernel will be relocated
inside the firmware.
- -v
- Print progress messages, and echo commands as they are
executed.
It is also possible to specify the release number and the kernel image file as
the first and second non-option arguments, respectively. However, the values
are only used if they are not already given as option arguments.
FILES¶
- /etc/mkvmlinuz/output
- A shell script fragment that specifies the output file for
the compressed kernel image. It is sourced by mkvmlinuz if the output file
is not specified on the command line, and therefore should set the shell
variable output at some point. The shell variables arch,
kernel, sysmap, initrd, objdir, and
release are all set at this point and can be used to construct the
filename.
AUTHOR¶
This manual page was written by Jens Schmalzing jensen@debian.org for the
Debian system (but may be used by others). Permission is granted to
copy, distribute and/or modify this document under the terms of the GNU
General Public License, Version 2 any later version published by the Free
Software Foundation.
On Debian systems, the complete text of the GNU General Public License can be
found in
/usr/share/common-licenses/GPL.