sourCEntral - mobile manpages

pdf

MKVMLINUZ

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

Allows to 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 AT debian DOT 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.

pdf