---
title: EDK2 UEFI payload in Canoeboot
x-toc-enable: true
...

This page also contains general guidance about EDK2 on all boards that
use it, which is nearly all boards. Legacy SeaGRUB payloads are also still
provided, on all boards that have EDK2 available; a GRUB EFI build is also
present in the boot menu of EDK2, for compatibility with older Canoeboot setups.

We specifically use the [MrChromebox](https://docs.mrchromebox.tech/) version
of EDK2, but please note that we do not yet support *Chromebooks* from that
project - we only use the EDK2 payload. Work will be done to integrate
Intel SandyBridge, IvyBridge, Haswell, Skylake and Kabylake Chromebooks in
a future Canoeboot release, but this has not yet been done.

We modify MrChromebox EDK2 in the following ways:

* Added EFI GRUB build in PE32 section
* Added Memtest86\+ in PE32 section.

An iPXE payload is also provided in the build. This and the GRUB/Memtest payloads
are available in the EDK2 boot menu.

General EDK2 guidance
-----

**If migrating from Libreboot: most Libreboot boards use 512KB SMMSTORE, whereas
Canoeboot uses 256KB SMMSTORE universally. Canoeboot also has
a [different flash layout](ivy_has_common.md) on most boards, compared to
Libreboot. Thus, please flash the entire BIOS region if migrating. After that,
the notes below about fmap may be observed when upgrading from one Canoeboot
version to another.**

We use SMMSTORE by default. You can use this option in flashprog when
updating the ROM:

```
--fmap -i COREBOOT
```

Use these options in flashprog, to flash just the COREBOOT section. This avoids
overwriting SMMSTORE which contains settings, otherwise you will restore your
settings to default when updating.

GRUB and Memtest86+ in PE32 work like the old coreboot payloads; old Canoeboot
setups can be adapted easily. Our setup is made to be backward-compatible.

Besides this, you can pretty much use EDK2 like you would any other UEFI
firmware. Most users should pick it up easily when they boot with it. This
is the recommended default payload on x86 hardware in current Canoeboot
releases, but we do still provide the classic SeaBIOS and GRUB payloads if
you wish, on most boards.

[//]: # "SPDX-License-Identifier: GFDL-1.3-or-later"
