Kernel 3.4 x64 Corei3 / i5 / i7
La tanto attesa versione 3.4 è finalmente tra noi.
Le novità sono davvero tante e alcune veramente particolari, come già anticipato da Roberto.
Una maggiore integrazione con le ultime architetture Intel (Sandy Bridge ed Ivy Bridge) e dei miglioramenti nella gestione dei consumi energetici; oltre all’introduzione di nuovi driver per la gestione di diverse periferiche,
tra le quali le schede video della serie Radeon HD 7000 di AMD e la APU Trinity sono alcune delle novità che dovrebbero far felice più di qualcuno.
Ho pensato di aggiornare la mia precedente guida per la compilazione ed ottimizzazione del kernel su
Ubuntu a 64 bit e derivate, per accontentare quanti di voi vorranno cimentarsi nella compilazione del nuovo kernel.
Ho avuto modo già di illustravi, nei precedenti post, i vantaggi derivanti da una compilazione del kernel con ottimizzazione relativa al tipo di processore.

Non voglio tediarvi ulteriormente…

Avviate il “Terminale”
e digitate al prompt, nell’ordine così come vi appaiono, i comandi
che via via troverete nel corso della lettura. Ogni comando è
preceduto da una rapida spiegazione.
– Installazione
librerie, compilatori e tutto il necessario. Ad ogni comando date
“Invio”, inserite la vostra password ed attendete che il sistema
faccia il resto.

sudo apt-get install fakeroot build-essential
crash kexec-tools makedumpfile kernel-wedge libncurses5 binutils-dev
libelf-dev libdw-dev libnewt-dev libncurses5-dev

sudo apt-get –no-install-recommends install
asciidoc xmlto

sudo apt-get build-dep linux

– Creazione cartella contenente il sorgente del kernel e le patch
all’interno della nostra Home (al termine di tutte le operazioni essa
conterrà anche il nostro kernel bello e compilato in singoli
pacchetti).


mkdir ~/Kernel_3.4

cd ~/Kernel_3.4
– Download del kernel e
delle patch.


wget
-c
http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.4.tar.bz2
– Attendete il termine
del download prima i dare il comando successivo (per ogni singolo
comando).

wget -c
http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.4-precise/0001-base-packaging.patch

wget -c
http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.4-precise/0002-debian-changelog.patch

wget -c
http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.4-precise/0003-default-configs.patch
– Scompattazione
Kernel, creazione collegamento simbolico, accesso alla cartella.


tar xjvf linux-3.4.tar.bz2

ln -s linux-3.4 linux

cd linux
– Applicazione Patch al
Kernel.


patch -p1 < ../0001-base-packaging.patch

patch -p1 < ../0002-debian-changelog.patch

patch -p1 < ../0003-default-configs.patch
– Assegnazione diritti
accesso ed esecuzione ai vari scripts.

chmod -Rv +x debian/rules

chmod -Rv +x debian/scripts/
– Creazione nuovo
profilo di compilazione per Core i7.

cp
debian.master/config/amd64/config.flavour.generic
debian.master/config/amd64/config.flavour.i7

cp tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.8 tools/hv/hv_kvp_daemon.8

– Pulizia ed
aggiornamento dei file di configurazione.

fakeroot debian/rules clean

fakeroot debian/rules updateconfigs
– Modifica del file di
configurazione per adattare il Kernel alle nostre richieste: è un
passaggio fondamentale da eseguire con estrema attenzione.
All’esecuzione del comando il terminale farà apparire una serie di
domande, SOLO ALLA SECONDA
RICHIESTA DOVETE RISPONDERE
AFFERMATIVAMENTE.


fakeroot
debian/rules
editconfigs

Rispondete “N” alla prima domanda, “Y” alla seconda.
Ora
siete entrati nella configurazione del kernel procedete in questo
modo (per selezionare intendo muoversi su e giù con le frecce del
cursore e poi dare invio):
1 – Selezionare “Processor type and
features”.
2 – Selezionare “Processor family
(Generic-x86-64)”.
3 – Selezionare “Core 2/newer Xeon.
4 –
Scorrete
tutte
le
voci
in
basso
fino
a
trovare
“Preemption
Model
…”

Questa
voce
determina
come
la
vostra CPU
si
“dedicherà”
alla
gestione
dei
vari
compiti/programmi
in
esecuzione
nel
vostro
sistema
unitamente
alla
voce
“Timer
frequency…”. È
possibile
privilegiare
una
più
rapida
risposta
del
sistema
a
scapito
però
dei
tempi
di
esecuzione
reali
dei
vari
processi.
Consiglio
vivamente
di
lasciare
“Desktop”.
5

Scorrete
tutte
le
voci
in
basso
fino
a
trovare
“Timer
frequency
…”

Ora,
se
avete
un
fisso
potete
selezionare
la
voce
1000hz,
su di un
portatile
non
superate
soglia
300hz.
In
rete
ho
trovato
infinite
differenti
spiegazioni
e
consigli
sull’uso
di
tale
parametro,
a
meno
che
non
utilizziate
sul
vostro
sistema
delle
applicazioni
professionali
per
la
gestione
di
audio
e
video
settate
tale
valore
su
300hz.

6
– Tornate
al
menù
precedente
Selezionando
la
voce
“Exit”
presente
nella
parte
bassa
dello
schermo
7 – Selezionate
“Networking support …”
8
– Selezionate
“Networking
options
…”
9 –
Scorrete
tutte
le
voci
in
basso
fino
a
trovare
“The
IPv6
protocol”,
pigiate
sulla
vostra
tastiera
la
lettera
“M”
(in
fase
di
compilazione
verrà
creato
un
modulo
del
kernel
per
il
protocollo
IPv6
che
sarà
possibile
bannare
per
impedirne
l’uso
da
parte
del
sistema
in
maniera
definitiva).
10 – Tornate
al menù precedente
Selezionando
la
voce
“Exit”
presente
nella
parte
bassa
dello
schermo
11 – Tornate al
menù precedente Selezionando
la
voce
“Exit”
presente
nella
parte
bassa
dello
schermo
10

Usciamo
dal
menù
sempre
Selezionando
la
voce
“Exit”
presente
nella
parte
bassa
dello
schermo
12
– Rispondiamo
“Yes”
alla
domanda
che
ci
verrà
posta
all’uscita,
salveremo
le
modifiche
apportate
alle
configurazione
base.
Rispondete
“N”
alla
successive
domanda
presenti
a
schermo.

– Copia delle impostazioni generiche e impostazione della nostra
configurazione come predefinita all’interno del processo di
compilazione


cp debian.master/abi/3.2.0-24.37/amd64/generic
debian.master/abi/3.2.0-24.37/amd64/i7

cp
debian.master/abi/3.2.0-24.37/amd64/generic.modules
debian.master/abi/3.2.0-24.37/amd64/i7.modules

sed -i s/getall amd64 generic
virtual/getall amd64 generic virtual i7/g
debian.master/etc/getabis

sed -i s/= generic virtual/= generic
virtual i7/g debian.master/rules.d/amd64.mk

cp debian.master/control.d/vars.generic
debian.master/control.d/vars.i7

sed -i
s/supported=”Generic”/supported=”Nehalem”/g
debian.master/control.d/vars.i7

sed -i s/target=”Geared toward
x86_64/target=”Geared toward i7/g
debian.master/control.d/vars.i7


Ottimizzazione
del kernel
attraverso
le
variabili
-mtune e
-march, il
compilatore
si occuperà
di produrre
un kernel
ottimizzato
per
architetture
Intel Dual
Core /
Core i-xx.

sed -i s/= gcc/= gcc -march=corei7
-mtune=corei7/g Makefile

sed -i s/= g++/= g++ -march=corei7
-mtune=corei7/g Makefile

sed -i s/core2/corei7/g arch/x86/Makefile

sed -i s/core2/corei7/g
arch/x86/Makefile_32.cpu

– Scrittura
di tutte
le
modifiche
sul disco.
sync
– Pulizia
prima
dell’inizio
della
compilazione
vera e
propria.

fakeroot debian/rules clean
– Compilazione delle
dipendenze, sorgente e header.


skipabi=true skipmodule=true fakeroot
debian/rules binary-indep
– Avvio del processo di
compilazione del kernel.

time skipabi=true skipmodule=true
no_dumpfile=yes fakeroot debian/rules binary-i7

Terminata
la
compilazione
saliamo di
un livello
nella
struttura
delle
directory
create,
ripuliamo
quello che
non serve
più e,
infine,
diamo il
comando per
l’installazione
del nuovo
kernel.

cd
..

rm
linux

rm
-rf linux-3.4

sudo dpkg -i linux-image-3.4.0-030400-i7_3.4.0-030400.201205210521_amd64.deb linux-headers-3.4.0-030400-i7_3.4.0-030400.201205210521_amd64.deb linux-headers-3.4.0-030400_3.4.0-030400.201205210521_all.deb


Riavviamo
per utilizzare il nuovo Kernel.

Per rimuovere il nuovo kernel Linux 3.4.0 una volta installato, basta digitare da terminale:

sudo apt-get purge linux-image-3.4.0-030400-i7 linux-headers-3.4.0-030400-i7
linux-headers-3.4.0-030400

E riavviamo.

In caso di problemi con schede grafiche nVidia ecco una soluzione, avviate il terminale e digitate:

cd /usr/src/linux-headers-3.4.0-030400-i7/arch/x86/include

sudo cp -v generated/asm/unistd* ./asm

Attendo i vostri feedback, buon lavoro… 😉

  • Tano

    uhm mi sembra una procedura alquanto complessa per chi non l’ha mai fatta, attualmente uso il kernel ottimizzato per core i7 3.3.5. Aspetto come per la 3.3.5 una versione già pronta della 3.4 ottimizzata per i processori core i7 64bit. Quando pensate di pubblicarla?

    • cbman

       mi accodo 😛

  • pico

    Ottima guida davvero, prossimamente mi cimenterò anche io nella compilazione grazie! XD

    Per ora comunque aspetto anch’io la versione già compilata. Non so se hai visto, nell’altro post citavo il problema della patch di “apparmor”, con questo processo di compilazione risulta già implementata oppure occorre aggiungerla?
    Grazie mille!

    • Pcnoproblem

      Le patch inserite all’interno del post sono quelle ufficiali rilasciate da Canonical e dalla comunità Debian per questa versione del kernel. Cercherò di forniti maggiori informazioni a riguardo.

      • pico

        Grazie mille XD

  • gogor71

    buongiorno , che cosa cambia dalla precedente installazione del kernell 3.4 proposto nel precedente post ?
    grazie

    • Pcnoproblem

      Il risultato finale: un kernel ottimizzato per processori Intel Core2/i3/i5/i7

  • giocitta

    Attenzione, PCNoproblem!!!
    Alla riga:
    “debian.master/config/amd64/config.flavour.generic debian.master/config/amd64/config.flavour.i7”
    manca davanti il comando “cp”.
    Quindi, diviene:
    “cp debian.master/config/amd64/config.flavour.generic debian.master/config/amd64/config.flavour.i7”
    (naturalmente, senza le virgolette).
    Saluti e grazie ancora per la guida.

    • Pcnoproblem

      Corretto, grazie.

  • Alessio

    Raga dai non potete dire che è complessa, è la solita solfa ogni volta, basta solo cambiare  i nomi dei pacchetti tutto qui…Comunque la patch di con kovalis è gia applicata?? Siccome ho letto in rete che dal 2.3.6 era gia implementata nel kernel, ma voi avete scritto nel post del kernel 3.3.5 che avevate applicato anche la patch di con kovalis…Sono un po’ perplesso aspetto delucidazioni da qualcuno grazie 😀

    • Pcnoproblem

      Nel precende si, in questo no: la patch attualmente non è allineata alla versione 3.4 e nutro serie perplessità sulla sua reale efficacia (anche Con Kolivas).

  • Alessio

    Correggo dal 2.6.38 non dal 2.3.6 😀

  • ciccio

    ma per processori amd proprio niente di niente?? =(

    • Pcnoproblem

      Rispondo a quanti richiedono la versione
      dedicata la mondo AMD: nutro il massimo rispetto per le cpu Amd e l’assenza di post dedicati a tali cpu è legata solo ad una mancanza di tempo, cercherò a breve di colmare la lacuna.

      • ciccio

        perfetto! ti ringrazio! aspetterò con impazienza!! ;D

  • Alessio

    alessio@ALESSIO:~/Kernel_3.4$ sudo dpkg -i linux-image-3.4.0-030400-i7_3.4.0-030400.201205210521_amd64.deb linux-headers-3.4.0-030400-i7_3.4.0-030400.201205210521_amd64.deb linux-headers-3.4.0-030400_3.4.0-030400.201205210521_all.deb
    (Lettura del database… 285131 file e directory attualmente installati.)
    Preparativi per sostituire linux-image-3.4.0-030400-i7 v.3.4.0-030400.201205210521 (utilizzando linux-image-3.4.0-030400-i7_3.4.0-030400.201205210521_amd64.deb)…
    Done.
    Estrazione del sostituto di linux-image-3.4.0-030400-i7…
    Examining /etc/kernel/postrm.d .
    run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.4.0-030400-i7 /boot/vmlinuz-3.4.0-030400-i7
    run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.4.0-030400-i7 /boot/vmlinuz-3.4.0-030400-i7
    Preparativi per sostituire linux-headers-3.4.0-030400-i7 v.3.4.0-030400.201205210521 (utilizzando linux-headers-3.4.0-030400-i7_3.4.0-030400.201205210521_amd64.deb)…
    Estrazione del sostituto di linux-headers-3.4.0-030400-i7…
    Preparativi per sostituire linux-headers-3.4.0-030400 v.3.4.0-030400.201205210521 (utilizzando linux-headers-3.4.0-030400_3.4.0-030400.201205210521_all.deb)…
    Estrazione del sostituto di linux-headers-3.4.0-030400…
    Configurazione di linux-image-3.4.0-030400-i7 (3.4.0-030400.201205210521)…
    Running depmod.
    update-initramfs: deferring update (hook will be called later)
    Not updating initrd symbolic links since we are being updated/reinstalled 
    (3.4.0-030400.201205210521 was configured last, according to dpkg)
    Not updating image symbolic links since we are being updated/reinstalled 
    (3.4.0-030400.201205210521 was configured last, according to dpkg)
    Examining /etc/kernel/postinst.d.
    run-parts: executing /etc/kernel/postinst.d/dkms 3.4.0-030400-i7 /boot/vmlinuz-3.4.0-030400-i7
    ERROR (dkms apport): kernel package linux-headers-3.4.0-030400-i7 is not supported
    Error! Bad return status for module build on kernel: 3.4.0-030400-i7 (x86_64)
    Consult /var/lib/dkms/fglrx/8.960/build/make.log for more information.
    run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.4.0-030400-i7 /boot/vmlinuz-3.4.0-030400-i7
    update-initramfs: Generating /boot/initrd.img-3.4.0-030400-i7
    run-parts: executing /etc/kernel/postinst.d/pm-utils 3.4.0-030400-i7 /boot/vmlinuz-3.4.0-030400-i7
    run-parts: executing /etc/kernel/postinst.d/update-notifier 3.4.0-030400-i7 /boot/vmlinuz-3.4.0-030400-i7
    run-parts: executing /etc/kernel/postinst.d/zz-update-grub 3.4.0-030400-i7 /boot/vmlinuz-3.4.0-030400-i7
    Generating grub.cfg …
    Found linux image: /boot/vmlinuz-3.4.0-030400-i7
    Found initrd image: /boot/initrd.img-3.4.0-030400-i7
    Found linux image: /boot/vmlinuz-3.4.0-030400-generic
    Found initrd image: /boot/initrd.img-3.4.0-030400-generic
    Found linux image: /boot/vmlinuz-3.3.6-030306-i7
    Found initrd image: /boot/initrd.img-3.3.6-030306-i7
    Found linux image: /boot/vmlinuz-3.3.5-030305-i7
    Found initrd image: /boot/initrd.img-3.3.5-030305-i7
    Found linux image: /boot/vmlinuz-3.3.4-030304-i7
    Found initrd image: /boot/initrd.img-3.3.4-030304-i7
    Found linux image: /boot/vmlinuz-3.2.0-24-generic
    Found initrd image: /boot/initrd.img-3.2.0-24-generic
    Found memtest86+ image: /boot/memtest86+.bin
    done
    Configurazione di linux-headers-3.4.0-030400 (3.4.0-030400.201205210521)…
    Configurazione di linux-headers-3.4.0-030400-i7 (3.4.0-030400.201205210521)…
    Examining /etc/kernel/header_postinst.d.
    run-parts: executing /etc/kernel/header_postinst.d/dkms 3.4.0-030400-i7 /boot/vmlinuz-3.4.0-030400-i7
    ERROR (dkms apport): kernel package linux-headers-3.4.0-030400-i7 is not supported
    Error! Bad return status for module build on kernel: 3.4.0-030400-i7 (x86_64)
    Consult /var/lib/dkms/fglrx/8.960/build/make.log for more information.

  • Alessio

    cat /var/lib/dkms/fglrx/8.960/build/make.log
    http://paste.ubuntu.com/1000496/

    • Pcnoproblem

      Distro utilizzata ?

      • Alessio

        Lascia stare ho risolto grazie comunque…Ottima guida se vuoi metto su mediafire i soliti 3 file    e te li passo così le altre persone non devono stare li a compilare ore e ore 😀 (l’ho compilato con un i7 720qm, spero vada bene anche per gli altri proci) 😀

        • Pcnoproblem

          Grazie Alessio, sia per la versione x86 che per quella x64 sono in preparazione, quanto ci hai messo per compilare il kernel ? ” …Ore e Ore” ?

          • Alessio

            No ci ho messo 35 minuti e 46 secondi…

          • Pcnoproblem

            10 Minuti in più con un corei3…. e non faceva solo quello… 😉

      • Alessio

        Mi esce ancora quell’errore…comunque uso ubuntu 12.04 64 bit…rispondimi al più presto ti prego =(

  • Tano

    Prima che faccio casini al mio attuale sistema (ubuntu 11.10 64 bit) quando do il primo comando per installare le librerie, compilatori ecc mi esce questo:
    :~$ sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge libncurses5 binutils-dev libelf-dev libdw-dev libnewt-dev libncurses5-dev[sudo] password for tano: Lettura elenco dei pacchetti… FattoGenerazione albero delle dipendenze       Lettura informazioni sullo stato… Fattofakeroot è già alla versione più recente.È stato impostato fakeroot per l’installazione manuale.libncurses5 è già alla versione più recente.I seguenti pacchetti saranno inoltre installati:  debhelper dpkg-dev gettext html2text intltool-debian libalgorithm-diff-perl  libalgorithm-diff-xs-perl libalgorithm-merge-perl libdpkg-perl libdw1  libmail-sendmail-perl libpng12-dev libslang2-dev libsys-hostname-long-perl  libtinfo-dev libunistring0 po-debconf zlib1g-devPacchetti suggeriti:  kernel-patch-lkcd dumputils dh-make debian-keyring gettext-doc ncurses-doc  libmail-box-perlI seguenti pacchetti NUOVI saranno installati:  binutils-dev build-essential crash debhelper dpkg-dev gettext html2text  intltool-debian kernel-wedge kexec-tools libalgorithm-diff-perl  libalgorithm-diff-xs-perl libalgorithm-merge-perl libdpkg-perl libdw-dev  libdw1 libelf-dev libmail-sendmail-perl libncurses5-dev libnewt-dev  libpng12-dev libslang2-dev libsys-hostname-long-perl libtinfo-dev  libunistring0 makedumpfile po-debconf zlib1g-dev0 aggiornati, 28 installati, 0 da rimuovere e 3 non aggiornati.È necessario scaricare 12,0 MB di archivi.Dopo quest’operazione, verranno occupati 42,7 MB di spazio su disco.Continuare [S/n]?
    Secondo voi è il caso che prosegua oppure dal comando dato sopra tolgo le cose che il mio sistema dice di avere già installate? tipo il fakeroot ed il libncurses5?  ma anche il build-essential ricordo che dovrebbe essere già inserito visto che quando installi la 11.10 la completai con tutto quello che serviva per codec ecc. Ditemi esattamente che devo fare per favore, perchè da quello che capisco mi forzerebbe l’installazione manuale di roba che ho già nel sistema, e non so se questo mi comprometterà qualcosa!!

  • Tano

    Scusatemi per il doppio post ma ricopio meglio il contenuto che mi esce dopo l’esecuzione del comando nella finestra terminale,con i dovuti spazi, in modo che agevola la lettura e si capisca meglio:
    M11xR3:~$ sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge libncurses5 binutils-dev libelf-dev libdw-dev libnewt-dev libncurses5-dev
    [sudo] password for tano: 
    Lettura elenco dei pacchetti… Fatto
    Generazione albero delle dipendenze       
    Lettura informazioni sullo stato… Fatto
    fakeroot è già alla versione più recente.
    È stato impostato fakeroot per l’installazione manuale.
    libncurses5 è già alla versione più recente.
    I seguenti pacchetti saranno inoltre installati:
      debhelper dpkg-dev gettext html2text intltool-debian libalgorithm-diff-perl
      libalgorithm-diff-xs-perl libalgorithm-merge-perl libdpkg-perl libdw1
      libmail-sendmail-perl libpng12-dev libslang2-dev libsys-hostname-long-perl
      libtinfo-dev libunistring0 po-debconf zlib1g-dev
    Pacchetti suggeriti:
      kernel-patch-lkcd dumputils dh-make debian-keyring gettext-doc ncurses-doc
      libmail-box-perl
    I seguenti pacchetti NUOVI saranno installati:
      binutils-dev build-essential crash debhelper dpkg-dev gettext html2text
      intltool-debian kernel-wedge kexec-tools libalgorithm-diff-perl
      libalgorithm-diff-xs-perl libalgorithm-merge-perl libdpkg-perl libdw-dev
      libdw1 libelf-dev libmail-sendmail-perl libncurses5-dev libnewt-dev
      libpng12-dev libslang2-dev libsys-hostname-long-perl libtinfo-dev
      libunistring0 makedumpfile po-debconf zlib1g-dev
    0 aggiornati, 28 installati, 0 da rimuovere e 3 non aggiornati.
    È necessario scaricare 12,0 MB di archivi.
    Dopo quest’operazione, verranno occupati 42,7 MB di spazio su disco.
    Continuare [S/n]?

    Secondo voi è il caso che prosegua oppure dal comando dato sopra tolgo le cose che il mio sistema dice di avere già installate? tipo il fakeroot ed il libncurses5?  ma anche il build-essential ricordo che dovrebbe essere già inserito visto che quando installi la 11.10 la completai con tutto quello che serviva per codec ecc. Ditemi esattamente che devo fare per favore, perchè da quello che capisco mi forzerebbe l’installazione manuale di roba che ho già nel sistema, e non so se questo mi comprometterà qualcosa!!

    • Pcnoproblem

      Esegui prima un

      sudo apt-get update
      sudo apt-get dist-upgrade

      poi, dopo aver riavviato (non sò cosa il sistema ti proporrà) segui le mie indicazioni.

  • MatteoOttone

    Testato con successo su i5 2430M con kubuntu 12.04 e nvidia 520M, grazie mille 😉

  • Gianka

    Ottima guida, la compilazione del kernel non mi ha dato problemi.
    L’unico lato negativo è che al riavvio mi è apparso l’errore in allegato e non mi riconosce più i driver nVidia.
    Ho già provato la vostra soluzione per le schede nVidia senza alcun risultato.
    In pratica non mi riconosce più i driver che avevo installato e non mi permette di reinstallarli.

    Avete qualche idea?
    Grazie.

    Ubuntu 12.04 – Dell XPS 17 – Intel Core i7-2860QM – NVIDIA GeForce GT 555M

  • Ottima guida, come sempre.
    Come ho cercato di postare prima, ho avuto solo un piccolo problema con i driver della scheda nVidia.La vostra soluzione non mi ha risolto il problema, ed i driver proposti da Ubuntu(System Settings -> Additional Drivers) non venivano installati.Ho risolto reinstallando i driver da linea di comando, come indicato in un vostro articolo :)http://www.lffl.org/2012/05/nvidia-29553-su-ubuntu-da-ppa.htmlAdesso sempre funzionare tutto alla perfezione ;)Dell XPS L702X – Intel Core i7-2860QM – nVidia GeForce GT 555M 3D

    • Tano

      puoi spiegare meglio questo passaggio? il link che hai postato non funziona, dice che la pagina del blog non esiste.

      • Ho visto solo ora, mi ha troncato il link. Era lo stesso link postato da Pcnoproblem: “http://www.lffl.org/2012/05/nvidia-29553-su-ubuntu-da-ppa.html” 

  • Alessio
  • Ermy_sti

    va bene anche per i core duo?

    • Pcnoproblem

      Si.

  • Alberto

    Domanda: già che hai fatto trenta potresti fare trentuno e mettere il “frutto” della compilazione in un ppa? Te ne sarei infinitissimamante grato (e forse non solo io).

    • Pcnoproblem

      Mettere su un PPA ? Sarebbe un ottima idea per “completare” il lavoro ed evitare i problemi legati alle dipendenze ….

      • è gia in progetto domani pomeriggio mi metto all’opera
        ps devi fare anche i ppa per atom? e 32 bit?
        se sono in programma fammelo sapere cosi aspetto che arrivino tutti

        • Pcnoproblem

          Le versioni a 32 Bit sono in fase di realizzazione, attendiamo il completamento.

        • Pinofz1

          Per gli atom mi prenoto io! Con le istruzioni dettagliate per l’installazione dai ppa sarebbe il massimo! Grazie in anticipo!

        • Alberto

          Grazie 🙂 Spero di leggere al più presto la notizia dell’apertura del PPA. Ancora una volta complimenti, il vostro lavoro è utilissimo.

          • comincio domani a lavorare sui ppa penso che x venerdì massimo sabato saranno pronti

  • pablomoreno

    ciao, ho provato a seguire la tua guida ma una volta dato sul terminale il comando fakerootdebian/ruleseditconfigs relativo alla modifica del file di
    configurazione per adattare il Kernel ricevo questo messaggio di errore:
    scripts/kconfig/mconf Kconfig
    .config:5542:warning: override: TREE_RCU changes choice state
    Your display is too small to run Menuconfig!
    It must be at least 19 lines by 80 columns.
    make[3]: *** [menuconfig] Errore 1
    make[2]: *** [menuconfig] Errore 2
    make[1]: *** [sub-make] Error 2
    make[1]: Leaving directory `/home/pablomoreno/Kernel_3.4/linux-3.4′
    make: *** [editconfigs] Errore 2
    Io ho un processore e8400 e scheda video ati 4650

    • pablomoreno

       ho risolto da solo, in pratica occorreva solo massimizzare il terminale al momento di impostare il comando fakerootdebian/ruleseditconfigs

  • Fighi_96

    io utilizzo un pc con cpu amd e scheda grafica nvidea; se volessi ottimizzarlo posso seguire questa guida? Se si cosa dovrei cambiare?

  • Piermarco Lunghi

    Ma per debian (LMDE) è tutto uguale tranne le patch, vero? Sapete mica dirmi quali dovrei inserire? Anzi, vi chiedo di più…fareste un articolo sulle migliori patch e su quelle necessarie??? (permetto a chi risponderà di insultarmi)

  • Buongiorno a tutti,
    ho un portatile con Ubuntu 12.04 x64 che uso quasi esclusivamente con Virtual Box ed ho letto da qualche parte che impostando il “Timer frequency” a 1000 dovrei migliorare sensibilmente le prestazioni in ambienti virtuali. Se compilo un kernel con Tf a 300 ed uno a 1000 come posso installarli in modo da averli selezionabili nel GRUB?(in modo da avere massima resa della batteria e massime prestazioni a seconda della situazione batteria/corrente)Grazie.

    • Pcnoproblem

      Se usi ambienti virtuali, come il sottoscritto, ti consiglio di impostare il TF a 1000 e il parametro “kernel_preemptive” a “low latence desktop” (se non ricordo male) il risultato ti darà grandi soddisfazioni.
      Per la seconda richiesta dovresti compilare due kernel con configurazioni differenti e selezionarle all’avvio via Grub al bisogno.

      • Ho compilando il kernel con “low latence desktop” e “1000”.
        Mi sono creato due compilati con impostazioni differenti,  opportunamente rinominati così: [nomeKernel]_Battery.deb e [nomeKernel]_Power.deb 
        Quello che non mi è chiaro è perchè il Grub mi presenta sempre solo l’ultimo kernel installato e non la lista con la selezione dei due.
        E’ un’impostazione del Grub o sono io che sbaglio qualcosa?

        Grazie ancora per la celere risposta 😉

        • Pcnoproblem

          Grub, che sistema usi ? 

  • Angelo Campanelli

    ciao, complimenti per l’ ottima guida…vorrei sapere che differenza c’è tra la compilazione del kernel nel modo descritto da te rispetto alla compilazione tramite il comando  “sudo make-kpkg –append-to-version=-custom –initrd kernel_image kernel_headers modules_image “….grazie

  • pablomoreno

    non so se sia già stato chiesto, e nel caso mi scuso, ma la patch zram è inclusa fra quelle presenti nel kernel? mi pare di aver capito di no e ti vorrei chiedere, iin caso confermi questa impressione, come mai tu l’abbia voluta escludere.  

    • Pcnoproblem

      Ti consiglio una lettura di questo post

      http://www.lffl.org/2012/05/5-piccoli-consigli-per-rendere-piu.html
      Zram non è una patch da applicare al kernel, in base alla proprie esigenze, nella fase di compilazione ma è parte integrante del kernel stesso.

      Attraverso l’omonimo tool è possibile attivare o lasciare disattivata tale funzionalità.

      • pablomoreno

         avevo letto già il post da te indicato ed avevo provato ad installare zram ma il terminale mi rimandava messaggio di errore in fase di installazione

  • DebianTesting

    La suddetta guida può essere seguita anche su Debian Testing?

    • Pcnoproblem

      Si. Fammi comunque sapere.

      • DebianTesting

        Bene, vorrà dire che tra oggi e domani farò da cavia, più che altro il passaggio che non mi convince è l’applicazione delle patch “Ubuntiane”; in caso di esito positivo vi farò sapere!

    • in teoria si in pratica però non ho testato

  • DebianTesting

    Alla fine della compilazione fuoriescono i seguenti messaggi:
    /Kernel_3.4/linux-3.4/debian/.LOCK dh_gencontrol -plinux-image-3.4.0-030400-i7dpkg-gencontrol: error: syntax error in debian/control at line 13: first block lacks a source fielddh_gencontrol: dpkg-gencontrol -plinux-image-3.4.0-030400-i7 -ldebian/changelog -Tdebian/linux-image-3.4.0-030400-i7.substvars -Pdebian/linux-image-3.4.0-030400-i7 returned exit code 25make: *** [binary-i7] Error 25
    real 53m35.544suser 140m0.993ssys 13m7.469s

    La compilazione ha avuto successo o no? Nel secondo caso, cos’è che è andato storto?

    • Pcnoproblem

      No, dammi il tempo di mettere una debian in Virtualbox e ti farò sapere… a presto.

      • DebianTesting

        Ok, grazie mille per l’aiuto. Attendo tue notizie!

  • Angelo Campanelli

    ciao…ho già compilato il kernel 3.4 seguendo questa guida ma visto che è uscita la patch bfs per il suddetto kernel vorrei ricompilarlo, esiste un modo per copiare la vecchia configurazione senza rifare tutto da zero visto che avevo eliminato un bel po di moduli a me inutili…
    esempio: compilando con un altro metodo usavo make oldconfig…. qualcosa di simile??? grazie

    • Pcnoproblem

      L’applicazione della patch in questione
      modifica comunque la configurazione aggiungendo diverse voci non presenti nella configurazione originale quindi non penso sia possibile

  • Alex

    Ciao, ho seguito la guida ed è andato tutto bene, adesso mi riconosce la VGA integrata col processore, che prima non andava, però la ventola gira più di prima, nonostante il carico della CPU sia ondemand, da cosa potrebbe dipendere??

    Grazie e complimenti per la guida

  • Cesare Puliatti

    Ho seguito questa guida per compilare sia il Kernel 3.4.4 che il 3.4.5 (modificando alcuni comandi che altrimenti non avrebbere funzionato) ma non c’è verso di compilare gli headers.

    Ho creato una discussione su ubuntu.it:  http://forum.ubuntu-it.org/viewtopic.php?f=74&t=529895

    Se volete passare e darmi una mano ve ne sarei grato, grazie 😀

  • Lorenzo

    Salve a tutti, scrivo perchè ho provato a compilare il kernel come descritto però al momento della compilazione degli headers mi ha iniziato a fare storie su storie perchè mancavano prima perf poi bison, che sono riuscito ad installare, ma adesso si blocca tutto dicendo che: In function `pmu_format_parse’:… undefined reference to `perf_pmu_in’ … e qui non ho più idea di come farlo proseguire… Mi sapreste aiutare?

    • TopoRuggente

      Riparti da zero, succede quando inizi la compilazione senza perf e bison.

    • Pcnoproblem

      Cancella le cartelle create e riparti dal comando tar…. Fammi sapere.

  • angelico

    ciao,
    premesso che ho notato che ho notato un post in cui si dice che va bene anche su core i5, vorrei sapere se lo consigliate in generale. In caso contrario, come si fa a settare tutto per core i5? (ho un dell inspiron 1564)
    grazie
    ciao
    angelico

  • Matteo

    problema nel compilare gli headers…

    Sembra che manchi il make file nella cartella linux/tools/hv

    make[1]: Entering directory `/usr/src/linux-3.10.1/debian/build/tools-perarch/tools/hv’

    make[1]: *** No targets specified and no makefile found. Stop.

    make[1]: Leaving directory `/usr/src/linux-3.10.1/debian/build/tools-perarch/tools/hv’

    make: *** [/usr/src/linux-3.10.1/debian/stamps/stamp-build-perarch] Errore 2

    • Matteo

      Posso eventualmente crearlo a mano? Idee?
      Grazie in anticipo

  • Massimo A. Carofano

    Salve, sareste così gentili da creare una guida del tutto simmetrica ma aggiornata ad Ottobre 2014?Siamo arrivati al kernel 3.16 oramai 🙂

No more articles