Nucleo(Inglese) nocciolo) è ciò su cui è costruito tutto il resto. Questo è ciò che viene chiamato Linux. Al giorno d'oggi, la parola Linux nella vita di tutti i giorni si riferisce a un sistema operativo costruito su di esso, anche se in senso buono si chiama GNU/Linux (il kernel Linux e il software del progetto GNU, in sviluppo da molti decenni).

Ubuntu utilizza un kernel pesantemente patchato, alcuni dei quali aggiungono funzionalità instabili e sperimentali.

Ogni versione di Ubuntu ha la propria versione del kernel. Le versioni LTS a partire dalla 10.04 hanno la possibilità di aggiornare il kernel alle versioni incluse nelle versioni più recenti.

Versione di UbuntuVersione del kernel
4.10 2.6.9
5.04 2.6.11
5.10 2.6.13
6.06 LTS 2.6.15
6.10 2.6.18
7.04 2.6.19
7.10 2.6.20
8.04 LTS 2.6.24
8.10 2.6.27
9.04 2.6.28
9.10 2.6.31
10.04 LTS 2.6.32
10.10 2.6.35
11.04 2.6.38
11.10 3.0.4
12.04 LTS 3.2
12.10 3.5
13.04 3.8
13.10 3.11
14.04 LTS 3.13
14.10 3.16
15.04 3.19

Forchette

La numerazione delle versioni del kernel in Ubuntu e sul sito web kernel.org non corrisponde, poiché gli sviluppatori Canonical aggiungono una microversione per indicare le patch aggiunte. Ad esempio, la versione 3.2.0-23 significherebbe che il kernel è basato sul ramo 3.2, a cui sono state applicate 23 patch.

I seguenti tipi di kernel sono supportati nel repository Ubuntu:

Il kernel generic-pae consente al sistema a 32 bit di utilizzare fino a 64 GB volume totale RAM, allocando non più di 4 GB per le esigenze di un particolare processo, mentre un semplice kernel generico funziona con non più di 4 GB di RAM.

Il kernel a 64 bit consente di indirizzare fino a 1 TB di memoria consumata dai processi.

Se è necessario aggiornare il kernel a una versione principale più recente (di solito ciò è dovuto al fatto che le nuove versioni aggiungono il supporto per il nuovo hardware ed eliminano le regressioni), puoi utilizzare l'archivio ufficialmente supportato http://kernel.ubuntu.com/ ~kernel-ppa/mainline/ .

Compilazione del kernel

Costruire il kernel dal codice sorgente richiede alcune competenze e conoscenze su come funziona il sistema operativo.

Prima di iniziare a compilare il kernel, è necessario installare i seguenti pacchetti:

Build-essential fakeroot ncurses-dev libssl-dev

Tutte le ulteriori azioni devono essere eseguite per conto del superutente:

sudo su

Ottenere il codice sorgente

Il codice sorgente per il kernel utilizzato in Ubuntu può essere ottenuto installando il pacchetto linux-source:

apt-get installa linux-source

Dopo l'installazione nella directory /usr/src apparirà un archivio chiamato linux-source-verify_kernel.tar.bz2.

Puoi anche scaricare l'archivio con il codice sorgente del kernel dal sito web kernel.org.

Quando scarichi il kernel da kernel.org, dovrai applicarvi le patch

Configurazione

Decomprimere l'archivio risultante e, per comodità, creare un collegamento simbolico alla directory risultante:

cd / usr/ src tar xjf ./ linux-source-3.2.0.tar.bz2 ln -s ./ linux-source-3.2.0 ./ linux cd ./ linux

Per semplificare il processo di configurazione del kernel, puoi copiare le impostazioni di quello corrente.

Linuxè il kernel del sistema operativo. Ubuntu- Questo sistema operativo costruito sul kernel Linux. In parole povere, il kernel Linux è il "cervello" dell'intero sistema operativo, che controlla il funzionamento dei dispositivi tra loro.

Perché è necessario aggiornare il kernel in Ubuntu?

Niente resta fermo, tutte le tecnologie avanzano e si sviluppano. Vengono rilasciati nuovi processori, chipset e altri componenti che richiedono il supporto del sistema operativo per funzionare correttamente.

Per gli utenti particolarmente avanzati, il sistema operativo Linux consente di ricostruire il kernel in base alle proprie esigenze dal codice sorgente. In questo caso, puoi ottenere qualche miglioramento in termini di prestazioni eliminando i componenti non necessari, ma si tratta di un processo piuttosto lungo che richiede alcune conoscenze aggiuntive.

Questo articolo suggerisce di aggiornare il kernel di sistema su Ubuntu senza compilare il kernel Linux dal sorgente.

Una piccola teoria

Secondo Wikipedia, il nome del kernel ne contiene abbastanza informazioni importanti, che non mostra solo la sua versione.

Di solito il kernel è designato come segue: 2.6.33.3 , Dove:

  • primo numero 2 - questa è una versione del kernel che cambia molto raramente,
  • secondo numero 6 - questa è la versione precedente della revisione del kernel, dove numeri pari indicare versioni stabili e numeri dispari- versioni del kernel non stabili,
  • terzo numero 33 modifiche se al kernel sono stati aggiunti driver e miglioramenti aggiuntivi,
  • quarto numero 3 - questo numero cambia se sono state apportate correzioni minori, ma richiede un'aggiunta immediata.

Come determinare la versione del kernel installato?

Per vedere la versione del kernel installato, puoi aprire Monitoraggio del sistema oppure digita nella console:

Entrambe le azioni mostreranno la versione del kernel installato.

Aggiornamento del kernel stabile in Ubuntu

Sul sito web ufficiale del kernel Linux è possibile visualizzare la versione corrente del kernel stabile disponibile. Se il kernel disponibile ha una versione superiore, è necessario aggiornare il sistema operativo Ubuntu utilizzando i comandi standard dal repository Canonical ufficiale:

# sudo apt-get update && sudo apt-get upgrade

Le versioni stabili dei kernel sono incluse nel repository ufficiale di Ubuntu con buona regolarità.

Aggiornamento di un kernel instabile in Ubuntu

In alcuni casi è necessario installare una versione del kernel non ancora completamente testata e che si trova nella sezione unstable kernel. L'installazione di un kernel instabile in Ubuntu è necessaria, ad esempio, per il corretto funzionamento di un nuovo dispositivo.

Non esiste un repository completo per la versione instabile del kernel, come esiste per altre applicazioni Ubuntu. Questo viene fatto per ragioni di sicurezza e stabilità della distribuzione Ubuntu.

Per aggiornare un kernel di questo tipo in Ubuntu, devi scaricare 3 pacchetti deb, che si trovano qui: http://kernel.ubuntu.com/~kernel-ppa/mainline, dove puoi selezionare qualsiasi versione disponibile.

I pacchetti devono essere scaricati in base al rango della tua distribuzione (i386 - per 32 bit, amd64 - per 64 bit):

  • linux-headers- ... _i386.deb
  • intestazioni-linux ... _all.deb
  • linux-immagine-..._i386.deb

Successivamente, installa manualmente i pacchetti scaricati e riavvia il computer.

Nota:

Le nostre amate donne si aspettano sempre segni di attenzione da noi. Ad esempio, puoi regalare a una donna un bellissimo ciondolo di design. Il prezzo non è così alto e ci sono molti glitter. I gioielli sono venduti su Internet all'indirizzo grandi quantità Siti Internet. Pertanto, c'è sempre una scelta. Il miglior regaloè un regalo fatto con il cuore.

Puoi anche sorprendere una ragazza regalandole un orgasmo prolungato, di cui puoi leggere sul sito web kamasutra21veka.ru

7 articoli casuali:

Commenti

  1. Sergej Lukonin
    30 aprile, 16:20

    Allora è più semplice aggiornare il kernel tramite Ubuntu-Tweak)

  2. Dmitrij
    14 maggio, 14:39
  3. Mut@NT
    16 maggio, 12:14

    Dmitrij: Il mio kernel è 2.6.32-22-generico e sul sito è 2.6.33.4. Ho eseguito il comando che hai scritto, ho aggiornato qualcosa lì, ma la versione del kernel è rimasta la stessa. Qual è lo scherzo?

    Devi solo scaricare 3 pacchetti e installarli sul sistema.

    In Grub, per impostazione predefinita, l'avvio con il nuovo kernel viene posizionato nella riga superiore, incl. Si avvierà automaticamente con il nuovo kernel.

    PS Forse i pacchetti non sono stati ancora installati?

  4. Dmitrij
    16 maggio, 17:46

    Intendo aggiornare il kernel stabile.
    “Sul sito web ufficiale del kernel Linux è possibile visualizzare la versione corrente del kernel stabile disponibile. Se il kernel disponibile ha una versione successiva, è necessario aggiornare il sistema operativo Ubuntu utilizzando i comandi standard dal repository Canonical ufficiale: # sudo apt-get update && sudo apt-get upgrade”
    L'ho fatto, ma il kernel non è stato aggiornato. È possibile che il kernel stabile, elencato sul sito http://kernel.org/, non sia ancora incluso nel repository Canonical?

  5. Mut@NT
    19 maggio, 06:38

    Dmitrij: Intendo aggiornare il kernel stabile. “Sul sito web ufficiale del kernel Linux è possibile visualizzare la versione corrente del kernel stabile disponibile. Se il kernel disponibile ha una versione successiva, è necessario aggiornare il sistema operativo Ubuntu utilizzando i comandi standard dal repository Canonical ufficiale: # sudo apt-get update && sudo apt-get upgrade” L'ho fatto, ma il kernel non è stato aggiornato. È possibile che il kernel stabile, elencato sul sito http://kernel.org/, non sia ancora incluso nel repository Canonical?

    Vale la pena aspettare, probabilmente lo accenderanno presto. Puoi vedere il link fornito nel post. Lì penso che troverai quello che stai cercando.

    Probabilmente vale la pena aggiungerlo al post.

  6. ainur101
    15 agosto, 22:59

    Una volta aggiornato il kernel secondo questo schema, alcuni driver hanno fallito ((

  7. Mut@NT
    24 agosto, 12:07

    ainur101: Una volta aggiornato il kernel secondo questo schema, alcuni driver hanno fallito

    Nell'ultima versione del kernel tutte le funzioni per il mio netbook sono finalmente state completate. Non sono stati notati problemi. In generale, quando installi le versioni di prova del kernel, dovresti prepararti alle sorprese))

  8. Dmitrij
    14 marzo, 21:51

    Grazie mille per l'articolo. Tutto ha funzionato, il mio 10.04 ora ha un terzo core

  9. dima1978
    6 febbraio, 14:59

    Ma penso che dobbiamo capire come creare un assembly che, una volta installato, compili automaticamente il kernel appositamente per una determinata macchina e non installi un mucchio di moduli non necessari

Il kernel delle distribuzioni Linux è la base del sistema operativo, che è responsabile della compatibilità con i dispositivi ed esegue altre importanti opzioni. Ora gli sviluppatori stanno cercando di rilasciare aggiornamenti del kernel ogni pochi mesi o anche più spesso per introdurre nuove funzioni e supporto per le apparecchiature prodotte. Questo argomento si applica anche a Ubuntu, quindi alcuni proprietari di questa distribuzione si trovano ad affrontare la necessità di installare aggiornamenti. Questa procedura è relativamente difficile da eseguire, poiché ogni azione verrà eseguita attraverso "Terminale". Successivamente, vogliamo dimostrare due modi per affrontare questo compito.

Si chiama il sito Web ufficiale, che contiene informazioni su ogni aggiornamento del kernel. È lì che puoi visualizzare assolutamente tutti gli aggiornamenti e le modifiche apportate alla versione che ti interessa. Per quanto riguarda il processo di aggiornamento stesso, avviene manualmente o automaticamente. Ognuna di queste opzioni ha le sue difficoltà e caratteristiche, quindi proponiamo di studiarle in dettaglio una per una per decidere infine quella ottimale. Tuttavia, prima scopriamo come scoprire la versione corrente del kernel.

Determinazione della versione corrente del kernel in Ubuntu

La determinazione della versione corrente del kernel in Ubuntu avviene tramite lo standard "Terminale" inserendo un solo comando. Non hai nemmeno bisogno dei diritti di superutente per farlo e l'intero processo richiederà solo pochi secondi.


Ora sai quale kernel viene utilizzato nella tua build e puoi capire se vale la pena aggiornare adesso e con quale tipo iniziare. In futuro, dopo aver completato l'installazione degli aggiornamenti, consigliamo di utilizzare questo comando per determinare se i file sono stati installati correttamente.

Metodo 1: modalità di aggiornamento manuale

La modalità di aggiornamento manuale del kernel in Ubuntu richiederà un po' più tempo di quella automatica, ma allo stesso tempo otterrai variabilità nella scelta delle versioni e potrai anche scaricarle in anticipo da un altro computer, ad esempio su un'unità flash se non è presente alcuna connessione di rete sul PC principale. Tutto quello che devi fare è prima selezionare l'assembly appropriato e utilizzare i comandi forniti per installarlo.

  1. Apri il browser e vai al link qui sopra. Qui è possibile selezionare la prima directory richiamata "quotidiano". Contiene le ultime versioni del kernel, aggiornate ogni giorno. Altrimenti, scorri fino alla fine dell'elenco per trovare l'ultima build corrispondente.
  2. Apri la directory della versione per ottenere i pacchetti DEB.
  3. Scaricamento "intestazioni Linux" E "immagine Linux" architetture adatte e versioni identiche in una posizione conveniente. Per fare ciò, basta fare clic sui collegamenti blu.
  4. Quando viene visualizzata una notifica sull'elaborazione del file, seleziona la casella di controllo "Salva file".
  5. Passare alla posizione dei pacchetti scaricati e fare clic con il pulsante destro del mouse su uno di essi.
  6. Nel menu contestuale che appare, sei interessato all'elemento "Proprietà".
  7. Si prega di notare la nota a piè di pagina "Cartella principale". Copia questo percorso se trovi difficile inserirlo tu stesso nella console quando necessario.
  8. Ora inizia una nuova sessione in "Terminale", da dove navigare verso la cartella di destinazione definita in precedenza inserendo cd + percorso.
  9. Se lo spostamento ha avuto successo, nella nuova riga di input verrà visualizzata anche la directory corrente, dalla quale verranno eseguiti i comandi successivi.
  10. Utilizzare il comando dpkg -i *.deb per avviare l'installazione.
  11. Se ti viene notificato che un'operazione richiede privilegi di superutente, aggiungi sudo prima della riga principale.
  12. Per confermare i diritti di superutente, dovrai inserire una password. Tieni presente che durante la scrittura i caratteri non vengono visualizzati, ma vengono immessi. Una volta inserita la password, clicca su Entra per conferma.
  13. Gli archivi esistenti inizieranno a essere decompressi. Ci vorrà un certo periodo di tempo. Non interrompere la sessione del terminale né eseguire altre azioni durante questa operazione.
  14. Ti verrà notificato che l'operazione è stata completata correttamente oppure sullo schermo potrebbe apparire un errore che indica una violazione della dipendenza. Se ciò non accade, presta attenzione solo alle ultime azioni seguendo le istruzioni e se l'installazione viene interrotta, saranno necessarie ulteriori manipolazioni.

I problemi con l'installazione del kernel tramite un gestore di pacchetti standard sono una situazione comune. Nella maggior parte dei casi, questo problema può essere risolto utilizzando un programma di installazione di terze parti. Innanzitutto, dovresti aggiungerlo e quindi utilizzare le funzioni integrate.

  1. Puoi utilizzare la stessa sessione "Terminale" o crearne uno nuovo. Inserisci il comando sudo apt-get install gdebi e fai clic su Entra.
  2. Per confermare i diritti di accesso, dovrai inserire la password del superutente.
  3. Quando viene visualizzata una notifica che indica che lo spazio su disco è in aumento, seleziona l'opzione D.
  4. Successivamente tornare al percorso in cui sono stati posizionati i pacchetti DEB, ad esempio tramite il comando cd ~/Downloads.
  5. Utilizzare la riga sudo gdebi linux-headers*.deb linux-image-*.deb .
  6. Attendi che i file finiscano di leggere e decomprimere.
  7. Confermare l'operazione di installazione del pacchetto.
  8. Per applicare tutte le modifiche, dovrai aggiornare il bootloader digitando sudo update-grub .
  9. Ti verrà notificato che l'aggiornamento è andato a buon fine.

Immediatamente dopo aver riavviato il computer, tutte le modifiche avranno effetto. Ora utilizzerai il sistema operativo sul nuovo kernel. Se per qualche motivo il bootloader si rompe improvvisamente, fare riferimento alla sezione alla fine di questo materiale. Lì parleremo in dettaglio delle cause dei problemi e descriveremo il metodo di soluzione.

Metodo 2: aggiornamento automatico del kernel

Questo metodo adatto a quelli utenti che desiderano ricevere aggiornamenti regolarmente, utilizzando lo stesso strumento che installa l'ultima versione del kernel sul proprio PC. Questa operazione viene eseguita utilizzando uno script. Diamo un'occhiata a come crearlo e installare gli aggiornamenti per il kernel di Ubuntu.

  1. Innanzitutto, vai alla cartella in cui verrà installato lo script. Avvia la console e inserisci il comando cd /tmp.
  2. Utilizza il comando git clone git://github.com/GM-Script-Writer-62850/Ubuntu-Mainline-Kernel-Updater.
  3. Se ricevi una notifica che manca una squadra buono, seguire le raccomandazioni di installazione fornite.
  4. Dopodiché, non resta che scrivere lo script usando bash Ubuntu-Mainline-Kernel-Updater/install .
  5. Conferma l'aggiunta di file selezionando opzione positiva risposta.
  6. Il controllo degli aggiornamenti viene avviato tramite KernelUpdateChecker -r yakkety . Si prega di notare che il thread -R utilizzato per determinare la versione di distribuzione. Specifica l'opzione in base alle tue esigenze.
  7. Se vengono trovati aggiornamenti del kernel, installarli tramite sudo /tmp/kernel-update .
  8. Al termine, assicurati di controllare il kernel attivo corrente tramite uname -R e aggiornare GRUB.

Ora, ogni volta che devi cercare aggiornamenti del kernel, puoi utilizzare il comando precedente per eseguire l'attività automaticamente. Tutto quello che devi fare è confermare tutti gli avvisi relativi all'espansione dello spazio su disco occupato. Se lo script non è più necessario, si consiglia di rimuoverlo dal sistema utilizzando i seguenti comandi:

rm ~/.config/autostart/KernelUpdate.desktop
sudo rm /usr/local/bin/KernelUpdate(Checker,ScriptGenerator)

Risoluzione dei problemi con il bootloader GRUB dopo un aggiornamento del kernel

A volte durante l'installazione degli aggiornamenti del kernel si verificano errori oppure l'utente stesso ha completato l'installazione dei file nel momento sbagliato. In tali situazioni, si verifica un problema in cui il sistema operativo interrompe semplicemente il caricamento. Questo vale anche per i possessori di driver proprietari di NVIDIA. C'è solo una soluzione: avviare dal vecchio kernel e rimuovere quello nuovo, seguito dalla reinstallazione o dalla scelta di una versione più stabile.

  1. Accendere il computer e premere immediatamente il tasto Esc per andare al menu di download. Utilizzare le frecce per spostarsi su un elemento "Opzioni avanzate per Ubuntu" e quindi fare clic su Entra.
  2. Trova il tuo vecchio kernel funzionante qui e selezionalo per scaricarlo.
  3. Accedi al tuo account e, dopo aver abilitato con successo la shell grafica, avvia la console.
  4. Digita sudo apt rimuovi linux-header-5.2* linux-image-5.2* dove 5.2 — versione del kernel precedentemente installato.
  5. Fornire una password per concedere i diritti di superutente.
  6. Al termine della disinstallazione, aggiornare il bootloader tramite sudo update-grub .
  7. Ti verrà notificato che la generazione del file è avvenuta con successo e ora eseguirai nuovamente l'avvio dal vecchio kernel.

Come parte del materiale di oggi, hai appreso due metodi per aggiornare il kernel in Ubuntu. Come puoi vedere, per implementare ognuno di essi dovrai eseguire una serie di comandi della console, ma la scelta dell'opzione stessa dipende dalle tue esigenze. Utilizza le istruzioni fornite alla fine dell'articolo per risolvere rapidamente eventuali problemi con l'avvio del PC dopo l'installazione. nuova versione noccioli.

Le informazioni disponibili sull'assemblaggio del kernel variano notevolmente, quindi descriveremo l'assemblaggio del kernel specificamente per Ubuntu. Ci proveremo. in modo che non ci siano errori nei comandi scritti in questo articolo. Nel descrivere il processo di compilazione non ci fermeremo solo all'ottenimento del kernel. Ottenere un kernel funzionante non è sufficiente. Per i possessori di schede nVidia, ecco una descrizione di come ottenere un sistema con grafica funzionante sul nuovo core. Inoltre, la grafica funzionerà sia nel vecchio kernel che in quello nuovo.

1. Installazione dei sorgenti del kernel

Per prima cosa avremo bisogno dei sorgenti del kernel. Per Ubuntu 7.04 sono già nel repository, devi trovare il pacchetto linux-source-waste(nel nostro caso lo sarà linux-source-2.6.20) e installarlo (tutto questo può essere fatto tramite Sinaptico). Dopo aver installato questo patto, nella directory /usr/src apparirà un file con il nome linux-source-2-6-20.tar.bz2.

Lo facciamo sotto sudo squadra

chmod 777 /usr/src

Entriamo nella directory come un normale utente /usr/src e scompattare questo file

tar -jxvf linux-source-2-6-20.tar.bz2

Apparirà una directory con le fonti /usr/src/linux-source-2-6-20. Eliminiamo il file di archivio (avrai bisogno dei diritti di root).

2. Installazione dei pacchetti allegati

Avrai bisogno di più pacchetti per l'assemblaggio. pacchetto-kernel, libncurses5-dev, fakeroot. Li installiamo tramite Sinaptico. Naturalmente sul sistema deve essere installato anche un compilatore gcc E dev- pacchetti per librerie di sistema, come libc6-dev.

3. Creare un file di configurazione del kernel

Ora abbiamo bisogno della configurazione del kernel con cui è stato creato il kernel per Ubuntu. Vai al catalogo /stivale, e lì vediamo un file come config-2.6.20-15-generico. Questo è ciò di cui abbiamo bisogno. Copialo nella directory di origine /usr/src/linux-source-2-6-20 e rinominarlo in .config. Tieni presente che il nome del file inizia con un punto, non si tratta di un errore di battitura.

Ora, essendo nella directory /usr/src/linux-source-2-6-20, impartisci il comando come utente normale

Questo avvierà l'interfaccia testuale di configurazione del kernel. È inoltre possibile eseguire l'installazione in modalità grafica

In entrambi i casi si aprirà un'interfaccia con caselle di controllo, attraverso la quale configuriamo il kernel. Sembra che per impostazione predefinita il file sia aperto .config, che attualmente contiene la configurazione standard del kernel di Ubuntu.

Cosa vuoi configurare: pensa tu stesso su Internet c'è molta documentazione in lingua russa su questo problema. Lo scopo di questo articolo è solo quello di descrivere le azioni effettive eseguite durante la compilazione del kernel di Ubuntu.

Al termine della configurazione selezionare la voce “Salva configurazione rifiuti”, specificare il nome del file diverso da .config, Per esempio .config_my_01. Usciamo.

Ora rinominiamo .config V .config_ubuntu. E ottieni due file - .config_ubuntu E .config_my_01. Puoi vedere le differenze tra lo standard e la tua configurazione, ad esempio in questo modo

diff.config.config_my_01

Ora copiamo la tua configurazione .config_my_01 sotto il nome .config. Quelli. otterrai 3 file di configurazione. Durante la compilazione verrà utilizzato il file .config. File .config_ubuntu E .config_my_01 ci aiuteranno in futuro per una nuova compilation. Questo nel caso in cui il nuovo kernel risulti non operativo o difettoso.

4. Compilazione

Prima della compilazione assicuratevi di verificare la disponibilità di spazio libero (sulla partizione dove si trovano i sorgenti). Sarebbe bello segnarlo 4-5Gb(!) in magazzino. Durante la compilazione, la dimensione della directory di origine può aumentare 3,5 GB. Puoi controllare lo spazio libero con il comando

Ora, essendo sotto un utente normale nella directory /usr/src/linux-source-2-6-20, diamo un comando che cancellerà gli oggetti compilati da qualcuno nel codice sorgente, che erano rimasti dalla compilazione precedente ed erano nell'archivio.

Quindi, tramite sudo, otteniamo i diritti di root e iniziamo la compilazione.

make-kpkg --initrd --revision=mybuild.1.0 immagine_kernel kernel_headers

Dove invece di " miacostruzione.1.0"scrivi quello che ti serve. Accettabile lettere inglesi, numeri, punti. Non sono ammessi caratteri di sottolineatura e trattini.

In realtà, in modo amichevole, la compilazione del kernel dovrebbe essere effettuata sotto i diritti di un utente normale. Formalmente, creare un binario del kernel non è diverso dalla compilazione di un binario per qualsiasi altro programma. Ma non compiliamo modalità manuale(tramite comandi come creare moduli bzImage), che in semiautomatico (via make-kpkg). E questo programma, dopo la compilazione, avvierà il programma da sotto stesso dpkg-deb ottenere deb-pacchetto kernel. È in questo momento che avrai bisogno dei diritti di root.

Ora vediamo cosa fa il comando precedente. Inizia a compilare il kernel, quindi crea deb-pacchetto con nome linux-immagine-versione.deb, che conterrà il binario del kernel e i moduli del kernel (questo verrà fatto grazie al file goal immagine_kernel). E sarà anche creato deb-pacchetto con nome linux-headers-versione.deb, conterrà i file header del kernel (questo verrà fatto grazie al file goal kernel_headers). I pacchetti ricevuti verranno posizionati nella directory /usr/src.

Guarda quali file ci sono in questi deb-pacchetti, possibili in conquistatore(in Kubuntu) facendo clic con il tasto destro su quello che ti interessa deb-file e selezionando " Menù del pacchetto Kubuntu" -> "Mostra informazioni sul pacchetto"Le informazioni verranno generate abbastanza lentamente, circa un minuto, poiché i pacchetti sono grandi.

5. Installazione del kernel

Adesso installiamo il kernel. Essere con diritti di superutente nella directory /usr/src, dai il comando

dpkg -i linux-immagine-versione.deb

dopodiché il kernel (file vmlinuz-2.6.20.3-ubuntu1) verrà inserito nella directory /stivale(anche tutti i kernel precedenti non andranno da nessuna parte, rimarranno al loro posto) e nel catalogo /lib/moduli, accanto alla directory con i normali moduli del kernel (in Ubuntu 7.04 chiamato /lib/modules/2.6.20-15-generic) apparirà una directory con i moduli del tuo nuovo kernel (nel nostro caso sarà /lib/modules/2.6.20.3-ubuntu1). Il nuovo kernel verrà automaticamente registrato in /boot/grub/menu.lst.

In linea di principio, puoi già riavviare e nella schermata di caricamento Grub apparirà un nuovo oggetto con il tuo nucleo. Il nuovo kernel apparirà all'inizio dell'elenco. Ma non abbiamo ancora fretta, daremo un altro comando

dpkg -i linux-headers-versione.deb

che installerà le intestazioni del kernel nella directory /usr/src/linux-headers-versione, nel nostro caso questa sarà una directory /usr/src/linux-headers-2.6.20.3-ubuntu1. Avremo bisogno di queste intestazioni, ad esempio, per ricompilare i driver nVidia per il nuovo kernel.

6. Riavvia

Riavvia e nel menu Grub vedrai due nuovi elementi: avvio normale con il kernel e avvio in modalità console minima. Scegli il primo elemento. Se il nucleo non cadesse immediatamente Panico nel kernel, allora questo è un buon segno. Attendi il completamento del download. Se sei fortunato, Ubuntu si avvierà in modalità grafica e mostrerà un prompt di accesso grafico. In questo caso potresti non leggere oltre.

Ma per gli utenti della carta nVidia che hanno utilizzato i driver installati tramite "Proprietary Driver Manager" o hanno utilizzato i driver di un pacchetto nvidia-glx(o lì nvidia-glx-nuovo), ti garantisco al 99% che non sarai fortunato! E non vedrai la grafica sotto il nuovo core!

7. Installazione dei driver nVidia da nvidia.com

Per far funzionare Xs con un nuovo kernel, la prima cosa che mi viene in mente è installare i driver da nvidia.com con il nuovo kernel. E questa è la decisione sbagliata! Non appena verranno installati i driver per il nuovo kernel, la grafica nel tuo vecchio kernel collaudato smetterà di funzionare (poiché i file dei driver nVidia sono strettamente legati alla versione e al nome del kernel). E poiché non hai ancora testato a fondo la funzionalità del nuovo kernel, puoi ottenere un sistema "con un kernel nativo, ma senza grafica" e "un kernel difettoso, ma con grafica". Non credo che nessuno sarà contento di questa situazione.

Nel popolare articolo "Fisica nucleare per casalinghe" ci sono consigli su come ottenere la grafica su entrambi i core. Si suggerisce il seguente percorso: tenere pronto il pacchetto di installazione del driver da nvidia.com e, se si desidera eseguire l'avvio con un kernel specifico, è necessario prima avviare nella modalità console di questo kernel, installare il driver e quindi eseguire l'avvio normalmente. Penso che questo approccio piacerà anche a poche persone.

Faremo in modo che la grafica funzioni sia nel vecchio kernel che nel nuovo kernel, e per questo non sarà necessario eseguire ogni volta l'installazione (compilazione) di legna da ardere. Per fare ciò, dovremo soddisfare solo una condizione: che i driver grafici sotto core diversi abbiano la stessa versione.

Breve piano d'azione- installare la legna da ardere dal sito nvidia.com per il kernel standard in per intero. Assicuriamoci che funzionino. Quindi dallo stesso pacchetto installiamo la legna da ardere per il kernel fatto in casa, ma in modalità “solo modulo grafico”.

8. Installazione dei driver nVidia per un kernel normale

Tutto ciò che è scritto di seguito è adatto anche a coloro che hanno semplicemente deciso di installare nuovi driver nVidia sotto il kernel standard!

Scarica dal sito nvidia.com legna da ardere per Linux. Ho scaricato io stesso la versione con legna da ardere 96.43 . Il file viene chiamato NVIDIA-Linux-x86-96.43.01-pkg1.run. Ma puoi provare altre versioni stabili presenti sul sito nVidia.

Per installare, creare nella directory /usr/src sottodirectory denominata nvidia, copia questo file lì. Mentre ci troviamo in questa sottodirectory, diamo al file il permesso di esecuzione

chmod 777 NVIDIA-Linux-x86-96.43.01-pkg1.run

Questo è tutto, qui finisce per il momento il lavoro sull'interfaccia grafica. Prima di uscire dalla modalità grafico, esegui Sinaptico e assicurati di averlo

  • attitudine Questo è un wrapper front-end per il gestore pacchetti per la modalità testo.
  • linux-headers-2.6.20-15. Questi sono i file header del tuo kernel standard.
  • linux-headers-2.6.20-15-generico. Non dirò esattamente a cosa diavolo serve questo pacchetto, ma così sia.

Un buon consiglio è di stampare il testo di questo articolo su un pezzo di carta o di salvarlo in un file di testo che può essere visualizzato in modalità testo.

Riavviamo nella modalità console di un kernel normale (in Grub c'è un punto del genere). IN Ubuntu riceverai automaticamente i diritti di root, non avrai nemmeno bisogno di inserire una password. Ora dobbiamo rimuovere la legna da ardere nVidia, che sono nel sistema. Se hai installato i driver tramite "Proprietary Driver Manager" (o installando il pacchetto nvidia-glx O nvidia-glx-nuovo), quindi il pacchetto nvidia-glx/nvidia-glx-nuovo deve essere rimosso dal sistema e non solo disinstallato, ma disinstallato in modalità spurgo.

Sono un utente piuttosto stupido e invece di capire le opzioni dpkg, utilizzo il programma nella console attitudine. Digita il comando

e ti ritroverai in un guscio che gli somiglia vagamente Sinaptico. Ci sarà un suggerimento chiave in alto. Per accedere al menu, premere CTRL+T(scomodo, ma cosa fare). Nel menu
frecce e chiavi Entra trovare e selezionare la voce " Trovare". Scriviamo la stringa di ricerca - nvidia-glx. La luce cadrà sulla confezione desiderata. Richiama nuovamente il menu e trova la voce " Eliminazione". Fare clic su di esso e il pacchetto su cui si trova l'evidenziazione verrà contrassegnato per disinstallare completamente tutti i suoi file dal sistema (il pacchetto stesso rimarrà nella cache, potrà essere reinstallato se necessario). Verrà visualizzato un suggerimento metter il fondo a - " e - Esamina, ! - rimuovere". Fare clic su " e" - e vediamo quali pacchetti verranno eliminati. Se da nvidia-glx dipenderà dai pacchetti, verranno anche disinstallati. Di solito questo è un pacchetto nvidia-glx-dev. Va bene che anche quello verrà eliminato.

Ora premi " ! " (per particolarmente dotato - Maiusc+1), accettiamo quindi le nostre modifiche. Quindi fare clic su " Q" (esci). All'uscita, il programma rimuoverà i pacchetti che abbiamo contrassegnato.

Ora è il momento. Adesso siamo al livello inizia 1(solo console, molti servizi non sono in esecuzione). Se esegui l'installazione del driver nVidia, allora giurerà che forse il tuo servizio non è attivo devfs, che di solito corre a livello 3 . Pertanto diamo il comando

telinit 3

e il sistema caricherà i servizi necessari e allo stesso tempo uscirà dalla modalità utente singolo (appariranno diverse console che possono essere cambiate con i tasti ALT+F1...ALT+F6). Per ulteriori lavori abbiamo solo bisogno di due console. A proposito, il sistema proverà a caricare la grafica, ma non ci riuscirà, perché... Abbiamo appena rimosso il driver. E lei resterà dentro 7 console con uno schermo vuoto. Niente panico, andiamo avanti ALT+F1, vediamo la prima console, lì inseriamo login e password come nel login grafico (solo dopo login e password premiamo Entra e non TAB).

Una volta effettuato l'accesso, chiama mc come superutente

Vai al catalogo /usr/src/nvidia

./NVIDIA-Linux-x86-96.43.01-pkg1.run -e

Opzione " -e" ci consentirà di vedere un rapporto sulle azioni e vedere i file in conflitto. Iniziamo l'installazione. Accettiamo la licenza. Ci rifiutiamo di scaricare il codice sorgente da ftp nvidia. Parliamo OK quei moduli saranno creati da noi. Per inserire i percorsi è sufficiente fare clic Entra.

Infine, prima dell'installazione vera e propria, verrà mostrato l'elenco dei file che verranno installati. E all'inizio di questo elenco (se trovato) appariranno file in conflitto. Verrà scritto" File di backup..." - ecco cosa sono. Nel mio caso si trattava di file

/usr/lib/xorg/modules/extensions/libGLcore.so
/usr/lib/xorg/modules/extensions/libglx.so
/usr/lib/libGL.so
/usr/lib/libGL.so.1
/usr/lib/libGL.so.1.2
/lib/modules/2.6.20-15-generic/volatile/nvidia.ko
/usr/include/GL/glext.h
/usr/include/GL/gl.h
/usr/include/GL/glxext.h
/usr/include/GL/glx.h

Questi sono i file del pacchetto moduli-limitati-nvidia. Il fatto è che se elimini semplicemente questo pacchetto, insieme a questi file tutti i file per nVidia-chipset ( nVidia Dopotutto, non produce solo schede video). Sarà inoltre necessario rimuovere i pacchetti dipendenti linux-restricted-modules-2.6.20-15-generic, linux-restricted-modules-generic E generico per Linux. Pertanto, non è consigliabile rimuovere questo pacchetto. Pertanto faremo le cose diversamente.

Non appena vedi tale elenco, accedi alla seconda console (vai a - ALT+F2), correre

e trasferisci metodicamente questi file in conflitto da qualche parte in una directory separata nella tua home directory, controllando l'elenco nella prima console. Perché trasferire e non eliminare? Il fatto è che i nomi dei file in Linux sono "illeggibili" e puoi facilmente commettere un errore ed eliminare il file sbagliato.

Dopo aver eliminato tutti i file destinati Backup, torna alla prima console. Interrompere l'installazione ( Ctrl+c) ed eseguirlo di nuovo. Se " File di backup..." non esisterà più, quindi completa l'installazione. Tutto dovrebbe andare liscio. Puoi essere d'accordo con la correzione xorg.conf, il file di backup verrà comunque creato.

Ora attenzione! La cosa più importante è non sovraccaricarsi in questo momento! E vai al fascicolo /etc/default/linux-restricted-modules-common e aggiungi all'opzione DISABILIT_MODULI moduli nv E nvidia_new. L'ho fatto così

DISABLED_MODULES="nv nvidia_new"

Se non lo fai, la prossima volta che caricherai il file (che hai eliminato!) /lib/modules/2.6.20-15-generic/volatile/nvidia.ko sarà automaticamente restaurato dal pacchetto moduli-limitati-nvidia. E viene chiamato il file che hai compilato durante l'installazione dei driver /lib/modules/2.6.20-15-generic/kernel/drivers/video/nvidia.ko. Quindi, quando avvii X, verrà trovato il primo file. Ma non raggiungerà il tuo file. E gli X non saranno in grado di avviarsi.

Riavviamo nel kernel standard in modalità completa. Se tutto è stato fatto correttamente, verranno avviate le X. Rallegrati, almeno hai ancora un sistema funzionante.

9. Installazione dei driver nVidia per un kernel fatto in casa

Adesso sono rimasto ultimo passo- far funzionare la grafica nel nuovo kernel. Tutto è abbastanza semplice qui. Avviamo la modalità console del kernel fatto in casa. Diamo il comando

accedi ed esegui nella prima console

Vai al catalogo /usr/src/nvidia e inizia a installare la legna da ardere con la squadra

./NVIDIA-Linux-x86-96.43.01-pkg1.run -Ke

Opzioni " -Ke"permette di assemblare solo il modulo grafico nvidia.ko sotto il kernel corrente (e il file verrà inserito nella directory /lib/modules/current_kernel_name/kernel/drivers). Nessun altro file condiviso che potrebbe, ad esempio, trovarsi in /usr/lib... come quando si compila con l'opzione "-e", non verrà creato.

Esattamente come quando si compila in un kernel standard, accettiamo i percorsi facendo clic Entra. Raggiungiamo la schermata in cui verranno elencati i file che verranno installati. Se sono presenti file in conflitto all'inizio di questo elenco " File di backup...", passa alla console successiva ed elimina (trasferisci) questi file.

Dopo aver rimosso i file in conflitto, nella prima console, interrompere l'installazione ( Ctrl+c) ed eseguilo di nuovo (con l'opzione " -Ke"naturalmente). Una volta completata l'installazione, riavviare selezionando dal menu Grub in modalità completa con il kernel.

X dovrebbe iniziare. Puoi rallegrarti una seconda volta: hai un sistema con un kernel fatto in casa e una grafica funzionante.

In qualsiasi momento è possibile eseguire l'avvio con il kernel desiderato e la grafica dovrebbe funzionare ovunque. Questo è tutto.

A volte potrebbe essere necessario costruirne uno tuo kernel Linux. Le ragioni di ciò possono essere le seguenti:

  • hai bisogno di un kernel pulito, senza patch di distribuzione;
  • vuoi applicare le tue patch (ce ne sono molte);
  • vuoi assemblare un kernel per adattarlo alla tua configurazione hardware, eliminare da esso le cose non necessarie e/o adattarlo per compiti specifici;
  • vuoi includere nel kernel un driver sperimentale o un file system che non è incluso "vaniglia" nocciolo (ad es ZFS O Alzatore 4);
Non c'è nulla di complicato nell'assemblare il kernel. È importante solo capire perché ciò viene fatto e anche non toccare quei parametri che non capisci. In questa nota descriverò due esempi di compilazione di un kernel in Basato su Debian distribuzioni. Nel primo esempio mostrerò quanto sia semplice assemblare un kernel puro, cosiddetto “vanilla” (come viene rilasciato da Linus Torvalds), e nel secondo - come applicare le proprie patch e ottimizzare il kernel. Scriverò subito due avvertimenti:
  • dovrai ricostruire il kernel ogni volta che viene aggiornato (scarica la “patch di aggiornamento”, applicala e assembla il kernel);
  • il kernel ricostruito potrebbe non funzionare se il tuo sistema utilizza alcuni hack per garantire la funzionalità di questa o quella apparecchiatura;
  • Se il kernel è configurato in modo errato, soprattutto nel caso di un'applicazione analfabeta o sconsiderata delle patch, si può ritrovarsi con un sistema terribilmente lento o perderlo del tutto.
ESEGUITE TUTTE LE AZIONI A PROPRIO RISCHIO!

Semplice assemblaggio del kernel senza patch.

Il codice sorgente del kernel Linux è disponibile su kernel.org. Ci sono anche "patch di aggiornamento". Di cosa abbiamo bisogno? Scarica dal sito tarball(archivio) con l'ultima versione stabile del kernel (al momento in cui scrivo, questa è la versione 4.3 ). Scarica con chiunque in modo conveniente. Successivamente abbiamo bisogno degli strumenti per l'assemblaggio:

sudo apt installa la patch del pacchetto kernel gcc build-essential
sudo apt-get build-dep linux

Dopo che tutto è stato installato strumenti necessari, decomprimere l'archivio con il codice del kernel in qualsiasi directory conveniente. Lascia fare /home/utente/KERNEL, Dove "utente"- nome utente del sistema. Successivamente, apri un terminale e vai lì:

cd /home/utente/KERNEL

Non resta che assemblare il kernel:

fakeroot make-kpkg -j 3 --initrd --append-to-version=-custom kernel_image kernel_headers #-j 3

Numero 3 dopo J- questo è il numero di core del tuo processore + 1. Cioè, per un processore dual-core è 3, per un processore a 4 core è 5 e così via.
-costume- qui puoi specificare un nome conveniente per il kernel per renderlo più facile distinguerlo da quello della distribuzione.
immagine_kernel E kernel_headers- questo è rispettivamente il kernel stesso e i suoi file header. Intestazioni necessario per assemblare driver e moduli del kernel, nonché per altri scopi. Dopo aver eseguito questo comando, inizieranno ad apparire diverse domande sulla configurazione del kernel. Dato che lasceremo tutto come predefinito, premi semplicemente Invio fino all'avvio della compilazione. A seconda della potenza del tuo computer, l'assemblaggio potrebbe richiedere da 15-20 minuti a diverse ore. Dopo l'assemblaggio, nella directory /casa/utente ne appariranno due pacchetto deb: nucleo e intestazioni. Installali con il comando:

sudo dpkg -i linux-image-4.3*deb linux-headers-4.3*deb
sudo update-grub

E riavviare. Nel menu di GRUB ora puoi selezionare un kernel diverso per avviare il sistema.

Compilazione del kernel utilizzando patch e configurazione aggiuntiva.

Questa volta assembleremo un kernel ottimizzato per lavorare con audio e video, nonché per una maggiore reattività del sistema. Per fare ciò, applicheremo due patch: la cosiddetta patch in tempo reale ( RT PRELIMINARE) e una patch per il compilatore CCG per aggiungere ulteriori opzioni per l'ottimizzazione del processore. Prima di tutto, cos'è una patch? Una patch è un file di testo creato dal programma diff, contenente modifiche al codice in alcune parti che, quando si applica la patch, vengono inserite nei posti giusti. Perché cerotto RT esce con grande ritardo, la sua ultima versione è per kernel 4.1. Tuttavia, questo non è così importante. Usando lo stesso schema, scarica il kernel 4.1 da kernel.org e decomprimilo in una directory /home/utente/KERNEL-CUSTOM. Ora scarica le patch. PREEMPT_RT e patch GCC. Dagli archivi scaricati abbiamo bisogno dei file con estensione .patch, che devono essere inseriti nella directory con il codice sorgente del kernel. Cioè, dentro /home/utente/KERNEL-CUSTOM. Prima di applicare le patch, è necessario assicurarsi che non siano presenti errori. Apri il terminale:

cd /home/utente/KERNEL-CUSTOM
patch -p1 -i patch-4.1.13-rt15.patch --esecuzione a secco


Opzione --prova a secco permette di simulare l'applicazione di una patch, senza apportare modifiche ai file. Se non vengono rilevati errori (vedi screenshot), accetta la patch senza l'opzione --prova a secco. Esegui azioni simili con la seconda patch. Non applicare più di un cerotto alla volta! Ora dobbiamo configurare il nostro kernel. Abbiamo le seguenti opzioni tra cui scegliere:

crea config- le domande sulla configurazione dell'uno o dell'altro sottosistema del kernel verranno visualizzate nel terminale una per una. Un processo estremamente lungo e noioso. Dimentichiamolo :)
crea oldconfig- Verrà utilizzata la configurazione del kernel attualmente in esecuzione. Poiché assembliamo il nostro da zero, anche questo metodo è inutile.
crea defconfig- simile al precedente, solo i valori saranno di default. Il modo in cui lo hanno impostato gli sviluppatori del kernel. Simile al primo metodo di assemblaggio.
crea menuconfig- Interfaccia pseudo-grafica basata sulla libreria Ncurses. Sullo schermo verrà visualizzata un'interfaccia con un comodo menu gerarchico. Controlli utilizzando i tasti direzionali, la barra spaziatrice e il tasto TAB. È consigliato se si sta compilando il kernel su un sistema che non dispone di una shell grafica.
crea gconfig GTK, consigliato in GNOME, Mate, Xfce, Cinnamon, Unity e altri che utilizzano GTK.
crea xconfig- Basato sulla GUI Qt. Consigliato in KDE. Poiché il mio sistema utilizza KDE, utilizzerò questo metodo. Oltre a questo, ci sono un paio di altri metodi, ma la loro applicazione non è diversa. Quindi, dopo aver applicato le patch, lanciamo crea xconfig e questo è ciò che ci appare davanti:


Prima di tutto spegni dinticks. Per fare questo andiamo a Sottosistema timer e scegli Ticchettii periodici del timer


Ora arriva la parte migliore. Andiamo a Tipologia e caratteristiche dei processori, alla ricerca di un oggetto Famiglia di processori e indica la serie del tuo processore. Ad esempio, se hai Intel Core i5-4xxx, indicare Haswell(processore di quarta generazione). Se non sei sicuro esattamente, puoi selezionare l'articolo Ottimizzazioni native rilevate automaticamente da GCC. In questo caso, durante l'assemblaggio, il compilatore stesso determinerà cosa supporta il tuo processore e includerà tutte le sue funzionalità.


Vai sotto e abilita il parametro Kernel prerilasciabile completo (RT). Modalità in tempo reale difficile.


Scorri verso il basso e al punto Frequenza del timer impostare la frequenza di interruzione del sistema su 1000 Hz


Disattiviamo completamente qualsiasi risparmio energetico. Questo è importante! A sinistra stiamo cercando un oggetto Gestione energetica e opzioni ACPI

e deseleziona ACPI. Disattiva anche il risparmio energetico della CPU Questo è tutto. Se lo desideri (e studia attentamente la documentazione), puoi apportare ulteriori modifiche alla configurazione (disabilitare i driver non necessari, utilizzare sottosistemi aggiuntivi e così via). Ora salviamo la configurazione tramite File - Salva

, chiudi il configuratore e assembla il kernel:
sudo update-grub

fakeroot make-kpkg -j 3 --initrd --append-to-version=-rt-custom kernel_image kernel_headers #-j 3 Sul mio computer con processore Intel Core i3-550 (3,2 GHz), l'aumento di prestazioni è stato abbastanza evidente. Ma la cosa più importante è quando si lavora E LMMS Kdenlive

, balbettii periodici, desincronizzazione delle tracce audio e video e blocco sotto carico pesante sul disco rigido sono scomparsi. Conclusione: funziona! Infine, descriverò due kernel modificati, che sono molto popolari negli ambienti Linux: Kernel PF

  • - il set di patch più popolare dell'ucraino Alexander Natalenko (aka post-factum). Si tratta di un insieme di patch che non sono incluse nel kernel principale, ma forniscono una maggiore reattività del sistema, forniscono un sottosistema di ibernazione alternativo che è più veloce di quello principale e riducono anche l'uso della memoria utilizzando la tecnica di unire pagine identiche. Il set include:
  • Schedulatore I/O BFQ di Paolo Valente, Arianna Avanzini e Mauro Marinoni;
  • sottosistema di ibernazione TuxOnIce di Nigel Cunningham;
  • implementazione della tecnica per unire pagine identiche nella memoria UKSM da Nai Xia;
  • patch di Graysky, che espande l'elenco dei processori per l'ottimizzazione del kernel da parte del compilatore (quello che abbiamo applicato sopra)
Repository del kernel modificato. Sito ufficiale.

Kernel Zen- il secondo set più popolare, ma il primo in termini di numero di patch. Il kernel Zen utilizza una combinazione di diversi progetti, aggiorna il codice tramite un repository git e ha anche diverse cose specifiche di Zen che mirano a soddisfare la maggior parte delle esigenze degli utenti in un unico kernel. Alcune funzionalità della patch: drm-next, wireless-testing, scelta degli scheduler della CPU (CFS/BFS), scheduler I/O BFQ, aufs, unionfs, reiser4, tuxonice, PHC e molte altre cose che sono ottime per ottimizzare i sistemi desktop o laptop. Tutto questo è disponibile sotto forma di una patch al kernel Vanilla. Sito ufficiale. archivio GIT. Pacchetti per Debian/Ubuntu.

Probabilmente è tutto per oggi. Maggiori informazioni si trovano nei link all'articolo. Tutto quanto descritto nell'articolo è stato testato da me su molte configurazioni.