---
name: "knl"
section: "8"
platform: "linux"
package: "knl"
version: "1.0.4-3"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/knl"
---

# knl(8)

query/set image configuration parameters

## NAME

knl - query/set image configuration parameters

## SYNOPSIS

- **knl**

  **\[--kernel=\]image** **\[-f=flaglist\]** **\[--flags=flaglist\]** **\[--noram\]** **\[-p\]** **\[--prompt\]** **\[--ram=offset\]** **\[-r=device\]** **\[--root=device\]** **\[-s=device\]** **\[--swap=device\]** **\[-v=mode\]** **\[--video=mode\]** **\[--help\]** **\[--version\]**

## OPTIONS

- **\[--kernel=\]image**

  Selects the kernel image file of interest.

- **-f=flaglist --flags=flaglist**

  Specifies the kernel flags to be set. Currently, only **RO** is implemented, which specifies that the root file system is to be mounted **read-only** by default. However, for compatibility with future additions, flags of the format **Xn** are also accepted, where **n** is in the range from **0** to **15** inclusive, and these will set the appropriate flag.

-

  An option of **None** is also implemented to indicate that no flags should be set, but if used, the **None** option must be the only option specified.

- **--help**

  Displays a help screen, then exits.

- **--noram**

  Specifies that no ramdisk should be created by default.

-

  This option is incompatible with the **--prompt** and **--ram** parameters.

- **-p --prompt**

  Specifies that a ramdisk should be created by default, and that the kernel should prompt for the relevant disk before loading the ramdisk image from disk.

-

  This option is incompatible with the **--noram** option.

- **--ram=offset**

  Specifies that a ramdisk should be created by default, and the offset in the disk to the start of the ramdisk image. This offset may not exceed **8191** blocks.

-

  This option is incompatible with the **--noram** option.

- **-r=device --root=device**

  Specifies the default device to mount as the file system root. The device can be specified as described in the *DEVICES* section (below), or can be specified as **NFS** to indicate that the file system root is remote NFS mounted.

- **-s=device --swap=device**

  Specifies the default device to mount as a swap partition. See the *DEVICES* section (below) for further details.

- **--version**

  Displays the program version, then exits.

- **-v=mode --video=mode**

  Specifies the default video mode. See the *VIDEO MODES* section (below) for further details.

## DESCRIPTION

In a bootable image for the **Linux** kernel, there are several pairs of bytes which specify various kernel options, located at the following offsets:

```
 496  1F0  Reserved
 498  1F2  Root flags
 500  1F4  Reserved
 502  1F6  Swap Device
 504  1F8  RAM Disk Parameters
 506  1FA  VGA Mode
 508  1FC  Root Device
 510  1FE  Boot Signature
```

**knl** will change or display these values.

## DEVICES

Valid values for the **device** specification in the **--root** and **--swap** options are as follows:

```
/dev/aztcd           /dev/aztcd[1-255]
                     /dev/cdouble[0-127]
                     /dev/double[0-127]
                     /dev/fd[0-3]
/dev/flash           /dev/flash[1-7]
/dev/gscd            /dev/gscd[1-255]
/dev/hd[a-h]         /dev/hd[a-h][1-63]
/dev/hitcd           /dev/hitcd[1-255]
/dev/mcd             /dev/mcd[1-255]
/dev/optcd           /dev/optcd[1-255]
/dev/ram             /dev/ram[0-7]
/dev/rflash          /dev/rflash[1-7]
/dev/rom             /dev/rom[1-7]
/dev/rrom            /dev/rrom[1-7]
/dev/scd             /dev/scd[1-255]
/dev/sd[a-g]         /dev/sd[a-g][1-15]
/dev/sjcd            /dev/sjcd[1-255]
/dev/sonycd          /dev/sonycd[1-255]
/dev/xda             /dev/xda[1-63]
/dev/xdb             /dev/xdb[1-63]
```

In addition to the options listed above, **/dev/ramdisc** and **/dev/ramdisk** are synonyms for **/dev/ram0** and, additionally, **Boot** can be used to specify the boot device. The **/dev/** part is optional in each case (but must **NOT** be prefixed to the **Boot** option).

In addition to the above, a general method of specifying **ANY** block device by its major and minor numbers has been implemented. To specify a device that is not specifically supported (or indeed one that is supported, if it comes to that), specify **Mode-X.Y** where X is the relevant **major** number, and Y is the appropriate **minor** number.

## KERNEL IMAGE SELECTION

Typical values for the **--kernel** option, which specifies a bootable Linux kernel image, are as follows:

```
/boot/vmlinuz
/boot/vmlinuz.test
/vmlinux
/vmlinux.test
/vmunix
/vmunix.test
/dev/fd0
/dev/fd1
```

Any other file on the disk can be specified and, providing it satisfies the (admittedly rather basic) criteria for being a kernel image file, it will be accepted as such.

## VIDEO MODES

Valid values for the **--video** option are as follows:

```
Ask  = Prompt for the video mode to use
EVGA = Extended VGA (80x50)
VGA  = Standard VGA (80x25)
  0  = Mode selected by choosing '0' at the prompt.
  1  = Mode selected by choosing '1' at the prompt.
  2  = Mode selected by choosing '2' at the prompt.
  n  = Mode selected by choosing 'n' at the prompt.
```

Valid numeric arguments are in the range from **0** to **65499** inclusive.

## ERRORS

The following errorlevels may be reported:

- 0

  Successful completion of task.

- 1

  Kernel image file not specified.

- 2

  Kernel image file not found.

- 3

  Specified file is not a kernel image.

- 4

  Kernel image file can't be updated.

- 5

  Kernel image file not updated correctly.

- 255

  **--help** or **--version** specified.

## WHEN USING LILO

If **LILO** is used, **knl** is no longer needed for setting the root device and the video mode since these parameters that **knl** modifies can be set from the **LILO** prompt during a boot.\
 However, **knl** is still needed at this time for setting the RAM disk parameters. Users are encouraged to find the **LILO** documentation for more information, and to use **LILO** when booting their systems.

## AUTHORS

The **knl** program and documentation was written by Riley Williams \<Riley@Williams.Name\>.

It was inspired by the **rdev** program and documentation originally written some time ago by Werner Almesberger \<almesber@nessie.cs.id.ethz.ch\> and modified by Peter MacDonald \<pmacdona@SanJuan.UVic.CA\>, with root flags support added by Stephen Tweedie \<sct@dcs.ed.ac.uk\>.
