riavviare dopo un'interruzione di corrente per Mac mini con Ubuntu


10

Ho Ubuntu 10.04.1 (Lucid) in esecuzione su un Mac Mini 2010 (4,1). È un server, quindi voglio che sia in grado di riavviarsi dopo un'interruzione di corrente ("modalità server").

In Mac OS X, puoi selezionare "Avvia automaticamente dopo un'interruzione di corrente" nelle Preferenze di Sistema "Risparmio energetico". Tuttavia, avere questo valore selezionato non sembra influire sul comportamento della "modalità server" in Ubuntu (ovvero, non si riavvierà dopo un'interruzione di corrente).

Ciò sembra essere dovuto al fatto che il valore "modalità server" non è persistente in carrozzina / efi, ma viene impostato da Mac OS X ad ogni avvio.

Ho trovato questo tutorial su come attivare la "modalità server" per un Mac Mini, ma non funziona:

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

Molte cose sono cambiate con i nuovi Mini Mac da 4,1: solo installare Ubuntu su di esso è stato piuttosto un'impresa. Forse anche l'incantesimo "modalità server" è cambiato?

La mia domanda è: come posso abilitare la "modalità server" sul nuovo Mac Mini 4.1?


Nella mia esperienza, questo è qualcosa in genere gestito dal bios. Dal momento che non so nulla del funzionamento inferiore di un Mac (a parte il fatto che usano processori Intel per lo più standard), non sarei in grado di dirti come impostare i valori necessari nel BIOS, per non parlare di come entrare nel primo posto.
MBraedley,

Intendi EFI, non BIOS. Ad ogni modo non esiste un'impostazione EFI per questo. È un registro del chipset che deve essere inserito ad ogni avvio. Vorrei che fosse nell'EFI, o almeno nella carrozzina, quindi dovremmo impostarlo solo una volta!
paleozogt,

Esattamente il mio punto.
MBraedley,

La soluzione attuale non funziona per Mac Pro, ma puoi controllare questo bug su Ubuntu bugs.launchpad.net/ubuntu/+source/linux/+bug/784571
sorin

@Sorin Sbarnea: beh, la domanda è per un mac mini
paleozogt,

Risposte:


9

Su alcuni Mac Mini (che ho provato su uno intorno al 2014) sembra ancora essere:

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

L'ho verificato dopo alcune ricerche. I passi che ho preso per scoprire, che teoricamente si possono fare anche per future iterazioni di queste macchine, sono stati:

  1. Cerca il dispositivo LPC:

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

    In questo caso, è 00: 1f.0.

  2. Trova una scheda tecnica per il dispositivo. Ad esempio, googling per "scheda tecnica controller Intel Intel HBP" ha prodotto questo foglio dati .

  3. Ora devi solo trovare il registro giusto, che potrebbe essere una sfida a seconda della scheda tecnica. Qui ho trovato "5.13.7.5 Sx-G3-Sx, Handling Power Failures, p. 180" nel sommario, che descrive il bit di controllo AFTERG3_EN.

  4. Effettuando una ricerca nel documento, lo troviamo nella sezione 13.8.1.3 (registro generale di configurazione PM 3) in fondo alla tabella a pagina 530. Da questo vediamo che è il bit 0 del registro a 16 bit a 0xA4.

Quindi può essere utilizzato per costruire il setpcicomando pertinente .

Quindi, se questo cambia di nuovo in futuro, trova il dispositivo, trova il foglio dati, costruisci il comando, testa e alza il pugno in vittoria.

Ma sostanzialmente il dispositivo e l'indirizzo del registro possono differire su macchine diverse, è specifico per il controller LPC; quindi questo è il componente hardware che devi controllare prima di determinare quale comando usare.


funziona su un vecchio iMac del 2007! il controller è diverso, ma il controllo dei documenti pertinenti porta allo stesso comando, alla fine ...
benzkji,

è vero che questo deve essere eseguito ad ogni avvio, altrimenti è perso ...
benzkji

8

Ho trovato la risposta sepolta in questo post . Il nuovo comando setpci è

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

tra l'altro, questa impostazione non è "appiccicosa" e non persisterà durante i riavvii, deve essere impostata ad ogni avvio.

È possibile inserire questo comando in uno script bash ed eseguirlo all'avvio. Vedi qui per i dettagli sugli script di avvio.


Puoi eseguire quel comando in uno script di avvio o ti chiederà comunque la password di su?
MBraedley,

Sì, puoi eseguirlo in uno script di avvio. Ho modificato la risposta per collegarmi a uno script di avvio.
paleozogt,

Potresti essere così gentile da aggiungere informazioni su dove aggiungere questa linea per assicurarti che verrà eseguito all'avvio del sistema, preferibilmente il più presto possibile? - Ubuntu
sorin,

@Sorin Sbarnea: nella risposta c'è un link alle informazioni sugli script di avvio in ubuntu
paleozogt
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.