In questa semplice guida vedremo come installare il Kernel Linux CK in Ubuntu e Arch Linux migliorando cosi le performance della nostra distribuzione soprattutto su laptop.

Kernel Linux CK in Ubuntu
Come ben sappiamo il Kernel è il cuore della nostra distribuzione Linux, sviluppato quotidianamente da moltissimi sviluppatori include non solo il supporto per le più diffuse periferiche ma anche diverse ottimizzazioni. Per Linux esistono anche svariate patch le quali però non vendono integrate nel Kernel Linux di default per il semplice fatto che sono ancora in fase di sviluppo e molto spesso portano miglioramenti solo per alcuni specifiche tipologie di hardware. Tra le patch più apprezzate ed utilizzate troviamo quelle fornite da Con Kolivas o CK sviluppate per ottimizzare per performance soprattutto in pc portatili.
Le patch Linux-CK vengono rilasciate sia nella versione ck-generic in grado di supportare al meglio CPU di Intel e AMD oppure troviamo patch ottimizzate per ogni specifica tipologia di hardware come ad esempio ck-atom per CPU Intel Atom, ck-haswell, ck-p4, ck-ivybridge, ecc per le varie serie di CPU Intel, presenti anche le patch ck-barcelona per AMD oltre alle ck-k10, ck-bobcat ecc .

Per installare il Kernel Linux con le patch CK in Ubuntu o derivate attualmente non troviamo alcun repository dedicato, possiamo comunque installare i pacchetti delle principali versioni con ck-generic rilasciati da alcuni utenti.
Per installare le nuove versioni del Kernel Linux CK in Ubuntu e derivate basta scaricare i pacchetti disponibili da questa pagina, una volta estratto il file (per 32 bit o 64 bit) basta spostare i pacchetti deb nella home e digitare:

sudo dpkg -i *.deb
sudo apt-get install -f

fatto questo basta riavviare ed ecco installato in nuovo Kernel Linux CK (in data odierna 3.12.1 come da immagine in alto).

Per Arch Linux e derivate invece è molto più semplice installare il Kernel Linux CK grazie ai repository di terze parti dedicati.

Basta avviare il terminale e digitare:

sudo nano /etc/pacman.conf

e aggiungiamo

[repo-ck]
Server = http://repo-ck.com/$arch

salviamo con Ctrl+x e poi s e sempre da terminale inseriamo le key d’autentificazine digitando:

sudo pacman-key -r 5EE46C4C
sudo pacman-key --lsign-key 5EE46C4C

verifichiamo il modello esatto del nostro processore digitando:

sudo gcc -c -Q -march=native --help=target | grep march
versioni Kernel Linux CK

e inseriamola nel comando:

sudo pacman -S linux-ck-VERSIONEPROCESSORE linux-ck-VERSIONEPROCESSORE-headers

ed infine aggiorniamo il nostro bootloader digitando:

sudo grub-mkconfig -o /boot/grub/grub.cfg

per maggiori informazioni consiglio di consultare la pagina dedicata dal Wiki Arch Linux.

Home CK Patch

  • EnricoD

    provero’ sul netbook 🙂

    • Hombre Maledicto

      Per il netbook ti consiglio il kernel pf. Utilizza sempre la patch ck, ma è ottimizzato per portatili. Anch’esso su arch è avviabile tramite repo. Penso che per altre distro non devi faticare nemmeno troppo. CK e PF sono molto popolari 😉

      • cjf

        ciao, stò kernel-pf non lo trovo nei repo ho dato pacman -Syyl pfkernel come detto nel wiki e dice errore: impossibile trovare il repository “pfkernel”
        ho trovato solo la pagina dove scaricare i 2 pkg.tar.zx
        ma il wiki raccomanda i repo, come mai non lo trovo?

        • Hombre Maledicto

          Prima devi aggiungere il repo al tuo pacman.conf :

          sudo nano /etc/pacman.conf

          E in fondo al file copia le righe:

          [pfkernel]
          Server = http://dl.dropbox.com/u/11734958/$arch

          Dai ctrl +x confermando le modifiche al file, solo allora potrai dare

          sudo pacman -Syyl pfkernel

          Che in sintesi è un refresh ( pacman -Syy è meglio darlo dopo ogni modifica a pacman.conf) ed elenca i pacchetti nel repo pfkernel 😉

          • matteo

            grazie mi mancava su arch pf kernel visto che ck mi dice repo mancanti

  • masand

    Grazie della segnalazione.

    Una domanda, andando nella pagina da te segnalata, per scaricare il pacchetto .deb, mi pare di capire che si parta di una kernel vanilla; quindi, giusto per conferma, dobbiamo anche installare un kernel “vergine” (vanilla appunto), oppure possiamo applicare la patch tranquillamente, come da guida, anche su di un kernel default di *buntu?

    Eventualmente si presentassero problematiche varie, per tornare alla situazione precedente, basta disinstallare il pacchetto?

    Grazie 🙂

    • Hombre Maledicto

      Ho dato una scorcia rapidissima, eccetto che vi sono pacchetti precompilati avviabili, lo script nella pagina linkata dall’articolo semplicemente ti scarica un kernel vanilla, applica le patch di ubuntu e ck, e poi lo compila. Quindi hai un kernel identico a quello di default, ma con ck.

      Per tornare alla situazione precedente ti basta rimuovere il kernel-ck, che dovrebbe installarsi affianco di quello attuale (quindi da selezionare al boot).

      • masand

        Grazie molte della spiegazione, lo proverò sul portatile con APU AMD 7400G.

  • Da quando ho installato i kernel del repo-ck sul fisso (quadcore, famiglia k10) i tempi di boot si sono dimezzati, mentre il netbook (famiglia atom) è diventato visibilmente più reattivo e ci ho potuto installare kde senza rimpiangere la reattività di xfce

    Per me questo repo di terze parti è diventato uno dei motivi per cui non posso abbandonare arch

    • luca canali

      scusa ma a me il processore dopo il comando mi da questo:
      # gcc -c -Q -march=native –help=target | grep march -march= core-avx-i

      Ma nella tabella postata sopra non ci sta questo modello di processore, quindi come procedo? per la cronaca ho questo processore:

      Intel(R) Core(TM) i7-3667U CPU @ 2.00GHz

  • Hombre Maledicto

    Non c’è scritto su come abilitare BFS, la cosa più importante.
    Dalla bibbia pagina del wiki di arch:

    “If using the repo packages, append “elevator=bfq” to the kernel boot line in /boot/grub/menu.lst if using grub or in /etc/default/grub under the GRUB_CMDLINE_LINUX_DEFAULT=”quiet” line followed by rebuilding /boot/grub/grub.cfg via the standard “grub-mkconfig -o /boot/grub/grub.cfg” command.”

    Per verificare se abilitato, al riavvio:

    sudo dmesg | grep scheduler

    Chi utilizza driver nVidia deve installare la versione avviabile dal repo. Non serve disinstallare i vanilla.

    • e chi utilizza driver Nvidia su LinuxMint deve installare comunque da repo o va bene da .deb?

      • Hombre Maledicto

        Quei repo sono per arch. Non so se in gro vi siano pacchetti deb per gli utenti delle debian based. Ci butto un occhio 😉

  • Lockh

    daaaayum possibile mi si siano abbassate le temperature del processore di 10 gradi con questo kernel o è solo suggestione ??!

  • Federico

    io sto provando ad installare il kernel su arch, ma non mi convalida la key, mi da errore di server.

    boh, sarà una cosa momentanea

  • Marco

    Visto che Natale è ormai alle porte c’è qualcuno di “buona volontà” che ha tempo/voglia/pazienza di spegarmi come mai non riesco ad installare nulla né su Ubuntu 13.10 (3.12.0) né su Mint 16 (3.11)?

    Ho scaricato dalla pagina indicata nell’articolo la versione “3.12.1 x86”.
    L’ho quindi scompattata spostando i 2 files .deb ottenuti nella mia home.
    Ho poi dato i 2 comandi “sudo dpkg -i *.deb” e “sudo apt-get install -f”.

    In entrambi i GRUB mi appare il kernel ck corretto ma subito prima del login si pianta tutto. Pagina nera con

    “early console in decompress_kernel
    Decompressing Linux… Parsing ELF… No relocation needed… done.

    Booting the kernel.
    (altre righe di Common problems)
    ALERT! /dev/disk/by-uuid/[numeri+lettere] does not exist. Dropping to a shell.

    BusyBox v1.20…..
    (initramfs)

    Probabilmente sbaglio qualche passaggio oppure non ho capito qualcosa.
    Grazie

    • Marco

      …ehhhh…non è più il Natale di una volta!
      Non risponde nessuno…

      • EnricoD

        Si trova molto sul web…
        comunque, sembra sia qualcosa legato al grub o al file fstab che si trova in / etc
        dopo che hai installato il kernel, hai dato update – grub per aggiornare le voci del menu?
        non è che hai fatto qualche modifica al file di configurazione fstab?
        perché uuid è l’identificativo di qualche partizione..
        magari qualche tweak per hd o ssd…
        a me è capitata la stessa perché le avevo fatte, e non mi riconosceva e montava piu le partizioni home e /
        quindi ho dovuto accedere al ripristino da console root… smontare la partizione root… e rimontarla in modalità rw (lettura scrittura) altrimenti sarebbe solo in lettura.. e riscrivere l fstab come era prima.
        volendo posso postarti il mio appena sono a casa cosi fai un confronto… magari c’è qualche opzione sbagliata
        postare l fstab magari aiuterebbe gli altri utenti ad aiutarti …

        www . mail – archive punto com / ubuntu-bugs @ lists . ubuntu . com / msg2057379 . html

        (www) . linuxquestions . org / questions / ubuntu-63 / dropped -into – busybox – shell – after – modifying – install – 597774

        (www) . debacher . de / ublog / 2010 / 06 / devdiskby – uuid -does – not – exist

        forum . ubuntu – it . org / viewtopic .php?f=9&t=248830&start=20

        ubuntuforums . org / showthread . php?t=1844853

        • Marco

          Ahhh… allora è ancora Natale! :-p
          Grazie della risposta.

          Girellando in rete alla ricerca di eventuali chiarimenti/soluzioni mi sono imbattuto nei kernel PF.
          Questo kernel, fra le altre patches, contiene anche le CK.
          Lo avevo già installato qulche tempo fa, quando se ne parlò sul sito, ma non mi sembrava che il “piccoletto” (leggi: ACER One) ne traesse particolari benefici in fatto di velocità e reattività.
          Adesso vorrei provare ad installarlo nuovamente ma si trovano in giro solo vecchie rel. (anche sul sito) già compilate, e – onestamente – non sono in grado di compilarne una nuova da me.

      • EnricoD

        se cerchi su google trovi che è un problema collegato al fstab o al grub… posta l fstab, cosi qualcuno puo aiutarti…
        io ho avuto un problema molto simile, il pc non si avviava e mi diceva che non trovava le partizioni home e / e si piantava sulla console
        avevo degli errori nell’fstab, e ho dovuto accedere alla console di ripristino root, smontare la partizione root e rimontarla in rw e correggere l fstab
        potrebbe essere l fstab, perché è questo file che contiene le info sulle partizioni… uuid è l’identificativo di una partizione specifica…
        magari puoi provare a specificare direttamente le partizioni invece che l uuid…

        il mio è cosi… magari confrontalo

        #
        # / was on /dev/sda2 during installation
        UUID=db9805ee-de11-4991-b0c0-42c9bc453207 / ext4 errors=remount-ro 0 1
        # /home was on /dev/sda3 during installation
        UUID=c48ac1d7-5fad-43d6-9476-152a747ebb30 /home ext4 defaults 0 2
        # swap was on /dev/sda1 during installation
        UUID=aab7bc9e-6d36-4387-9e1a-c92e205c4402 none swap sw 0 0
        tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
        tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0
        tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
        # Move /tmp to RAM
        tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0

  • Luca Viggiani

    Ciao a tutti, ho lanciato un paio d’ore fa lo script https://raw.github.com/chilicuil/learn/master/sh/is/kernel-ck-ubuntu come indicato dal link nell’articolo qui sopra.
    …sta macinando da un po….
    Lo script però non mi ha mai chiesto quali ottimizzazioni (patch rc specifiche) volessi applicare (nel mio caso ivi-bridge) per cui mi aspetto che abbia applicato le patch generice… corretto?
    In questo caso, come si fa a dirgli di usare le patch spefiche per una data CPU?

    Nell’articolo qui sopra è spiegato come installare il kernel specifico su Arch ma non dice nulla su Ubuntu. Thanks

No more articles