在 iMac 5,1(X1600 ATI 显卡)上启动 Xubuntu 时出现黑屏

在 iMac 5,1(X1600 ATI 显卡)上启动 Xubuntu 时出现黑屏

我费尽心机终于在 2006 iMac 5,1(ATI X1600 显卡)上安装了 Xubuntu 18.04 LTS。

我必须在安装程序中插入“nomodeset”才能获得图形并完成安装。我没有安装其他操作系统。

现在安装后,看不到任何图形。我删除了“quiet”并插入了“nomodeset”,但仍然看不到任何图形。GRUB 中的恢复模式选项也没有产生任何图形。

我尝试在图像加载后在 grub 中输入“echo”行,可以看到这些打印。此外,硬盘驱动器一片混乱,因此正在启动,只是没有显示。

它还拒绝 SSH 连接,所以我真的不知道如何从盒子里获取更多信息来了解出了什么问题。

编辑:通过在 Ctrl+Alt+F1 后盲目输入,我已成功安装 SSH,因此我现在可以干预该框。

供参考:

/var/log$ lspci -k | grep -EA2 'VGA|3D'
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV530/M56-P [Mobility Radeon X1600]
        Subsystem: Apple Inc. MacBook Pro
        Kernel modules: radeon

正在遵守 nomodeset,但仍然没有图形,甚至没有控制台打印:

Apr 17 13:38:37 macbuntu kernel: [   17.486412] [drm] VGACON disable radeon kernel modesetting.
Apr 17 13:38:37 macbuntu kernel: [   17.486456] [drm:radeon_init [radeon]] *ERROR* No UMS support in radeon module!

以下是正常启动时的打印内容:

Apr 17 14:11:18 macbuntu kernel: [   19.829088] [drm] radeon kernel modesetting enabled.
Apr 17 14:11:18 macbuntu kernel: [   19.829180] radeon 0000:01:00.0: remove_conflicting_pci_framebuffers: bar 0: 0x40000000 -> 0x47ffffff
Apr 17 14:11:18 macbuntu kernel: [   19.829182] radeon 0000:01:00.0: remove_conflicting_pci_framebuffers: bar 2: 0x48400000 -> 0x4840ffff
Apr 17 14:11:18 macbuntu kernel: [   19.829185] radeon 0000:01:00.0: vgaarb: deactivate vga console
Apr 17 14:11:18 macbuntu kernel: [   19.829547] [drm] initializing kernel modesetting (RV530 0x1002:0x71C5 0x106B:0x0080 0x00).
Apr 17 14:11:18 macbuntu kernel: [   19.829594] radeon 0000:01:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xa3a3
Apr 17 14:11:18 macbuntu kernel: [   19.829616] radeon 0000:01:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0x2323
Apr 17 14:11:18 macbuntu kernel: [   19.829668] [drm:radeon_get_bios [radeon]] *ERROR* Unable to locate a BIOS ROM
Apr 17 14:11:18 macbuntu kernel: [   19.829672] radeon 0000:01:00.0: Fatal error during GPU init
Apr 17 14:11:18 macbuntu kernel: [   19.829675] [drm] radeon: finishing device.
Apr 17 14:11:18 macbuntu kernel: [   19.829676] [TTM] Memory type 2 has not been initialized
Apr 17 14:11:18 macbuntu kernel: [   19.829680] [drm] radeon: cp finalized

答案1

现在是时候给出第一个答案了。;-) 首先应该注意的是,这个主题是最复杂关于在原生 EFI 模式下安装 K(U)buntu。

第一个大问题是,在早期的 Apple Intel 电脑上vBIOS 在原生 EFI 模式下并没有真正暴露在这些 Apple 机型上,vBIOS 通常仅在旧版CSM Bios 仿真模式(又名 Boot Camp)处于活动状态。在原生 EFI 下,vBIOS 在开机时只能持续很短的时间。为了使其更加复杂,Apple 中存在iMac5,1iMac5,2iMac6,1模型也是一个不匹配EFI 版本之间32位和 CPU64 位。这是该问题的实际问题,因为它几乎完全阻止在 2006 年 iMac 型号上以原生 EFI 模式安装 64 位 Linux 版本。

只能通过旧版 CSM Bios 模拟层进行安装。不幸的是,这会带来一些缺点,例如 RAM 内存较少(最多只有 3GB)、SATA300 端口的 UDMA133 速度极慢,等等。

然而,整个情况在 2021 年有所改变,因为自 Linux 内核 5.7 以来,存在一个名为的新功能LOAD_X64_ON_IA32_ENABLE。这无非是一个(基本的)32 位 EFI 上的混合模式 64 位 CPU 和操作系统支持

但需要明确的是,这只是谜题的第一部分。该标志也必须在 Ubuntu 内核中设置,但截至 2021 年尚不清楚。这仅在较新的 Arch-Linux 内核中得到官方确认。

此外,看起来重新索引引导加载程序必须支持32 位 EFI 上的混合模式 64 位操作系统运行。同样这里,目前的状态还不清楚。

最终,其工作原理如下:

Apple EFI 固件 => rEFInd => Linux 内核(EFISTUB 带有已启用混合模式 EFI 支持

rEFInd 的作用主要是延长原生 EFI 下 vBIOS 信息可用的时间,并将必要的信息交给 Linux,以便内核找到 vBIOS。

长话短说,这里的所有内容对于初学者来说都不算什么!;-) 更多信息可以在这里找到:rEFInd & Linux内核EFISTUB在苹果硬件上启动,如何实现?

相关内容