---
name: "keytab-lilo"
section: "8"
platform: "linux"
package: "lilo"
version: "1:24.2-4"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/keytab-lilo"
---

# keytab-lilo(8)

compile keytables files for use with LILO

## NAME

keytab-lilo - compile keytables files for use with LILO

## SYNOPSIS

**/usr/sbin/keytab-lilo** \[**-p** *R old\_code = new\_code \]* ... \[*default\_layout*\] *kbd\_layout*

## DESCRIPTION

**keytab-lilo** is a program which compiles keytable definitions (in the format specified in  **[keytables(5)](/keytables/5.md)**) into a format which can be used by  **[lilo(8)](/lilo/8.md)** to set the keyboard type when booting \[using the  **keytable** parameter in **/etc/lilo.conf**\].

*kbd\_layout* should be the name of a map file which specifies the desired  keyboard layout. This file may be a  **[gzip(1)](/gzip/1.md)** compressed map. If no file extension is given, **.map.gz** is assumed. If the full pathname is not specified, **/usr/share/keymaps/** is assumed.

Since  **lilo** essentially needs to know the differences between the BIOS keyboard mapping and the one you require, the *default\_layout* file should contain a  **[keytables(5)](/keytables/5.md)** file for the BIOS default mapping. If no  *default\_layout* file is specified, **us.map.gz** is used.

**keytab-lilo** writes the output translation table as a binary string to standard output, so you should redirect it to a suitable file.  **lilo** has no particular restrictions on the name of keyboard translation files, but the suggested naming convention and location is **/boot/***mapping***.ktl** (where **.ktl** stands for "Keyboard Table for Lilo").

## OPTIONS

- **-p**

  *R old\_code = new\_code*\
   Specifies corrections ("patches") to the mapping obtained from the  translation table files. E.g. if pressing the upper case "A" should  yield an at sign, -p 65=64 would be used. The  -p  option can be  repeated any number of times. The codes can also be given as  hexadecimal or as octal numbers if they are prefixed with 0x or 0,  respectively.

## EXAMPLES

- **keytab-lilo dvorak \>/boot/dvorak.ktl**

  This is the most common form of invocation; it simply compiles the given map file (in this case dvorak) and puts the result in **/boot/dvorak.ktl**.

## AUTHOR

Werner Almesberger (almesber@bernina.ethz.ch).\
 Peter Maydell (pmaydell@chiark.greenend.org.uk) wrote this manual page.

## SEE ALSO

[**lilo**(8)](/lilo/8.md), [**keytables**(5)](/keytables/5.md), [**gzip**(1)](/gzip/1.md)

**lilo** comes with extensive documentation which can be found in /usr/share/doc/lilo-doc/ on Debian-based systems.
