|
|
|
|
Strumenti |
03-01-2011, 19:26 | #21 |
Member
Iscritto dal: Oct 2009
Messaggi: 157
|
La prova è su un Athlon X2 4600+, il tempo di compilazione è di circa un'ora e mezza seguendo quei passaggi.. E' normale ??
Si forse il metodo Debian sarebbe ideale; Ma ogni volta che rinstallo il kernel (make install_modules e make install per intendere) devo eliminare quello precedente della stessa versione o viene automaticamente sovrascritto? Precisamente per creare un .deb come dovrei muovermi una volta compilato il kernel? |
03-01-2011, 20:04 | #22 | |||
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3008
|
Quote:
Trattandosi di un dual core mi risulta torni ancora utile indicargli di compilare con tre processi. Dichiara la variabile CONCURRENCY_LEVEL prima di lanciare il make con questo comando: Codice:
export CONCURRENCY_LEVEL=3 Quote:
ATTENZIONE: in caso di rimozione di moduli nelle compilazioni successive questi non verranno eliminati. L'install coinvolge questi file:
Quote:
Non posso scriverlo meglio che sulla guida Ubuntu ufficiale (non ho mai provato make localmodconfig e nemmeno ne ricordavo l'esistenza).
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|||
03-01-2011, 20:14 | #23 |
Member
Iscritto dal: Oct 2009
Messaggi: 157
|
Aspetta, io non sto compilando il kernel di Ubuntu, ma il Kernel Vanilla (scaricato da www.kernel.org, versione 2.6.36.2) con applicata la patch BFS.
Cosa intendi per impostare lo scheduler standard e lo scheduler BFS ?? E' sempre nella configurazione? |
03-01-2011, 20:40 | #24 | ||
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3008
|
Quote:
Della sezione che ho linkato devi scartare i primi tre comandi. Ti evidenzio anche la sezione che riporta le dipendenze necessarie. Quote:
Come ti avevo accennato precedentemente, ma ho dimenticato di ribadire all'ultimo giro, dai un make oldconfig subito dopo aver applicato la patch BFS. Quando avrai compilato, installato e cominciato ad utilizzare un kernel dotato di scheduler BFS potrai impostare il CONCURRENCY_LEVEL a 2.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
||
03-01-2011, 22:45 | #25 |
Senior Member
Iscritto dal: Sep 2006
Messaggi: 1886
|
Ciao.
Ho seguito con interesse il thread; in passato mi davo pure io alla compilazione selvaggia....bei tempi ...ora non più. Certo che sei un professore della madonna, Gimli ....da dove sei uscito, da un terminale unix?! Che distro usi, così, per pura curiosità? Auguri di buon anno a tutti e buona compilazione ad Emalele! |
03-01-2011, 23:42 | #26 |
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3008
|
Ma dai ezln, non esagerare và!
Compilare kernel è abbastanza meccanico una volta capito il percorso da seguire. Sono stato anch'io tentato di lasciar perdere la compilazione dopo un confronto diretto con il kernel Ubuntu, visto che non erano praticamente misurabili vantaggi in uso quotidiano. Poi ho provato la patch che è un po' il leitmotiv di questo thread, il BFS, ed ho riscontrato miglioramenti che mi hanno incoraggiato a continuare. Le mie distribuzioni? Prima scelta Debian Sid, da qualche mese uso molto Gentoo.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
04-01-2011, 16:12 | #27 |
Member
Iscritto dal: Oct 2009
Messaggi: 157
|
ezln ha perfettamente ragione, Gimli sei un grande, beato te che conosci tutte queste cose, avrai fatto sicuramente molta esperienza hai tutto il mio rispetto
Dopo numerosi tentativi e kernel panic vari oggi grazie a Gimli ho compilato il mio primo kernel funzionante. In passato ricordo di aver eliminato il driver video nouveau per far spazio ai driver NVIDIA proprietari, infatti con il nuovo kernel non si avviava X. Entrava in tty1; Ho scaricato dal sito NVIDIA i driver, e da tty1 l'ho installati sul nuovo kernel, ora pare che va... Come da te detto infatti ho creato il .deb dando un: Codice:
fakeroot make-kpkg --initrd --append-to-version=-some-string-here kernel-image kernel-headers Linux image e Linux headers; Se non sbaglio il primo sono i moduli vero? Il secondo? Ho altre due domande se hai tempo chiaramente 1- Per vedere se la patch BFS è attiva come faccio? 2- E' normale che nella directory modules (/lib/modules) la directory dei moduli del kernel di ubuntu (non da me compilato) ha una grandezza di 118 Megabyte, contro la directory dei moduli del kernel compilato da me è solo 35 Megabyte? Per quanto riguarda "export CONCURRENCY_LEVEL=3" un grazie infinito, la compilazione del kernel è avvenuta in un tempo brevissimo rispetto a prima Se il BFS è attivo provvederò a portare il CONCURRENCY_LEVEL a 2 ... |
04-01-2011, 19:10 | #28 | |||
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3008
|
Prego, sono contento di averti accompagnato fino ad un prodotto funzionante
Quote:
linux-headers contiene tutti gli headers, in soldoni si tratta dei file contenenti le informazioni necessarie per compilare software che comunica direttamente col kernel (come driver aggiuntivi). Se hai nozioni di C, si tratta dei file *.h che contengono i prototipi delle funzioni esposte. Quote:
Codice:
kwankey ~# grep BFS /boot/config-$(uname -r) CONFIG_SCHED_BFS=y # CONFIG_HUGETLBFS is not set Quote:
Hai solo fatto make oldconfig o hai cominciato a fare un po' di pulizia, disattivando roba che non ti serve? Altra possibilità è che tu abbia attivato General setup -> Optimize for size che non credo sia abilitato in Ubuntu (non ho controllato, vado a memoria). Nel caso fosse attivo ti consiglierei di disattivarlo, il tuo AMD non ha cache piccole come i vecchi Athlon XP.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|||
04-01-2011, 23:54 | #29 |
Member
Iscritto dal: Oct 2009
Messaggi: 157
|
Allora ancora non ho iniziato con le ottimizzazioni e le varie pulizie del kernel; Fino ad ora do solo make oldconfig e lascio il tasto invio premuto assicurandomi che la prima voce (quella che mi chiede se attivare il BFS) sia impostata su Y.
Ho notato un piccolo accorgimento in fase di boot, subito dopo il menu Grub, quando seleziono il boot con il Kernel da me compilato; Mi escono le seguenti scritte: Powernow-k8 limiting to CPU failed ata1 softreset faild (device not ready) ata3 softreset faild (device not ready) Quel Powernow-k8 limiting to CPU failed non mi convince tanto, sto facendo delle ricerche su internet Un altra cosa già che ci sono: sai come posso rimuovere il kernel image precedentemente da me compilato e non funzionante? Mi è rimasto nel menu Grub insieme alla sua configurazione old; Gli ho solo rimosso manualmente la directory /lib/modules/2.6.36.2-generic, che altro devo eliminare? |
05-01-2011, 20:46 | #30 | |||
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3008
|
Quote:
Codice:
watch -d 'cat /proc/cpuinfo | grep MHz' Quote:
Hai il southbridge ATI SB600? In questo caso il messaggio verrà sempre fuori, ma poi la funzione che lo sputa viene rilanciata con i parametri corretti per aggirare il comportamento fuori standard della periferica. Se non hai quel controller non darei comunque troppo peso a quel messaggio, a meno che non rallenti sensibilmente l'avvio. In caso di messaggi sospetti la prima domanda a cui cerco risposta è: si osservano anche con il kernel della distribuzione? Naturalmente Ubuntu normalmente non li mostra, ma sono tranquillamente consultabili tramite comando dmesg (tutti i messaggi del kernel dall'ultimo boot) e nei log /var/log/dmesg, /var/log/dmesg.0, /var/log/dmesg.N.gz, /var/log/kern.log, ecc... Se non li presenta è opportuno controllare se ci sono novità nella sezione del kernel coinvolto: se gli errori fossero bloccanti potrebbe risultare necessario utilizzare una versione precedente (o aggiornata se si fosse rimasti indietro). Altrimenti si cercano informazioni in giro, al solito. Quote:
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|||
06-01-2011, 10:22 | #31 |
Member
Iscritto dal: Oct 2009
Messaggi: 157
|
Dunque ho controllato le frequenze dei due core come da te detto (watch -d 'cat /proc/cpuinfo | grep MHz');
Diciamo che mi era preso un colpo quando ho letto 1000.00 MHz per ogni core Ma poi mi sono ricordato dell'esistenza del Cool n Quiet di AMD che da BIOS era abilitato... Disabilitandolo le frequenze sono tornate ok, e trai messaggi del kernel al boot è apparsa una voce che mi chiede di aggiornare il BIOS, non ricordo ora cosa c'era scritto precisamente; Fatto che il BIOS l'ho aggiornato usando flashrom, ed i messaggi del Kernel sono rimasti, compreso quello che mi chiede di aggiornare il BIOS In ogni caso ho una speranza: Dando un make gconfig per la configurazione del Kernel ho trovato questa opzione nell'albero Processor type and features: Processor type and features -> CPU Frequency scaling -> AMD Opteron/Athlon64 PowerNow Se disabilito AMD Opteron/Athlon64 PowerNow si potrebbe risolvere secondo te? Anzi, siccome la gestione delle frequenze della CPU durante l'uso del sistema non mi interessa (o meglio se proprio devo preferisco il classico Overclock) posso tentare a disabilitare l'intero sottoalbero CPU Frequency scaling o sai già a priori che farò danno? |
06-01-2011, 12:31 | #32 |
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3008
|
Hai provato a fare qualche lavoro per caricare i core?
Non devi disabilitare il PowerNow! se abbassa correttamente le frequenze quando il sistema è a riposo, è un'ottima invenzione! Stesso discorso per il driver relativo nel kernel.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
08-01-2011, 01:05 | #33 |
Member
Iscritto dal: Oct 2009
Messaggi: 157
|
Hai ragione non disabiliterò il PowerNow, solo non riesco a capire se sta entrando in funzione o meno ...
Sto cercando di fare dei Benchmark con phoronix test suite; sto installando diversi tipi di bench dal database di phoronix da testare sui diversi Kernel (precompilato di ubuntu senza BFS versus compilato vanilla con BFS); Appena avrò dei risultati ragionevoli li posto ... Ho riabilitato l'AMD Cool n Quiet, ho notato che a riposo i due core sono a 1 GHz circa di frequenza, solo sotto stress toccano il limite di 2.4 GHz. Dunque le frequenze sembrano ok, variano durante l'uso del sistema in modo moderato ... Allora a cosa si riferisce quel: "powernow-k8: limiting to cpu failed" ?? Sto continuando a cercare ed a smanettare, vediamo cosa ne ricaviamo ... |
09-01-2011, 14:35 | #34 |
Senior Member
Iscritto dal: Dec 2000
Messaggi: 1187
|
L'importante e` che variano le frequenze, non c'e` altro. Non c'e` bisogno di disabilitare niente anche se durante un lavoro ti tira il culo e vuoi settare il massimo fai cpufreq-set -g performance e ciao. Giusto perche` comunque in effetti con la cpu che gira sempre al minimo un po' di latenza in alcune cose si puo` notare. E` anche possibile elevare il "minimo" a qualcosa di piu` se magari vedi che a 1 GHz il desktop e` poco responsive.
|
09-01-2011, 17:03 | #35 |
Member
Iscritto dal: Oct 2009
Messaggi: 157
|
Io ora sto provando l'applet di gnome "Variazione frequenza CPU" ed a seconda dell'uso che ne faccio del PC imposto su "Performance" o "Ondemand" oppure anche "Powersave" se proprio non faccio nulla ... In ogni caso cambia la frequenza della CPU in un range che parte da 1 GHz fino a 2.4 GHz .. Ma funziona sul serio questa applet?? Posso farne affidabilità secondo voi?
Ho eseguito tre tipi diversi di Benchmark sui kernel Vanilla 2.6.36.2 + patch BFS, da me compilato, e kernel ubuntu 2.6.35.24-generic; I benchmark eseguiti con Phoronix test suite sono i seguenti: -BZIP2 compression -FFmpeg audio/video encoding -Build Linux Kernel I risultati ottenuti dai due Kernel sono più o meno alla pari, vorrei postare i 4 grafici (.png) ma il forum non me lo permette.. In ogni caso ricompilerò il Kernel iniziando con qualche piccola ottimizzazione e alleggerimento dei vari moduli, quindi farò altri benchmark ... Per il messaggio del "powernow-k8: limiting to cpu failed" ho trovato sul sito di AMD il driver PowerNow per processori AMD Athlon X2 da includere nel Kernel (sono due sorgenti: il file header powernow-k8.h e la sorgente powernow-k8.c); Peccato però che chiaramente nel Kernel 2.6.36.2 tali sorgenti sono già incluse... Quindi penso che non risolverò così la cosa ... Può darsi che quel messaggio alla fine non sia nulla di grave? Insomma le frequenze sembrano ok! Provo a vedere se il messaggio esce anche con il kernel generic di Ubuntu, vediamo un pò.. Per fare ciò devo dare dmesg giusto ? |
09-01-2011, 21:13 | #36 |
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3008
|
L'applet di Gnome funziona correttamente; personalmente ho messo ondemand come default e non me ne sono più curato.
Riguardo ai benchmark direi che è corretto che i risultati risultino pressoché uguali a seguito di una semplice ricompilata + patch BFS. Quella patch introduce miglioramenti difficilmente misurabili con benchmark classici, essenzialmente una maggiore prontezza del sistema durante l'uso interattivo. Per finire, l'errore: se la frequenza varia correttamente non mi preoccuperei granché di quel messaggio. Puoi dare un dmesg avviando con il kernel Ubuntu per controllare se è presente. Hai provato ad aggiornare al nuovo 2.6.37? Magari ora han corretto il problema.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
13-01-2011, 23:36 | #37 |
Member
Iscritto dal: Oct 2009
Messaggi: 157
|
Ho ricompilato il kernel con la sorgente 2.6.37, è filato tutto liscio fortunatamente, ho iniziato anche con qualche ottimizzazione sul gconfig
Il messaggio all'avvio si continua a presentare, ma le frequenze però sono ok .. Dando un "dmesg | grep powernow" sul kernel 2.6.35.24 di Ubuntu l'errore non c'è, quindi lo vede solo il kernel da me compilato ... Però se in realtà tutto funziona per ora posso lasciar stare, più avanti si vedrà Conoscete magari un modo per togliere quei maledetti messaggi di errore del Kernel in fase di boot? Un'altra cosa Io generalmente quando compilo un programma con gcc / g++ passo al compilatore alcuni flag per l'ottimizzazione (-O2, -O3, -march=Athlon64, -pipe, -m3dnow ecc...); Nel caso della configurazione del Kernel mi sembra di aver capito che questi passaggi non si eseguono poichè i moduli 3dnow, msse2, mmx ecc sono già abilitati sul .config.. Vero? In ogni caso ora inizierò a smanettare di brutto nella configurazione, vediamo quanti casini combino |
14-01-2011, 00:11 | #38 | ||
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3008
|
Quote:
Se si tratta di errori non c'è modo di mascherarli, tranne commentandoli dai sorgenti o utilizzando uno splash screen. Se si tratta di warning dovrebbero sparire insieme a tutti gli altri messaggi utilizzando passando il parametro quiet al kernel, in Grub. Quote:
Per attivare le ottimizzazioni corrette per la propria CPU e le ottimizzazioni classiche (-O2 -fomit-frame-pointer e altre piccolezze) occorre impostare queste voci ([ ] evidenzia opzioni da disattivare): Codice:
General setup ---> [ ] Optimize for size [*] Optimize trace point call sites Processor type and features ---> [ ] Support for extended (non-PC) x86 platforms [*] Single-depth WCHAN output Processor family (SCEGLIERE LA FAMIGLIA CORRETTA) ---> [ ] Generic x86 support Kernel hacking ---> [ ] Compile the kernel with frame pointers [*] Allow gcc to uninline functions marked 'inline'
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
||
14-01-2011, 22:59 | #39 |
Member
Iscritto dal: Oct 2009
Messaggi: 157
|
Aspetta, fammi capire, che io sappia la splash screen è la schermata visualizzata in fase di caricamento di un programma ...
Quindi nel momento che visualizzo i messaggi sul monitor il sistema non è fermo? Carica? Dunque non perdo tempo di boot ... Se così fosse i messaggi possono anche restare .... |
14-01-2011, 23:38 | #40 | |
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3008
|
Con "splash screen" volevo indicare la grafica standard di Ubuntu visualizzata durante l'avvio. Se non sbaglio la denominazione più calzante è boot splash.
Quote:
In alcuni casi però cercherà di sistemare il problema individuato impiegando tempi percepibili. Da qualche tempo nei kernel della famiglia Debian è stata attivata la stampa dell'istante in cui viene visualizzato il messaggio (Kernel hacking ---> Show timing information on printks). Ricercando in dmesg gli/l'errore e controllando i tempi delle righe successive è possibile capire se si hanno ritardi fastidiosi.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:58.