Bug 1118949 - 32bit UEFI can't boot x86_64 kernel because of missing CONFIG_EFI_MIXED
Summary: 32bit UEFI can't boot x86_64 kernel because of missing CONFIG_EFI_MIXED
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: rawhide
Hardware: x86_64
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-07-12 08:05 UTC by Lars S. Jensen
Modified: 2023-08-19 21:22 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-05-16 12:38:24 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Lars S. Jensen 2014-07-12 08:05:55 UTC
Description of problem:
Many of the first generation Baytrail/Atom tablet only have UEFI32.
To boot a x86_64 kernel/Fedora from UEFI32 require kernel config parameter CONFIG_EFI_MIXED that was included from version kernel 3.15.x.
I am currenly using an Arch dist to test 64bit kernel that have the CONFIG_EFI_MIXED parameter.

Version-Release number of selected component (if applicable):
kernel-core-3.16.0-0.rc4.git2.1.fc21.x86_64
kernel-core-3.16.0-0.rc4.git2.1.fc22.x86_64

How reproducible:
Check /boot/config for CONFIG_EFI_MIXED.

Steps to Reproduce:
1. Rawhide and Fedora21
grep EFI_MIXED /boot/config-3.16.0-0.rc4.git*

Actual results:
# CONFIG_EFI_MIXED is not set

Expected results:
CONFIG_EFI_MIXED=y

Additional info:
The support of Baytrail/Atom tablet is commimg in kernel 3.16-3.17 and should be tested before release of F21:-).
If also require a grub32 boot loader image in /boot/EFI/...
This is bug #746421 that can be reopened.

Comment 1 Josh Boyer 2014-07-12 14:02:16 UTC
The official policy is that Fedora doesn't support 32-bit UEFI.  I believe we need more than just that option enabled in the kernel to properly support this.  I've CC'd the grub maintainer to see what the plans around that are.

Comment 2 Lars S. Jensen 2014-07-12 14:56:53 UTC
The current grub2-efi-2.02-0.6.fc21.i686 should able to boot the kernel because it is a 32-bit UEFI bootloader and it start without any problems on my UEFI32 baytrail tablet. It only need to be install :-). 

The grub-efi.i686 and grub-modules-modules.i686 binary can be install in parallel with x86_64 version because it use differne naming scheme: ...x64,x86_64-efi and ...ia32/i386-efi.
There is some grub commen files that may needs to be moved/fixed.

Comment 3 Josh Boyer 2014-11-06 00:09:24 UTC
We aren't going to change this for F21.  We'll move the bug to rawhide and work out whether this is something we're going to support in F22.

Comment 4 Lars S. Jensen 2014-12-30 10:42:57 UTC
I am now using F21 x86_64 system and fedora's F22 kernel with Adam's Fedlet kernel patchs for Baytrail and CONFIG_EFI_MIXED. 
The current rpm grub2-efi.i686 don't includes the grub command-module: linux/initd that are needed instead of linuxefi/initdefi to boot 64-bit "efi" kernel from UEFI 32-bit. But the grub image with linux/initd can be created from grub2-efi-modules.i686 with grub2-mkimage.

Comment 5 Lars S. Jensen 2015-04-10 09:17:56 UTC
I will build/test the f22/rawhide kernel after the CONFIG_EFI_MIXED was added to it's git repo yesterday :-)

Comment 6 Mikhail 2015-06-03 12:57:14 UTC
Don't understand how boot Fedora 22 on Bay Trail tablet :(

Comment 7 Mikhail 2016-05-14 06:19:03 UTC
A year has passed now Fedora 24, but support UEFI 32 still have not been added.

Comment 8 Josh Boyer 2016-05-16 12:38:24 UTC
(In reply to Mikhail from comment #7)
> A year has passed now Fedora 24, but support UEFI 32 still have not been
> added.

commit f0d73f97ac8e929de523c4a232620e4b42571011
Author: Peter Jones <pjones>
Date:   Thu Apr 9 10:24:01 2015 -0400

    Enable CONFIG_EFI_MIXED.
    
    This enables the 32-bit EFI entry point on 64-bit kernels, so hardware
    like Baytrail devices with 32-bit firmware on a 64-bit cpu can boot the
    64-bit kernel.
    
    Signed-off-by: Peter Jones <pjones>


It was enabled a year ago in our kernels.  If it isn't working, it's because of grub or something else.


Note You need to log in before you can comment on or make changes to this bug.