[MinnowBoard] 64-bit vs 32-bit UEFI - What you need to know!
Darren Hart
dvhart at linux.intel.com
Tue Sep 9 18:52:38 UTC 2014
On 9/9/14, 10:22, "David Anders" <danders at circuitco.com> wrote:
>Darren
>
>On 09/09/2014 12:13 PM, Darren Hart wrote:
>> On 9/9/14, 10:03, "Hawley, John" <john.hawley at intel.com> wrote:
>>
>>> So there's been a bunch of questions about 32-bit OSes on the
>>> MinnowBoard MAX, and a fair amount of confusion on what's going on
>>> there. I've updated the wiki documentation
>>>
>>> http://www.elinux.org/Minnowboard:MaxBios#32-bit_vs._64-bit_UEFI
>>>
>>> but figured a quick discussion here would be helpful.
>>>
>>> When UEFI was designed they made a conscious and explicit design
>>> decision: Firmware's number of bits should match the OSes number of
>>> bits. Meaning if firmware is 32-bit, the OS has to be 32-bit. If
>>> firmware is 64-bit, the OS has to be 64-bit. There's a variety of
>>> reasons why this decision was made, but it was made.
>>>
>>> What this means to MinnowBoard MAX users: The short version is if you
>>> want to run a 64-bit OS, this entire e-mail is a no-op. If you want to
>>> run a 32-bit OS, you have to jump through some hoops.
>>>
>>> If you *REALLY* want to run a 32-bit OS there's some steps you'll need
>>> to follow, and I've outlined them at
>>>
>>>
>>>http://www.elinux.org/Minnowboard:MaxBios#Switching_from_64-bit_to_32-bi
>>>t
>>>
>>> Basically you have to re-flash the firmware with a 32-bit firmware.
>>> There's a line in the instructions that may confuse some folks,
>>> specifically using a FirmwareUpdateX64.efi to flash a 32-bit firmware.
>>> This is because when you go to change the firmware you are running a
>>> 64-bit firmware, and therefore need a 64-bit EFI program to actually do
>>> the flashing.
>>>
>>> If you want to switch back, you'll do the opposite, use
>>> FirmwareUpdateIA32.efi to flash a 64-bit firmware.
>>>
>>> If I've missed something, let me know, I'd rather cover everything we
>>> can in our documentation.
>> The only thing I would point out is that instead of OS, you really mean
>> kernel. For example, it is perfectly valid to run a 64b firmware, 64b
>> Linux kernel, and a 32b Linux userspace. It's the firmware_efi <->
>> kernel_efi interface that has to match here.
>>
>while this is 100% correct, the problem is that most of the
>distributions have them labelled either as "64-bit" or "32-bit" images....
Agreed, and for most folks, that will be all that matters. So maybe just a
footnote for those that really want the nitty gritty.
--
Darren Hart Open Source Technology Center
darren.hart at intel.com Intel Corporation
More information about the elinux-MinnowBoard
mailing list