---
title: GRUB payload 
x-toc-enable: true
...

This section relates to the GRUB payload used in retroboot.

GRUB keyboard layouts (for reference)
=====================================

Custom keyboard layout in GRUB (for reference)
----------------------------------------------

Keymaps are stored in `resources/grub/keymap/`

### How were they made?

Example (French Azerty) (NOTE: last tested when developing Libreboot and the
command below was last tested in Trisquel GNU+Linux, version 6.0 LTS in 2014):

    ckbcomp fr > frazerty

Go in grub directory (ditto to above):

    cat frazerty | ./grub/grub-mklayout -o frazerty.gkb

The above steps should still work on modern GNU+Linux distributions. This page
was forked from Libreboot, since Retroboot is a fork of Libreboot. Even in
Libreboot, this page was **very** old. Some of the information on this page,
such as directory paths for GRUB resources in the build system, have been
altered to reflect their current location in the Retroboot build system.

You must make sure that the files are named keymap and keymap.gkb (where
'keymap' can be whatever you want).

Then from the above example, you would put `frazerty`
in `resources/grub/keymap/original/` and
the `frazerty.gkb` file goes
under `resources/grub/keymap/`

The build scripts will automatically see this, and automatically build
ROM images with your custom layout (given the name) and include them
under `bin/grub_boardname/`

UK Dvorak keyboard layout in GRUB (for reference)
-------------------------------------------------

ukdvorak had to be created manually, based on usdvorak. diff them (under
resources/grub/keymap/original) to see how ukdvorak
file was created. The scan codes were laboriously converted, *by hand!*

    cat ukdvorak | ./grub/grub-mklayout -o ukdvorak.gkb
