在 32 位 UEFI 机器上安装 Linux

在 32 位 UEFI 机器上安装 Linux

我有一台 Intel BayTrial Z3735D 平板电脑,配备 32 位 UEFI BIOS。经过一番搜索后,我发现大多数 Linux 发行版都没有附带 32 位 efi 文件。

我如何插入一个(或构建一个新的 ISO)

根据 https://wiki.archlinux.org/index.php/HCL/Firmwares/UEFI#Intel_Atom_SoC_Bay_Trail ,这应该是可能的。

答案1

Baytrail 平板电脑运行 64b 处理器和 32b EFI,其原因英特尔最为人所知。

Grub2(为 32b EFI 编译)将从 32b EFI 启动 64b UEFI 操作系统。

就像 64b 或 32b CPU 处理器调用传统的 16b BIOS 一样,操作系统中需要一个 thunk 将参数从 64b 编组到 32b,更改处理器模式,调用固件,然后恢复处理器模式并编组从 32b 到 64b 的参数。使用该选项构建的 x86-64 Linux 内核CONFIG_EFI_MIXED=y包含这样的 thunk,以允许 x86-64 内核调用 i686 EFI。

此时,AMD 的 AtomBIOS 没有任何 thunk,因此“radeon”模块出现故障。对于 Baytrail 平板电脑来说这不是问题,因为它们使用英特尔 GPU。

在考虑 Baytrail 时我会考虑 Ubuntu 操作系统,因为 Fedora 尚未使用CONFIG_EFI_MIXED=y.使用 USB 记忆棒,例如超级Grub2磁盘进入 Grub2 (32b) 命令行,然后从 Grub2 命令行加载并运行 x86-64 安装程序内核。安装 Ubuntu 后,返回并手动将 Grub2 32b 引导加载程序安装到 EFI 分区,然后删除 Grub2 64b 引导加载程序。

缺乏高级视频驱动程序是 MacBookPro2,2 的一大障碍,因为它使用 AMD Radeon X1600。 Linux 可以使用 EFI“UGA”驱动程序启动(大致相当于在 BIOS 领域使用 VESA 选项)。但结果是开销太大,以至于风扇持续全速运行。请注意,“radeon”模块将 AtomBIOS 内容复制到 RAM 中,因此对驱动程序进行小的更改以允许从磁盘加载 AtomBIOS 是解决此问题的一个途径。也许早期 Mac 上的最佳方法是运行 32b 操作系统,尽管大多数流行的发行版在其 i686 32b 版本中不支持 EFI。

答案2

此页面可能会有所帮助,标题为:UEFI 上的 Linux:快速安装指南。具体来说这一段:

确保您使用的发行版具有正确的位深度— EFI 运行与 EFI 本身具有相同位深度的引导加载程序。对于现代计算机来说,这通常是 64 位,尽管前几代基于 Intel 的 Mac 和少数不起眼的计算机使用 32 位 EFI。我还没有遇到过正式支持 EFI 的 32 位 Linux 发行版,尽管可以将 32 位 EFI 引导加载程序添加到 32 位发行版中。 (我的 Linux 管理 EFI 引导加载程序一般涵盖引导加载程序,理解这些原理可能使您能够修改 32 位发行版的安装程序,尽管这对初学者来说不是一个任务。)在具有 64 位 EFI 的计算机上安装 32 位 Linux 发行版是很困难的最好,这里就不描述这个过程了;您应该在具有 64 位 EFI 的计算机上使用 64 位发行版。

因此,考虑到这一点,我可能会回避尝试使用 64 位发行版并添加我自己的 32 位 UEFI 加载程序来启动。我会找到一个 32 位发行版。这里有一些选择,主要是在嵌入式空间。

如果你有决心并想这样做@罗德史密斯在 AskUbuntu 问答中提供了详细信息,标题为:32 位 UEFI 启动支持

答案3

我在使用 Packard Bell Easynote 时遇到了这个问题,经过大量研究后我发现 Sparky Linux 32 位实际上支持 32 位 efi。任何 586 版本似乎都可以工作。我已经成功安装LDXE版本。

相关内容