Ricompilare il Kernel Linux alla Debian Way

Mi sto accingendo proprio in questo momento a compilare il kernel per questo portatile (Olidata) che a quanto pare non funziona con nessuno dei kernel precompilati da Debian oltre la 2.6.18.

Ho deciso di usare la Debian Way per una semplicità di gestione delle installazioni (facile da installare e soprattutto da disinstallare quando diventerà obsoleto.)

Questi appunti cresceranno mano a mano che eseguirò le varie operazione.

  1. aggiornare i pacchetti di Debian:
  2. apt-get -u update

  3. Installazione dei pacchetti necessari:
  4. apt-get -u install build-essential kernel-package libncurses5 libncurses5-dev debhelper make gcc module-init-tools fakeroot

  5. A questo punto un'operazione che non è necessaria, ma può aiutare in alcune circostanze, si tratta di editare due file che possono aiutare nella configurazione del kernel:
    1. vi /etc/kernel-img.conf
      per quanto mi riguarda l’ho lasciato inalterato, comunque con man kernel-img.conf avrete tutte le possibilità di configurazione.
    2. vi /etc/kernel-pkg.conf
      In questo file ho apportato solamente un paio di modifiche, il nome del maintainer, invece di lasciarlo sconosciuto ho messo il mio nick e la mia mail, per il resto ho lasciato il tutto inalterato. in ogni caso man kernel-pkg.conf per tutte le informazioni del caso.
  6. Installiamo i pacchetti dei sorgenti del kernel direttamente dai repository di Debian:
    apt-get install linux-source-[versione]
  7. Verificare che l’utente che sta procedendo alla ricompilazione del kernel faccia parte del gruppo src, evventualmente aggiungervelo: adduser utente src
  8. Da questo momento lavoreremo come utente normale e non root (ricordarsi che deve essere inserito nel gruppo src
  9. Decomprimere i sorgenti del kernel:
    tar -xvjf /usr/src/linux-source-[versione].tar.bz2
    man tar per capire che cosa fanno i vari parametri.
  10. A questo punto creiamo la directory standard di linux, come link simbolico alla directory di linux del kernel che vogliamo compilare:
    ln -s linux-source-[versione] linux
  11. Nel caso vogliate mantenere una vecchia configurazione del kernel (almeno come punto di partenza, per non cominciare proprio tutto da zero), potete copiare il vecchio dalla directory di boot nella directory dei sorgenti:
    cp /boot/config-[versione] /usr/src/linux/.config
  12. In questo punto ci si possono inserire le patch o i moduli esterni per avventuali periferiche. non prendo in considerazione questo passo, per il semplice fatto che su questa macchina non mi sono necessari:
    cat nome_della_patch | patch -p1
  13. Ora ripuliamo dai vecchi tentativi di compilazione:
    make-kpkg clean
  14. Recuperiamo la vecchia configurazione (avevamo copiato il config vecchio), in questo modo ci vengono chieste solo quelle parti aggiunte che non esistevano nella vecchia configurazione, a cui conviene rispondere con il valore di default (return) tanto poi le rivedremo con la configurazione più specifica succesivamente:
    make oldconfig
  15. Finalmente siamo giunti al momento di configurare il kernel per le nostre esigenze, una volta selezionate tutte le caratteristiche che servono e tolte quelle che non servono, salvate il file di configurazione e uscite:
    make menuconfig
  16. Ripuliamo ancora, suggerimento che del manuale:
    make-kpkg clean
  17. Finalmente possiamo compilare il nostro kernel:
    make-kpkg --revision [numero di revisione] --append-to-version -[identificativo personalizzato del kernel] kernel_image modules_image --initrd
Questa voce è stata pubblicata in Dalla vecchia tana., Debian GNU/Linux e contrassegnata con , , , . Contrassegna il permalink.

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>