Il 30/11/19 09:08, Davide Prina ha scritto:
On 29/11/19 18:31, Portobello wrote:
Il 29/11/19 16:47, Davide Prina ha scritto:
$ tar Jxvf /usr/src/linux-source-$(uname -r | cut -d '.' -f 1-2).tar.xz
prova a vedere se così risolvi o se ho fatto altri errori in altri
punti.
Ora il comando ha funzionato. Ma ancora non c'è l'architettura di Amd64.
/home/src/linux-source-4.19 (e quindi non c'è la parte di Amd64)
no, è corretto. infatti il comando che ho indicato dovrebbe individuare
proprio quel file.
Poi mi sono accorto che avevo fatto un altro errore, togliere il
certificato da usare per firmare la compilazione... la mancanza di
questo impedisce di compilare generando un errore. Avevo indicato una
chiave sbagliata, quella corretta è la seguente:
$ scripts/config --set-str SYSTEM_TRUSTED_KEYS ""
riporto qui le istruzioni modificate e aggiornate:
# apt update
# apt -u upgrade; apt -u dist-upgrade
per amd64 installare i pacchetti (per altre architetture hardware
dovrebbero essercene altri simili):
# apt install linux-headers-amd64 linux-image-amd64
# 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
$ tar Jxvf /usr/src/linux-source-$(uname -r | cut -d '.' -f 1-2).tar.xz
$ ln -sf ~/src/linux-source-$(uname -r | sed
"s/\([0-9]*\.[0-9]*\)\..*/\1/") ~/src/linux
Ciao Lista,
Sono riuscito a creare il link mettendo :
ln -sf /home/src/linux-source-$(uname -r | sed
"s/\([0-9]*\.[0-9]*\)\..*/\1/") /home/src/linux , questo comando senza
la tilde.
Ed ha funzionato.
$ cd linux
Ora sono nella dir
/home/src/linux e qui la dir :
linux-source-4.19
A questo punto bisogna impostare la configurazione che imposta tutto ciò
che deve essere compilato dentro Linux, come modulo o non compilato.
Ci sono diverse strade:
1) se è la prima volta che si compila, allora si può partire dalla
configurazione di Linux in esecuzione con il seguente comando:
$ cp /boot/config-$(uname -r) .config
Ho eseguito questo comando e non mi ha dato errori:
Ma pero è normale che venga copiato un file nascosto ?
Perché ora in questa dir c'è un link ed un file nascosto .config
Ho provato a rinominarlo in config.
Ma se eseguo :
make config
da sempre errore:
make: Nessuna operazione da eseguire per "config".
2) se si è già compilato precedentemente, allora si può:
2.1) prendere il .config precedente e copiarlo nella directory corrente,
dopo di che è meglio eseguire:
$ make oldconfig
Se eseguo questo mi dà errore:
make: *** Nessuna regola per generare l'obiettivo "oldconfig". Arresto.
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 ...
2.2) copiare il .config come nel punto 1 e impostare le variabili di
configurazione con uno script ed eseguirlo (una lista di comandi
eseguiti con scripts/config)
Questa probabilmente è la scelta migliore perché permette di
partire sempre dalla configurazione del DD e impostare solo le variabili
volute.
es: se si crea tale script "imposta_config.sh" e lo si salva in ~/src
$ ../imposta-config.sh
Per i casi 1 e 2.1 si possono eseguire alcune operazioni manualmente:
Disabilitazione delle informazioni di debug (se servono, allora si può
lasciare abilitato)
$ scripts/config --disable DEBUG_INFO
Qui dice :
-bash: scripts/config: File o directory non esistente
Disabilitazione della firma di Linux (come discritto nel punto 1 qui sotto)
$ scripts/config --set-str SYSTEM_TRUSTED_KEYS ""
ed anche qui:
-bash: scripts/config: File o directory non esistente.
Ora mi fermo, per ora mi sembra inutile andare avanti, senza risolvere i
problemi precedenti.
Dico ancora una cosa.
Ho trovato anche questa immagine, ma non è installata.
linux-image-4.19.0-6-amd64-unsigned.
Forse si può usare questa invece di modificare il parametro
SYSTEM_TRUSTED_KEYS, per non firmare una immagine ?
Ciao
Davide
Grazie
Saluti