[RISOLTO] Aggiornare correttamente un kernel Linux

Questioni legate al Kernel Linux: configurazione, installazione, ottimizzazione, patch

Ricompilare kernel

Messaggioda marco91 » 28/06/2017, 12:47

Scusate se vi faccio confusione e ho capito stasera come farmi capire quando chiedevo come "aggiornare" il kernel ad una successiva versione in modo corretto tramite la guida che condivido in fondo al testo :)
Avendo un pc molto datato, compilare daccapo un kernel mi richiede molto tempo e non capivo come reimpostare i moduli e impostazioni per non ripartire da zero.
Questa guida mi insegna tutti i passaggi per non ricompilare il kernel da zero se volessi passare ad una versione successiva, mantenendo tutti i parametri se il kernel in uso soddisfa le mie richieste:
http://linuxdidattica.org/docs/drd_mr/d ... ode39.html
Da ignorante, quando chiedevo come installare una patch, pensavo di "aggiornare" il kernel alla versione successiva tramite i patch; e questa guida mi ha fatto capire che le patch, in modo facoltativo, servono a compilare un nuovo kernel.

Ecco cosa la confusione che facevo.
Grazie a tutti.
marco91
Jr. Member
Jr. Member
 
Messaggi: 88
Iscritto il: 06/12/2015, 12:02
Località: imola

Re: Ricompilare kernel

Messaggioda Aki » 29/06/2017, 7:29

marco91 ha scritto:Questa guida mi insegna tutti i passaggi per non ricompilare il kernel da zero se volessi passare ad una versione successiva, mantenendo tutti i parametri se il kernel in uso soddisfa le mie richieste:
http://linuxdidattica.org/docs/drd_mr/d ... ode39.html

La documentazione al link che hai inviato in ogni caso ti fornisce istruzioni che determinano la compilazione di tutto il codice sorgente del kernel (cioè ricompilare il kernel da zero) per ogni eventuale diversa versione installata. Ti facilita solo la configurazione del kernel più recente, trasferendola dal precedente al successivo. Quindi, tale documentazione non ti istruisce a fare quello che riferisci nel paragrafo sopra quotato.
Aki
Global Moderator
Global Moderator
 
Messaggi: 7290
Iscritto il: 27/12/2007, 16:59

Re: Aggiornare correttamente un kernel Linux

Messaggioda marco91 » 30/06/2017, 12:06

Pensavo che aggiornare completamente il kernel Vanilla alla versione successiva era obbligatorio aggiornare tutte le patch tramite aggiornamenti.
Ritenevo anche che aggiornare le patch mi installasse anche la versione successiva del kernel e non ero costretto a ricompilare il kernel dall'inizio, o copiare il .config per facilitare l'aggiornamento.
Mi sono confuso nei passaggi che adesso comprendo perchè leggendo la guida, che ti riporto, diceva "aggiornare kernel" (pensavo che aggiornassi tutto il kernel, non solo i pacchetti):
http://guide.debianizzati.org/index.php ... e_la_patch
i passaggi della guida di compilazione del kernel, adesso non mi confondo, sono questi:
Solo cinque semplici passi sono necessari per aggiornare il kernel da uno precedentemente preparato:
- Ottenere il nuovo codice sorgente.
- Applicare le modifiche al vecchio albero sorgente per portarlo al nuovo livello.
- Riconfigurare il kernel basato sulla configurazione precedente.
- Compilare il nuovo kernel.
- Installare il nuovo kernel.

Domanda:
Prima di installare le patch del kernel 4.11.7, devo prima configurare il kernel 4.11.7 e successivamente installare le patch del codice sorgente ?
Dato che ricomprerò il kernel copiando il .config, della versione attuale per aggiornarla alla versione odierna, debbo installare i patch disponibili del kernel 4.11.7 per non riscontrare anomali nel funzionamento dei pacchetti di vesione, nel mio caso, 4.11.3 ?
Aggiornando il kernel vanilla da una versione non subito precedente da cui prendo il ".config", sono obbligato a installare le patch gradualemente di versione, o posso installare la versione patch 4.11.7 ?

ops: la versione del kernel è già 4.11.8.

Grazie.
marco91
Jr. Member
Jr. Member
 
Messaggi: 88
Iscritto il: 06/12/2015, 12:02
Località: imola

Re: Aggiornare correttamente un kernel Linux

Messaggioda Aki » 01/07/2017, 8:37

marco91 ha scritto:Prima di installare le patch del kernel 4.11.7, devo prima configurare il kernel 4.11.7 e successivamente installare le patch del codice sorgente ?

Prima installi la patch, poi effettui la configurazione, quindi compili il kernel (se è la versione che intendi compilare).

marco91 ha scritto:Dato che ricompilerò il kernel copiando il .config, della versione attuale per aggiornarla alla versione odierna, debbo installare i patch disponibili del kernel 4.11.7 per non riscontrare anomali nel funzionamento dei pacchetti di versione, nel mio caso, 4.11.3 ?

Non comprendo quello che hai scritto in grassetto: cosa intendi per "pacchetti di versione" ?

marco91 ha scritto:Aggiornando il kernel vanilla da una versione non subito precedente da cui prendo il ".config", sono obbligato a installare le patch gradualemente di versione, o posso installare la versione patch 4.11.7 ?

La documentazione del "Linux Kernel in a nutshell" è molto chiara in tal senso:
Quale patch applicare a quale versione?

Una patch del kernel aggiornerà il codice sorgente solo da una versione specifica ad un'altra versione specifica. Ecco come differenti patch possono essere applicate:

Le patch stabili (stable) per il kernel si applicano sulla versione base del kernel. Ciò significa che la patch 2.6.17.10 si applicherà solo alla release del kernel 2.6.17. La patch del kernel 2.6.17.10 non si applicherà al kernel 2.6.17.9 o a qualsiasi altra release.
Le patch del kernel di base (base) si applicano solo alle versioni di base del kernel precedenti. Ciò significa che la patch 2.6.18 si applicherà alla versione 2.6.17 del kernel. Non si applicherà all'ultima release 2.6.17.y del kernel, o a qualsiasi altra release.
Le patch incrementali (incremental) aggiornano da una specifica release a quella successiva. Questo permette agli sviluppatori di non dover retrocedere i loro kernel e poi aggiornarli, solo per cambiare dalla più recente release stabile a quella successiva (ricordatevi che le patch della release stabile sono solo per la base del kernel, non la release stabile precedente). Quando possibile, è raccomandabile che usiate le patch incrementali per rendere la vostra vita più semplice.

Se ho ben capito, nella tua domanda fai riferimento alle "patch incrementali".
Aki
Global Moderator
Global Moderator
 
Messaggi: 7290
Iscritto il: 27/12/2007, 16:59

Re: Aggiornare correttamente un kernel Linux

Messaggioda marco91 » 01/07/2017, 12:07

comprensione "pacchetti di versione": faccio riferimento alle patch incrementali :)
ho il kernel 4.11.3 e la patch 4.11.7 è l'ultima versione disponibilie.
Come sempre riporti il contenuto giusto delle mie incomprensioni tecniche :) : le "patch incrementali esattamente che cosa incrementano per le funzionalità del kernel ?
Aggiornando il kernel, la patch 4.11.7 è da considerare "patch incrementale", o "patch del kernel di base" ?
Come distinguo le due patch ?
Se è una patch di base, aggiornerò gradualmente le patch.
l'esempio "Le patch del kernel di base" spiega che si applicano alle versioni precedenti del kernel, quindi è un aggiornamento graduale in cui debbo installare prima tutte le patch dalla 4.11.4

punto di domanda: dato che ho intenzione di usare la configurazione del mio kernel 4.11.3 con .config, installando direttamente la patch 4.11.7, non avrò problemi se non installo gradualmente tutte le patch 4.11.4; 4.11.5 ecc... ?
marco91
Jr. Member
Jr. Member
 
Messaggi: 88
Iscritto il: 06/12/2015, 12:02
Località: imola

Re: Aggiornare correttamente un kernel Linux

Messaggioda Aki » 01/07/2017, 15:29

marco91 ha scritto: le "patch incrementali esattamente che cosa incrementano per le funzionalità del kernel ?

Le patch sono autoesplicative a livello di codice sorgente: se ne leggi il contenuto e sei in grado di comprenderlo, al loro interno sono indicate le funzionalità modificate o aggiunte. Naturalmente, questo richiede una competenza tecnica di alto livello. In ogni caso, trovi i dettagli delle variazioni introdotte con le diverse versioni del kernel all'indirizzo https://kernelnewbies.org/LinuxVersions e https://kernelnewbies.org/LinuxChanges.

marco91 ha scritto:la patch 4.11.7 è da considerare "patch incrementale", o "patch del kernel di base" ? Come distinguo le due patch ?

La patch 4.11.7 è una "base patch": la distingui da una patch incrementale perché la reperisci ad un indirizzo diverso da quello in cui si trovano le patch incrementali.

Le patch incrementali le trovi all'indirizzo https://www.kernel.org/pub/linux/kernel/v4.x/incr/).

Le "base patch" le trovi all'indirizzo https://www.kernel.org/pub/linux/kernel/v4.x/.

Vedi https://www.kernel.org/doc/html/v4.11/process/applying-patches.html

marco91 ha scritto:Se è una patch di base, aggiornerò gradualmente le patch.

La "base patch" si applica alla versione base di una determinata versione del codice sorgente del kernel (distinguibile perché nel nome ha 4.x per la versione 4 del kernel, dove x è chiamato "patchlevel"); se non disponibile la versione base (4.x) del codice sorgente kernel, puoi generarla rimuovendo la "base patch" con identica versione del codice sorgente del kernel ed applicando la patch della versione successiva desiderata (vedi https://www.kernel.org/doc/html/v4.11/process/applying-patches.html#the-4-x-y-kernels); ad esempio:
Codice: Seleziona tutto
script log.txt
# preleva il codice sorgente del kernel
wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.11.2.tar.xz

# preleva il codice della base patch della specifica versione del kernel scaricato
wget https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.11.2.xz

# preleva il codice della base patch per specifica versione del kernel al quale si desidera effettuare l'aggiornamento
wget https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.11.7.xz

# decomprimi tutti i file
unxz linux-4.11.2.tar.xz
unxz patch-4.11.2.xz
unxz patch-4.11.7.xz
tar xf linux-4.11.2.tar

# entra nella directory del codice sorgente del kernel
cd linux-4.11.2/

# verifica la versione del kernel
make kernelversion

# applica in modo inverso la patch, per generare il codice sorgente base del kernel 4.11
patch -p1 -R  < ../patch-4.11.2

# verifica la versione del kernel dopo l'applicazione della patch
make kernelversion

# applica la patch per aggiornare il codice sorgente base del kernel da 4.11 a 4.11.7
patch -p1 < ../patch-4.11.7

# verifica la versione del kernel dopo l'applicazione della patch
make kernelversion

exit

L'output di tutti i comandi sopra indicati saranno registrati nel log.txt che potrai consultare successivamente o inviare al forum se lo desideri per approfondire specifici argomenti.

marco91 ha scritto:dato che ho intenzione di usare la configurazione del mio kernel 4.11.3 con .config, installando direttamente la patch 4.11.7, non avrò problemi se non installo gradualmente tutte le patch 4.11.4; 4.11.5 ecc... ?

Vedi risposta precedente.
Aki
Global Moderator
Global Moderator
 
Messaggi: 7290
Iscritto il: 27/12/2007, 16:59

Re: Aggiornare correttamente un kernel Linux

Messaggioda marco91 » 02/07/2017, 10:15

grazie aki per tutto l'aiuto :)
Mi vorrà molto tempo per studiarmi tutto senza più avere dubbi e acquisire esperienza: lascio la domanda "aperta" per eventuali domande, ma i requisiti elencati sono ottimi come formazione.
In teoria ho già avuto le risposte perfette alla domanda principale.
Se le regole del forum mi permettono di lasciare in sospeso questa domanda per un lasso di tempo non quantificabile, sarebbe di aiuto per eventuali spiegazioni e continuare.
Quando avrò piena dimestichezza, chiuderò la domanda.
marco91
Jr. Member
Jr. Member
 
Messaggi: 88
Iscritto il: 06/12/2015, 12:02
Località: imola

Re: AGGIORNARE CORRETTAMENTE UN KERNEL LINUX

Messaggioda Aki » 06/07/2017, 19:58

marco91 ha scritto:Se le regole del forum mi permettono di lasciare in sospeso questa domanda per un lasso di tempo non quantificabile, sarebbe di aiuto per eventuali spiegazioni e continuare.

Il titolo della discussione, se non erro, diventerà immodificabile entro un mese dalla apertura. Per il resto, non ci sono vincoli particolari, anche se, da come lasci immaginare, questa discussione resterà aperta a tempo indeterminato. :(
Aki
Global Moderator
Global Moderator
 
Messaggi: 7290
Iscritto il: 27/12/2007, 16:59

Re: Aggiornare correttamente un kernel Linux

Messaggioda Aki » 21/07/2017, 16:06

@maco91: hai aggiornamenti ?
Aki
Global Moderator
Global Moderator
 
Messaggi: 7290
Iscritto il: 27/12/2007, 16:59

Re: [CHIUSO] Aggiornare correttamente un kernel Linux

Messaggioda marco91 » 26/07/2017, 13:26

scusatemi se non rispondo, ma col lavoro, problemi vari e ferie non sono riuscito a continuare.
Per correttezza chiudo la domanda e la riapro se avrò domande.
Grazie tante.
marco91
Jr. Member
Jr. Member
 
Messaggi: 88
Iscritto il: 06/12/2015, 12:02
Località: imola

Precedente

Torna a Kernel

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti