Home > Linux > Ubuntu: compilare Kernel

Ubuntu: compilare Kernel

GUIDA TRATTA DA LINUX MAGAZINE

scaricare i sorgenti del kernel:

sudo apt-get install linux-source

andiamo nella directory dei sorgentiappena scaricati

cd /usr/src

scompattiamo il file appena scaricato, nel mio caso linux-source-2.6.22.tar.bz2

tar -xvjf  linux-source-2.6.22.tar.bz2

eliminiamo eventuali link simbolici di precedenti compilazioni:

sudo rm linux

e creiamo nuovo link

sudo ln -s linux-source-2.6.22 linux

installiamo gli ultimi pacchetti necessari alla compilazione:

sudo apt-get install gcc make kernel-package libncurses5-dev

ora compiliamo il kernel

andiamo all’interno del link creato:

cd /usr/src/linux
sudo make menuconfig

se si preferisce un’interfaccia grafica:

sudo make xconfig

terminate le scelte sul kernel:

sudo make-kpkg clean

per ripulire gli strascichi delle precedenti compilazioni, poi:

sudo make-kpkg --initrd --append-to-version=.MIOTESTO kernel_image

MIOTESTO va sostituito con una descrizione a piacere

una volta terminata la compilazione, in /usr/src, avremo un file.deb, che andrà installato con:

sudo dpkg -i file.deb

ovviamente al posto del file.deb, va messo il nome corretto.

nel caso si volesse applicare una patch al kernel, una volta scaricato il file.patch, va posizionato nella directory, /usr/src.
Poi entrare nel link precedente:

cd /usr/src/linux

applicare la patch con il comando:

sudo patch -p1 < /usr/src/file.patch[/sourcecode] nel caso la compilazione non vada a buon fine, usare al posto di p1, p0 o p2.

Categorie:Linux
  1. giovanni
    maggio 12, 2008 alle 5:14 pm

    Non mi è riuscito. Al momento di scompattare, mi dà una lunga lista di messaggi “Impossibile open. Nessun file o directory”.

  2. maggio 12, 2008 alle 5:16 pm

    tar -xvjf linux*.bz2

    così va?

    probabilmente usi il comando riferito a linux-source-2.6.22.tar.bz2.
    Il file che hai scaricato come si chiama?

  3. Mauro
    agosto 22, 2008 alle 10:49 am

    ciao,
    prova anche ad aggiungere sudo prima di tar -xvjf llinux-source-2.6.22.tar.bz2

    a me ha funzionato.
    ANZI COMPLIMENTI PER LA GUIDA, IO NEOFITA NE AVEVO BISOGNO!

  4. drzaius
    gennaio 30, 2009 alle 3:35 am

    Hey, scusa…tutto mi fila liscio, ma ho un problema: la cartella adesso ha vari kernel presenti…e non riesco per questo a eseguire il passaggio finale (una volta terminata la compilazione, in /usr/src, avremo un file.deb, che andrà installato con:

    sudo dpkg -i file.deb) perchè non ho più spazio nella partizione di sistema…e da quel che mi par di capire son gli altri kernel che occupano uno spazio abnorme…sai dirmi cosa è successo, probabilmente nel tempo, e come risolverlo? vanno eliminati gli altri kernel presenti? e tutti in caso?

    grazie e guida tanto semplice quanto esaustiva😀

  5. drzaius
    gennaio 30, 2009 alle 3:38 am

    allego, se non è troppo lungo, il passaggio e l’errore:

    ftino@ftino-desktop:/usr/src$ sudo dpkg -i linux-image-2.6.27.10.zaius_2.6.27.10.zaius-10.00.Custom_i386.deb
    Selezionato il pacchetto linux-image-2.6.27.10.zaius, che non lo era.
    (Lettura del database … 170464 file e directory attualmente installati.)
    Spacchetto linux-image-2.6.27.10.zaius (da linux-image-2.6.27.10.zaius_2.6.27.10.zaius-10.00.Custom_i386.deb) …
    Done.
    dpkg: errore processando linux-image-2.6.27.10.zaius_2.6.27.10.zaius-10.00.Custom_i386.deb (–install):
    tentata sovrascrittura di `/lib/firmware/whiteheat.fw’, che si trova anche nel pacchetto linux-image-2.6.27.2.precedcompilazioni
    dpkg-deb: il sottoprocesso paste è stato terminato dal segnale (Pipe interrotta)
    Running postrm hook script /sbin/update-grub.
    Searching for GRUB installation directory … found: /boot/grub
    Searching for default file … found: /boot/grub/default
    Testing for an existing GRUB menu.lst file … found: /boot/grub/menu.lst
    Searching for splash image … none found, skipping …
    Found kernel: /boot/vmlinuz-2.6.27.2.precedcompilazioni
    Found kernel: /boot/vmlinuz-2.6.27-11-generic
    Found kernel: /boot/vmlinuz-2.6.27-9-generic
    Found kernel: /boot/vmlinuz-2.6.27-7-generic
    Found kernel: /boot/memtest86+.bin
    Updating /boot/grub/menu.lst … done

    Sono occorsi degli errori processando:
    linux-image-2.6.27.10.zaius_2.6.27.10.zaius-10.00.Custom_i386.deb

  6. gennaio 30, 2009 alle 9:37 am

    allora, elimina i kernel più vecchi.
    Se hai ubuntu puoi farlo da Synaptic.

    Però tieni almeno l’ultimo funzionante, visto che non sei sicuro di quello che stai compilando.

    per l’errore guarda qui:
    http://forum.ubuntu-it.org/index.php?topic=237086.0

    vieni sul forum, avrai moltissima assistenza.

  7. drzaius
    gennaio 30, 2009 alle 7:44 pm

    Grazie bancaldo! mi iscrissi al forum e son in attesa di suggerimenti😀

  1. No trackbacks yet.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: