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

Re: 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 :)

 >
Ciao Lista,
Provo a seguire queste indicazioni, per compilare il mio sistema Amd64 con Debian Buster.

 > # apt update

 > # apt -u upgrade; apt -u dist-upgrade

 > # apt install linux-source

 > # apt install build-essential fakeroot rsync git

Qui ho installato tutti i pacchetti richiesti, senza problemi.

 > # apt build-dep linux
Qui mi chiede di installare altri 137 pacchetti mancanti. Fatto.
Installati senza problemi.

 >

 > 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
Ok, ho creato la dir nella mia home.

 >

 > 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)
Ora arrivano i problemi e gli errori.
Se eseguo questo mi dà :
tar (child): /usr/src/linux-source-4.19.0-6-amd64: funzione "open" non riuscita: File o directory non esistente
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now



 > $ ln -sf ~/src/linux-source-$(uname -r | sed

 > "s/\([0-9]*\.[0-9]*\)\..*/\1/") ~/src/linux

 > $ cd linux
Questi non li ho ancora eseguiti, causa errore precedente.

 >

 > Copiare la configurazione del kernel in esecuzione uguale versione dia

 > quello che si compila

 > $ cp /boot/config-$(uname -r) .config
Qui errore non ne dà, ma pare che non ci sia un file .config
Nella dir /boot ho trovato il file: config-4.19.0-6-amd64 e quindi lo ho copiato io nella mia dir /home/src.



 >

 > 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
Se provo a dare questo comando da /home/src mi dà questo errore:
make: ***  Nessuna regola per generare l'obiettivo "nconfig".  Arresto.



 >

 > 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
Il mio processore è un Amd64

 > and features" e la latenza in "-> Processor type and features" per

 > velocizzare il proprio sistema.
Come si fa per sapere quale latenza impostare ?

 >

 > Impostare il parametro j al numero di processori ($ cat /proc/cpuinfo)+1
Di processore credo che ne ho uno solo, ma ha la frequenza variabile, tra 1 G Hertz e 2,2 G Hertz.

 > 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
Qui di immagine se ne può installare una sola per volta?
Cioè quando riuscirò a compilare tutto, se installo la mia immagine personalizzata mi chiede di rimuovere l'altra (o le altre) immagine installata nel sistema ?

Grazie
Ciao


 >

 > Ciao

 > Davide



Reply to: