Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| docs:guide-developer:uefi-bootable-image [2018/12/26 04:17] – [Introduction] Add intel pdf slide mentioning CSM deprecation on 2020 alive4ever | docs:guide-developer:uefi-bootable-image [2021/06/28 13:50] (current) – [Status] replace git commit ID with actual link to the commit fiouz | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| ===== Introduction ===== | ===== Introduction ===== | ||
| - | UEFI based systems | + | |
| + | UEFI boot has been required for years now, boards that only support | ||
| + | |||
| + | https:// | ||
| + | |||
| + | http:// | ||
| To accommodate this, it's necessary for OpenWrt build system to generate UEFI bootable images. | To accommodate this, it's necessary for OpenWrt build system to generate UEFI bootable images. | ||
| Line 8: | Line 13: | ||
| ===== Status ===== | ===== Status ===== | ||
| + | As of OpenWrt '' | ||
| - | There are pending commits related to add UEFI bootable OpenWrt under | ||
| - | [[https:// | ||
| - | Beware that the generated uefi gpt image causes kernel panic when booted on bios based system. | ||
| - | A fix for this issue is in progress ((https:// | ||
| ===== Building UEFI bootable OpenWrt image ===== | ===== Building UEFI bootable OpenWrt image ===== | ||
| - | The commits necessary to build uefi bootable | + | To build an EFI-compatible |
| - | < | + | * Run '' |
| - | + | * Go to **Target Images** and make sure that the option | |
| - | + | ||
| - | a63d85882e825159268191cf1fe066c1fba0e9b1 tools: add libopt host build | + | |
| - | 76cccd168c5c5bed2e7a641b1ca86e7b28895984 tools: add sgdisk host build | + | |
| - | 39979789c0549f9f774c323e54ed82248976a31c Generate EFI grub images for x86 platforms | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | To build the image, cherry pick those commits, i.e. | + | |
| - | + | ||
| - | <code bash> | + | |
| - | $ git remote add jow-staging https:// | + | |
| - | $ git fetch jow-staging | + | |
| - | $ git checkout -b uefi-capable --track origin/ | + | |
| - | $ for commit in \ | + | |
| - | a63d85882e825159268191cf1fe066c1fba0e9b1 \ | + | |
| - | 76cccd168c5c5bed2e7a641b1ca86e7b28895984 \ | + | |
| - | 39979789c0549f9f774c323e54ed82248976a31c \ | + | |
| - | ; do \ | + | |
| - | git cherry-pick $commmit ; done | + | |
| - | </ | + | |
| - | + | ||
| - | Optionally, integrate pending changes (see footnote) to make resulting gpt images bootable on bios based systems. | + | |
| - | + | ||
| - | <code bash> | + | |
| - | $ curl -L -o patch-0001.patch " | + | |
| - | $ curl -L -o patch-0002.patch " | + | |
| - | $ git am ./ | + | |
| - | </ | + | |
| - | + | ||
| - | After cherry-picking those commits and integrating pending patches, run '' | + | |
| - | + | ||
| - | Go to **Target Images** and make sure that **Build EFI grub images** | + | |
| Select additional packages as necessary and finally save changes and exit menuconfig. | Select additional packages as necessary and finally save changes and exit menuconfig. | ||
| Line 58: | Line 28: | ||
| Run '' | Run '' | ||
| - | The resulting image will be available | + | The resulting image(s) will be available |
| + | |||
| + | Note that these are **disk images**, not partition images, which must be written to a block device directly e.g. ''/ | ||
| ===== UEFI Secure Boot ===== | ===== UEFI Secure Boot ===== | ||