Project

General

Profile

Feature #9664

Feature #10028: loader: implement framebuffer console

Feature #8918: loader.efi: add vesa edid support

loader: need UEFI32 support

Added by Toomas Soome about 1 year ago. Updated 10 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
bootloader
Start date:
2018-07-19
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)
Difficulty:
Hard
Tags:

Description

Some hardware (like intel atom based) have UEFI32 firmware but can start 64-bit kernel, would like to be able to boot from such systems.

For code base it means we need to provide multiboot2 trampoline for 32-bit code, which is not that hard; we still only load the 64-bit kernels. The interesting part is later on, when we are implementing access to EFI Runtime Services from kernel - then we need to switch to 32-bit mode and back. EFI System table accesses are also to be done using native (32-bit) pointers.

As a visible change, we will build following binaries:

The current /boot/boot1.efi will be replaced by two new files:

  • /boot/bootia32.efi
  • /boot/bootx64.efi

The current /boot/loader.efi will also be replaced, by:

  • /boot/loader32.efi
  • /boot/loader64.efi

For users of the current boot1.efi, this change is a flag day because we have no automated ESP update and boot code in ESP will need to be updated manually.


Subtasks

Bug #9665: loader: UEFI loader needs to set ISADIR based on hardwareClosedToomas Soome

Actions

History

#1

Updated by Joshua M. Clulow 11 months ago

Note that in addition to there being no automated update of the EFI System Partition (ESP) where the *.efi files are installed, there is also no automated installation at all: this flag day is not likely to affect many (any?) people, because EFI boot support still requires manual installation of files and only works with serial consoles today.

#2

Updated by Joshua M. Clulow 11 months ago

  • Description updated (diff)
#3

Updated by Electric Monk 11 months ago

  • Status changed from In Progress to Closed

git commit 83b4671e6262c5aa6b4f9fb5a384b1946dfc2e7f

commit  83b4671e6262c5aa6b4f9fb5a384b1946dfc2e7f
Author: Toomas Soome <tsoome@me.com>
Date:   2018-10-13T15:08:10.000Z

    9664 loader: need UEFI32 support
    Reviewed by: Robert Mustacchi <rm@joyent.com>
    Reviewed by: Andrew Stormont <andyjstormont@gmail.com>
    Approved by: Gordon Ross <gwr@nexenta.com>

Also available in: Atom PDF