[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian Bullseye poweroff (risolto) [+ come cercare di individuare i problemi in Linux Debian e come compilare Linux alla Debian way]



On 17/04/21 20:47, dea wrote:

Disattivando da bios l'accelerazione Intel-VTd la macchina si spegne correttamente.

Questa cosa andrebbe segnalata, prova a vedere se c'è già un bug aperto per il mancato spegnimento e aggiungi questa info, se non già presente. Altrimenti apri un nuovo bug report e indica questo workaround per risolvere il problema.

Come indicava Mattia il problema non si presenta su Linux upstream.

Se vuoi fare delle prove per capire come risolvere quel problema senza intervenire sul BIOS puoi:

1) scaricarti i sorgenti di Linux upstream e ricompilare[¹] quelli, verificando che si spegne

2) confrontare i .config usati dalla versione upstream e Debian per cercare qualche parametro inerente alla virtualizzazione, magari è sufficiente abilitare/disabilitare qualcosa

3) se non ha funzionato il punto precedente si potrebbe guardare nelle patch Debian e provare a togliere quelle inerenti alla virtualizzazione... se poi funziona, provare a toglierne solo alcune... fino ad individuare il file modificato che causa le problematiche

Una volta individuato il problema segnalarlo nel bug report.

Ciao
Davide

[¹]
La compilazione di Linux, alla Debian way, impiega tempo uomo pochi secondi/minuti (dipende se l'avete già fatto o è la prima volta), tempo macchina dipende dal proprio PC, se non è troppo vecchiotto dovrebbe essere sotto l'ora, se è recente e ben potente, probabilmente pochi minuti.

Per ricompilare alla Debian way Linux dei repository Debian (per quello upstream dovrebbe bastare scompattare i sorgenti al posto di usare linux-source) :

# apt install build-essential fakeroot rsync git linux-source
# apt build-dep linux

$ MIO_SORGENTE="~/src"
$ mkdir $MIO_SORGENTE
$ cd $MIO_SORGENTE

se avevi già installato una sotto-versione dei sorgenti di linux precedente, allora bisogna spostare o cancellare la directory "vecchia" prima di scompattare quella nuova:
$ mv linux-source.... linux-source....old

$ tar Jxvf /usr/src/linux-source-...
$ ln -sf ~/src/linux-source-... linux
$ cd linux

a questo punto si prende il .config dell'ultima versione di Linux Debian (per l'upstream si può usare invece quella upstream, che ponso sia già
nel posto corretto)
$ cp /boot/config-... .config

ora si può usare "$ make oldconfig" eseguire a mano un minimo di comandi[²] o crearsi uno script in "$MIO_SORGENTE/imposta_config.sh" contenente questi comandi
$ ../imposta_config.sh

usare il numero di core disponibili +1 per velocizzare la compilazione, nell'esempio qui sotto è per una macchina con 4 core (4+1=5)
$ time make -j 5 deb-pkg

# cd /home/davide/src
# apt install ./linux-image... ./linux-header... ./linux-libc-dev...

[²]
i comandi minimi sono:
Disabilitazione delle informazioni di debug (se servono, allora si può lasciare abilitato)
$ scripts/config --disable DEBUG_INFO

Disabilitazione della firma di Linux (altrimenti non potendo firmare Linux compilato viene generato un errore e si interrompe la compilazione)
$ scripts/config --set-str SYSTEM_TRUSTED_KEYS ""

Impostare la LOCALVERSION con la data attuale (al posto di xx si possono mettere le proprie iniziali):
$ scripts/config --set-str LOCALVERSION "-xx-$(date +%Y%m%d)"
Questo fa in modo che i compilati abbiano un nome diverso da quello Debian e tale diversità è visibile anche usando il comando uname

--
What happened in 2013 couldn't have happened without free software
(He credited free software for his ability to help disclose the U.S. government's far-reaching surveillance projects).
Edward Snowden



Reply to: