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

Compilare Linux (ERA: Re: cortese domanda su apt-listbugs)



On 24/11/19 16:42, Alessandro wrote:
Il 23/11/19 19:50, Davide Prina ha scritto:

volendo potresti migliorare le prestazioni del PC ricompilandoti Linux, se ti interessa si spiego come faccio io.

magari!! mi piacerebbe entrare un po' più in profondità e ti confermo che l'uso del laptop è esclusivamente desktop :)

# apt update
# apt -u upgrade; apt -u dist-upgrade
# apt install linux-source
# apt install build-essential fakeroot rsync git
# apt build-dep linux

Nota: questi passi qui sopra è meglio eseguirli ogni volta che si compila una nuova versione di Linux

Se è stata installata una nuova versione del pacchetto linux-image-XYZ, allora bisogna riavviare la macchina (questo perché non funzionerebbero i vari uname -r e simili e quindi, se non si riavvia, dovrebbero essere compilati a mano)

Linux non deve essere più compilato in /usr/src o creato il link simbolico /usr/src/linux. È meglio crearsi una directory src nella propria home e compilare da li.
$ mkdir ~/src
$ cd ~/src

Nota: se si sta compilando una sottoversione diversa (es: si era compilata la 5.2.17-2 ora si vuole ricompilare la 5.2.17-3), allora il nome di directory sarebbe lo stesso, quindi io sposto la directory con i sorgenti di linux: mv linux-source-5.2 linux-source-5.2_old

$ tar Jxvf /usr/src/linux-source-$(uname -r)
$ ln -sf ~/src/linux-source-$(uname -r | sed "s/\([0-9]*\.[0-9]*\)\..*/\1/") ~/src/linux
$ cd linux

Copiare la configurazione del kernel in esecuzione uguale versione dia quello che si compila
$ cp /boot/config-$(uname -r) .config

Disabilitazione delle informazioni di debug (se servono, allora si può lasciare abilitato)
$ scripts/config --disable DEBUG_INFO

Disabilitazione della firma di Linux (come discritto nel punto 1 qui sotto)
$ scripts/config --disable MODULE_SIG

Se invece si copia una versione del config di Linux precedente, allora bisogna eseguire
$ make oldconfig
Per poter rispondere interattivamente su come impostare tutte le modifiche della configurazione del nuovo Linux In alternativa è possibile usare olddefconf, per impostare al default tutte le nuove configurazioni, o ...

Se si vuole modificare la configurazione di Linux
$ make nconfig

ATTENZIONE: in ogni caso bisogna entrare e
1) modificare CONFIG_SYSTEM_TRUSTED_KEYS che indica di firmare il pacchetto con la chiave di un DD
in alternativa si può disabilitare il modulo signing:
$ scripts/config --disable MODULE_SIG
2) mettere una stringa che identifichi la propria compilazione in LOCALVERSION

Consigliato impostare per lo meno la propria CPU in "-> Processor type and features" e la latenza in "-> Processor type and features" per velocizzare il proprio sistema.

Impostare il parametro j al numero di processori ($ cat /proc/cpuinfo)+1 mentre il time permette di sapere quanto tempo ha impiegato
$ time make -j 5 deb-pkg

Se si vuole/deve ricompilare conviene dare prima un clean di tutto prima di ricompilare
$ make clean

si otterranno i .deb sotto ~/src.
Io installo, con dpkg -i <elenco pacchetti>:
* linux-image
* linux-header
* linux-libc-dev

Ciao
Davide

--
Dizionari: http://linguistico.sourceforge.net/wiki
Sistema operativo: http://www.debian.org
GNU/Linux User: 302090: http://counter.li.org
Non autorizzo la memorizzazione del mio indirizzo su outlook


Reply to: