title: GRUB payload x-toc-enable: true ...
GRUB already has excellent documentation, but there are aspects of Canoeboot that deserve special treatment. Canoeboot provides the option to boot GRUB directly, running on bare metal (instead of using BIOS or UEFI services).
The GNU+Linux section also has canoeboot-specific guides for dealing with GNU+Linux distributions when using GRUB directly, in this setup. A similar section exists for BSD operating systems
It is possible to use any keymap in GRUB.
Keymaps are stored in config/grub/keymap/
You can use the ckbcomp
program to generate a keymap, based on Xorg keymap
files:
ckbcomp fr > frazerty
When you build GRUB from source, you can use the grub-mklayout
program to
create a special keymap file for GRUB. Learn how to build GRUB
To compile GRUB, in lbmk, do this:
./mk -b grub default
Other GRUB trees are available, but the default
one will do for now.
When you've built GRUB, using cbmk
(canoeboot build system), take your kepmap
file (generated by ckbcomp) and run it through grub-mklayout
like so:
cat frazerty | ./src/grub/default/grub-mklayout -o frazerty.gkb
Place the newly created .gkb
file under config/grub/keymap
in cbmk. When
you build Canoeboot, a ROM image with GRUB payload and your newly created
keymap will be available under the bin/
directory.
Learn how to build Canoeboot ROM images
Many keymaps exist in the Canoeboot build system, but sometimes you must
manually tweak the file created by ckbcomp
, adjusting the scan codes in that
file, before converting to a GRUB keymap file. Therefore, it would be unwise to
automatically add all keymaps in GRUB.
If you've added a keymap to cbmk, and it works, please submit a patch!