GLM - 18/6/2018 - 13:52


Classifica dei relatori GLM 2014 (per numero di lezioni svolte)

  1. [9] Samuele Cacchiarelli
  2. [6] Andrea Bianchini
  3. [6] Gianluca Gabrielli
  4. [1] Matteo Ciccioli
  5. [1] Fabio Pagnotta
  6. [1] Alessandro Zampa
  7. [1] Emanuele
  8. [1] Roberto Marozzi
  9. [1] Giampiero Rubini

Vuoi diventare relatore GLM? presenta anche tu una lezione su un argomento che più ti piace relativo a Linux o al mondo dell'OpenSource


Archivio news

server glm
Il nostro Server

bella gnocca freebsd
FreeBSD It's Here!

Martedì 4 Dicembre 2007 - Compilazione del Kernel


Quattordicesima Lezione del Corso Linux 2007: in questa serata si è parlato del kernel Linux, delle sue funzioni e degli strumenti necessari alla sua compilazione, con particolare attenzione alla distribuzione Ubuntu.

Introduzione

All'inizio della lezione si è ripreso il tema della compilazione, ricordando cosa significa compilare e quali strumenti sono necessari

Si è poi visto quando può essere necessario ricompilare il kernel quali sono gli effetti. In questa fase sono state descritte anche alcune funzionalità e caratteristiche del kernel Linux e perché viene definito monolitico e modulare.

Strumenti necessari

Per scaricare i sorgenti del kernel dagli archivi di Ubuntu

$ sudo apt-get install linux-source

Esiste un pacchetto che ci permette di installare tutto il necessario per la compilazione del kernel

$ sudo apt-get install linux-kernel-devel

Scompattiamo il kernel (ovviamente in generale il numero di versione sarà diverso)

$ cd /usr/src
$ tar xjf linux-source-2.6.22.tar.bz2

Attenzione: per poter scrivere nella directory /usr/src l'utente deve appartenere al gruppo src

Configurazione e compilazione

Posizioniamoci nella directory dei sorgenti appena scompattata

$ cd linux-source-2.6.22

Il modo più spartano per configurare il kernel, attraverso una serie di domande, è

$ make config

È possibile utilizzare delle interfacce più comode per ottenere lo stesso risultato. Per fare questo servono altre librerie.

menuconfig: interfaccia a caratteri (curses)

$ sudo apt-get install libncurses5-dev
$ make menuconfig

gconfig: interfaccia grafica (Gnome attraverso le GTK)

$ sudo apt-get install libgtk2.0-dev libglade2-dev
$ make gconfig

xconfig: interfaccia grafica (Kde attraverso le Qt)
(questa interfaccia non è stata presa in esame)

Una volta effettuate tutte le configurazioni, possiamo passare alla compilazione e successiva generazione del pacchetto del kernel. Questa operazione può essere eseguita anche da un utente non privilegiato, ma per semplicità la effettueremo come root

$ make-kpkg clean
$ sudo make-kpkg --initrd --append-to-version=-versionepersonalizzata kernel_image kernel_headers

La compilazione può richiedere anche qualche ora

Per installare il kernel appena generato

$ cd ..
$ sudo dpkg -i linux-image-2.6.22.9-versione_architettura.deb

Moduli

In chiusura di serata si è parlato di moduli e in particolare si è visto come è possibile ricompilare un modulo senza ricompilare l'intero kernel.

Si è quindi visto il ruolo dei kernel-headers che abbiamo generato precedentemente, e il funzionamento del programma module-assistant

$ sudo module-assistant


Links consigliati:
Compilazione del kernel in Ubuntu (inglese)

Materiale:
Slide usate nella serata (.odf)

Relatore della serata:
Sergio Sbattentini