停电后,运行Ubuntu的Mac mini重启


10

我在2010 Mac Mini(4,1)上运行Ubuntu 10.04.1(Lucid)。它是一台服务器,因此我希望它能够在断电(“服务器模式”)后重新启动。

在Mac OS X中,可以在“节能器”系统偏好设置中选中“断电后自动启动”。但是,检查此值似乎并不会影响Ubuntu中的“服务器模式”行为(也就是说,电源故障后它不会重新启动)。

这似乎是因为“服务器模式”值未在pram / efi中保留,而是在每次启动时由Mac OS X设置。

我找到了有关如何为Mac Mini开启“服务器模式”的教程,但是它不起作用:

$ setpci -s 0:1f.0 0xa4.b=0
setpci: Warning: No devices selected for `0xa4.b=

新的4,1 Mac Minis发生了很多变化-仅在其上安装Ubuntu就是一项壮举。也许“服务器模式”的咒语也变了?

我的问题是:如何在新的4,1 Mac Minis上启用“服务器模式”?


以我的经验,这通常是由BIOS处理的。由于我对Mac的低端工作一无所知(除了它们大多使用标准的Intel处理器),我无法告诉您如何在BIOS中设置必要的值,更不用说如何在BIOS中使用它了。第一名。
MBraedley 2010年

您的意思是EFI,而不是BIOS。无论如何,对此没有EFI设置。这是一个芯片集寄存器,每次启动时都要戳一下。我希望它位于EFI或至少在婴儿车中,那么我们只需要设置一次!
paleozogt

完全是我的意思。
MBraedley 2010年

当前的解决方案不适用于Mac Pro,但是您可以在Ubuntu上检查此bug。bugs.launchpad.net/ubuntu/+source/linux/+bug/784571
sorin 2011年

@Sorin Sbarnea:好吧,问题在于Mac mini
Paleozogt

Answers:


9

在某些Mac Mini(我大约在2014年测试过)上,它似乎仍然是:

sudo setpci -s 00:1f.0 0xa4.b=0

经过一些研究,我对此进行了验证。我采取的找出步骤(理论上也可以为这些机器的将来迭代完成)是:

  1. 查找LPC设备:

    $ lspci | grep LPC
    00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)
    

    在这种情况下,它是00:1f.0。

  2. 查找该设备的数据表。例如, Google hm77 lpc控制器数据表”的谷歌搜索产生了该数据表

  3. 现在,您只需要找到合适的寄存器,根据数据手册,这可能是一个挑战。在目录中,我发现“ 5.13.7.5 Sx-G3-Sx,处理电源故障,第180页”,它描述了控制位AFTERG3_EN

  4. 在文档中进行搜索,可以在第530页表底部的13.8.1.3节(通用PM配置寄存器3)中找到它。从中我们可以看到它是16位寄存器0xA4的位0。

然后可以用来构造相关setpci命令。

因此,如果将来这种情况再次发生变化,请找到设备,找到数据表,构造命令,测试并举起拳头以取胜。

但是基本上,设备和寄存器地址在不同的机器上可能有所不同,这是特定于LPC控制器的;因此,这是您在确定使用哪个命令之前必须首先检查的硬件。


这适用于2007年的旧iMac!控制器是一个不同的控制器,但是最后检查相关文档会导致相同的命令……
benzkji

的确,必须在每次引导时都执行此操作,否则它会丢失...
benzkji

8

我发现答案被埋在这篇文章中。新的setpci命令是

sudo setpci -s 00:03.0 0x7b.b=19

顺便说一句,此设置不是“粘性”的,并且不会在重新启动后持续存在-必须在每次启动时进行设置。

您可以将该命令放在bash脚本中,并在启动时运行它。有关启动脚本的详细信息,请参见此处


您可以在启动脚本中运行该命令,还是会要求您输入su密码?
MBraedley 2010年

是的,您可以在启动脚本中运行它。我已经编辑了答案,以链接到启动脚本的操作方法。
paleozogt

您能很好地添加有关在何处添加此行的信息,以确保在系统启动时(最好尽快)执行该行吗?- Ubuntu的
索林

@Sorin Sbarnea:答案是ubuntu中启动脚本信息的链接
paleozogt 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.