reiniciar después de una falla de energía para Mac mini con Ubuntu

10

Tengo Ubuntu 10.04.1 (Lucid) ejecutándose en una Mac Mini 2010 (4,1). Es un servidor, así que quiero que pueda reiniciarse después de una falla de energía ("modo servidor").

En Mac OS X, puede marcar "Iniciar automáticamente después de una falla de energía" en las Preferencias del sistema "Ahorro de energía". Sin embargo, tener este valor verificado no parece afectar el comportamiento del "modo servidor" en Ubuntu (es decir, no se reiniciará después de una falla de energía).

Esto parece deberse a que el valor del "modo servidor" no persiste en pram / efi, sino que Mac OS X lo establece en cada arranque.

Encontré este tutorial sobre cómo activar el "modo servidor" para una Mac Mini, pero no funciona:

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

Mucho ha cambiado con el nuevo 4,1 Mac Minis; simplemente instalar Ubuntu en él fue toda una hazaña. ¿Quizás el encantamiento del "modo servidor" también ha cambiado?

Mi pregunta es: ¿cómo habilito el "modo servidor" en el nuevo 4,1 Mac Minis?

paleozogt
fuente
En mi experiencia, esto es algo típicamente manejado por la BIOS. Dado que no sé nada sobre el funcionamiento inferior de una Mac (aparte de que usan procesadores Intel en su mayoría estándar), no podría decirte cómo establecer los valores necesarios en la BIOS, y mucho menos cómo entrar en ella en el primer lugar.
MBraedley
Te refieres a EFI, no BIOS. De todos modos, no hay una configuración EFI para esto. Es un registro de conjunto de chips que debe ser introducido en cada arranque. Ojalá estuviera en el EFI, o al menos en el cochecito, ¡entonces solo tendríamos que configurarlo una vez!
paleozogt
Exactamente mi punto.
MBraedley
La solución actual no funciona para Mac Pro, pero se puede comprobar este error en Ubuntu bugs.launchpad.net/ubuntu/+source/linux/+bug/784571
Sorin
@Sorin Sbarnea: bueno, la pregunta es para un Mac mini
paleozogt

Respuestas:

9

En algunos Mac Minis (probé en uno alrededor de 2014) todavía parece ser:

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

Verifiqué esto después de algunas investigaciones. Los pasos que tomé para averiguar, que en teoría también se pueden hacer para futuras iteraciones de estas máquinas, fueron:

  1. Busque el dispositivo LPC:

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

    En este caso, es 00: 1f.0.

  2. Encuentre una hoja de datos para el dispositivo. Por ejemplo, buscar en Google la "hoja de datos del controlador Intel hm77 lpc" proporcionó esta hoja de datos .

  3. Ahora solo tiene que encontrar el registro correcto, lo que podría ser un desafío dependiendo de la hoja de datos. Aquí encontré "5.13.7.5 Sx-G3-Sx, Manejo de fallas de energía, p. 180" en la tabla de contenido, que describe el bit de control AFTERG3_EN.

  4. Al buscarlo en el documento, lo encontramos en la sección 13.8.1.3 (registro general de configuración PM 3) en la parte inferior de la tabla en la página 530. De esto vemos que es el bit 0 del registro de 16 bits en 0xA4.

Entonces eso puede usarse para construir el setpcicomando relevante .

Entonces, si esto cambia nuevamente en el futuro, encuentre el dispositivo, encuentre la hoja de datos, construya el comando, pruebe y levante el puño en la victoria.

Pero básicamente el dispositivo y la dirección de registro pueden diferir en diferentes máquinas, es específico del controlador LPC; así que esa es la pieza de hardware que debe verificar primero antes de determinar qué comando usar.

Jason C
fuente
¡Esto funciona en un viejo iMac de 2007! el controlador es diferente, pero verificar los documentos relevantes conduce al mismo comando, al final ...
benzkji
es cierto que esto debe ejecutarse en cada arranque, de lo contrario se pierde ...
benzkji
8

Encontré la respuesta enterrada en esta publicación . El nuevo comando setpci es

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

por cierto, esta configuración no es "pegajosa" y no persistirá durante los reinicios; debe establecerse en cada inicio.

Puede poner este comando en un script bash y ejecutarlo al inicio. Consulte aquí para obtener detalles sobre los scripts de inicio.

paleozogt
fuente
¿Puede ejecutar ese comando en un script de inicio o aún le pedirá la contraseña su?
MBraedley
Sí, puede ejecutarlo en un script de inicio. He editado la respuesta para vincular a un guión de inicio de instrucciones.
paleozogt
¿Podría ser tan amable de agregar información sobre dónde agregar esta línea para asegurarse de que se ejecutará cuando se inicie el sistema, preferiblemente lo antes posible? - Ubuntu
sorin
@Sorin Sbarnea: en la respuesta hay un enlace a información sobre scripts de inicio en ubuntu
paleozogt