Newsgroup: it.comp.os.linux.iniziare
Titolo: Compilare in Linux

Ciao a tutti,
(kubuntu 8.04 + msi wind u100)
volevo farvi qualche domanda riguardo alla compilazione del Kernel, 
ovviamente ho già letto guide e fatti svariati tentativi tutti finiti 
nel peggiori dei modi.
Quando bisogna specificare le caratteristiche hardware, spesso non so 
cosa rispondere e finisco sempre per mettere qualcosa di inutile o 
eliminare parti fondamentali. Purtroppo non sono un professionista in 
linux, ma lo uso quotidianamente quindi mi considero un utente medio
Domande "semplici":
cosa deve fare un utente medio con tanta curiosità per configurare il 
kernel?
Vorrei compilare il kernel sul portatile msi wind u100, è possibile fare 
queste prove senza renderlo inutilizzabile e essere costretto a ghostare 
la macchina?
Grazie
Lele

 la macchina?
Certo che si può.
Spero tu non stia compilando alla maniera "classica" (cioè make menuconfig;
make; make install).
Per Debian, e le sue derivate, esiste la "Debian-Way". Installa kernel-package,
e leggi qualcosa su come utilizzare make-kpkg. Alla fine ti ritroverai con un
bel kernel in formato .deb da installare, che ovviamente non sostituirà quello
"distribuito ufficialmente", e che, se dà problemi, puoi sempre rimuovere dopo
aver riavviato con il kernel "funzionante".
Un consiglio spassionato: lasciati sempre *almeno* un kernel funzionante.
SEMPRE. :)
Ciao,
David
-- 
 . ''`.  Debian maintainer | 
http://wiki.debian.org/DavidPaleino
 : :'  : Linuxer #334216 --|-- 
http://www.hanskalabs.net/
 `. `'`  GPG: 1392B174 ----|---- 
http://snipr.com/qa_page
   `-   2BAB C625 4E66 E7B8 450A C3E1 E6AA 9017 1392 B174

 la macchina?  
certo;
puoi avere più di un kernel da lanciare in Lilo o Grub, se quello 
ricompilato non va puoi riavviare col vecchio;
r
-- 
...considero cose simili graziose, sì, ma pane soprattutto per un uomo
molto curioso, pignolo e non troppo felice...
[Platone, Fedro]
tutto sui Pentangle: 
http://umpf.net/

 quindi lilo -v
Ha una *buntu.. facciamogli seguire la Debian-Way...


 Ha una *buntu.. facciamogli seguire la Debian-Way...
ok, ma sconosco, l'ho fatto solo con la Slack;
perà presumo che il punto centrale, partire dal .config funzionante, sia 
valido per tutte le distro;
r
-- 
basta con mani pulite!
rimettiamole nel barattolo della marmellata!


 valido per tutte le distro;
Sì, certo :)
In Debian, e presumo anche nelle -like, il config del kernel attualmente in uso
si trova in /boot/config-`uname -r`. Non so se questo vale anche per le altre
distro comunque.
Il vantaggio di effettuare una compilazione alla "Debian-way" è, alla fine, di
avere un .deb per ogni parte del kernel compilato (immagine, headers,
documentazione, sorgente), da poter comodamente gestire con apt-get, aptitude,
synaptic, adept, e qualunque altro frontend a dpkg :)
Saluti,
David


Ciao a tutti,
quindi dovrei partire a compilare con una Debian-way?
Non ho ben capito quale sia il reale vantaggio di avere un kernel .deb.
Di preciso a che serve?
cp /boot/config-del-kernel-in-uso   .config
a che serve questa operazione? cp = copia.
Prende delle impostazione già esistenti e le utilizza per creare un 
nuovo kernel?
Se si non rischio di avere un kernel pieno di cose inutili?
Ciao
Lele

 Se si non rischio di avere un kernel pieno di cose inutili?
Forse. Ma è sempre meglio togliere e rischiare di dimenticare qualcosa di
inutile, che mettere uno ad uno e rischiare di dimenticare qualcosa di
*assolutamente necessario*.
Ciao,


 Ha una *buntu.. facciamogli seguire la Debian-Way...
Meglio ancora,facciamogli cambiare distro .
Debian e derivate non amano i kernel vanilla,se si desidera compilarsi
kernel e altro IHMO e' preferibile usare "altra distro" .

 *assolutamente necessario*.
Domanda stupida, allora perché non tenersi direttamente quella fornita 
di default? Praticamente è un copia incolla un po più complicato giusto?
Grazie
Lele

 Meglio ancora,facciamogli cambiare distro .
Domanda banale, perché c'è tanta gente che odia *buntu? Le motivazioni 
sono tecniche o "religiose", in stile non esiste nulla al di fuori di 
Linux/Windows a seconda dei sostenitori.
Io trovo *buntu deliziosa, da quando l'ho installata le mie capacità in 
Linux sono cresciute in poche mesi in maniera esponenziale.
Non a caso sto tentando di compilare un kernel che non è proprio una 
passeggiata.
Ciao
Lele

io ho trovato abbastanza illuminante il libro
O Reilly - Linux Kernel in a Nutshell
e ho compilato un kernel vanilla pur avendo una debian
sono diversi mesi che lo uso, e non ho avuto (ancora...) nessun fastidio
rigurdo alle opzioni, di ognuna c'e' un piccolo commento
da li puoi sempre approfondire con google...
il fatto e' che sono proprio tante (1000 circa)

 di default? Praticamente è un copia incolla un po più complicato giusto?
No.
Non abbiamo (io e Rama) detto: "Prendi il .config e ricompila". Abbiamo detto:
"Prendi il .config di default, e comincia a togliere quello che *sicuramente*
non hai (diciamo: versione 1), e vedi se funziona. Se funziona, torna a togliere
cose che pensi di non avere (diciamo: versione 2), con un po' di giudizio. Se
scopri che non funziona qualcosa, analizza le differenze tra versione 1 e 2, e
vedi cos'hai tolto di necessario".
Spero sia più chiaro :)
Kindly,


 il fatto e' che sono proprio tante (1000 circa)
Tu più di tutti hai centrato il mio problema, come caxxo faccio a 
cercami più di mille caratteriste per questo e quello.
Dicono c'è -"il commento delle opzioni". E' ridicolo, almeno che tu non 
sappia già cosa stai facendo ma in questo caso non scriverei su 
it.comp.os.linux.iniziare .
In oltre le mie capacità non sono (ancora) cosi evolute per capire il 
vero significato di queste opzioni.
Ciao
Lele

 il fatto e' che sono proprio tante (1000 circa)
Allo scorso Linux Meeting, a Palermo, io ho tenuto un talk sul "Kernel
Hacking"... doveva proprio essere "hacking" (cioè mettere mano al codice del
kernel, modificare parti), ma ovviamente ho cominciato da "make menuconfig"...
ebbene sì, sono riuscito a parlare *solo* della configurazione, ho "perso" 2
ore (DUE, dicasi *DUE*) a spiegare ogni minima voce... immagina la platea
quant'era contenta! ;)
(però, a dir la verità, alla fine c'era gente che mi seguiva, e mi han pure
fatto domande alla fine del circo...)


 it.comp.os.linux.iniziare .
E invece sbagli approccio, se posso permettermi.
Se avessi letto il commento di ogni opzione (c'è un tasto "Help", per ognuna),
c'è scritto chiaramente cosa fa. Inoltre, per le opzioni "importanti", c'è
anche scritto:
If you are unsure, it is safe to say X here.
Dove X può essere Y, N, M. Basta seguire i consigli :)
Posso dirti che, anche dopo anni di ricompilazione del kernel, c'è gente
(eccomi, presente!) che ha ancora dubbi su qualche voce... e la lascia di
default :)
Comunque, potresti cominciare, per esempio, a compilare il kernel per la tua
architettura e il tuo processore: cerca le voci apposite :)
Secondo: hai suppongo *una* sola scheda video. Seleziona solo quella (se non
sai qual è di preciso, lascia segnate tutte quelle di quella marca, o aiutati
con "lspci") e lascia anche una scheda "generica".
Terzo: stesso discorso del punto due per le schede di rete.
Quarto: c'è una pagina sui protocolli. Lasciati TCP/IP, PPP, IPv4, IPv6. Ci
sono protocolli che io non ho mai usato, tipo quelli per comunicare con gli
Apple (e io, non avendo Apple in giro..)
Quinto: vai così, piano, per ogni menu e sottomenu. Il solo "make menuconfig"
può anche richiedere un'oretta.
Ciao,
David


 vedi cos'hai tolto di necessario".
Qui c'è il vero difficile, che fa la differenza tra un kernel decente, 
indecente e un altro non funzionante. Sarebbe bello creami un Kernel con 
SOLO quello che mi serve ma per ora è solo una chimera.
Ciao
Lele

 una chimera.
Come ho già detto in un altro post, anche dopo anni avrai *sempre* dubbi,
anche solo perché qualche voce non hai capito cosa volesse da te :)
Ciao,


 passeggiata.
Lo e',se hai una vaga idea di quello che devi fare .

 Lo e',se hai una vaga idea di quello che devi fare .
Come ho scritto le primo post, ho fatto diversi tentativi tutti falliti.

 magnetico o di qualche plotter.
dovrai cercare il supporto nell'opzione -DeviceDrivers-
andando in menuconfig, e dando / si puo' inserire una stringa di ricerca
cercando la parola tape escono un po' di opzioni a riguardo
immagino siano quelle le opzioni che ti interessano
per i plotter non ricordo di aver mai visto niente a riguardo tra le 
opzioni del kernel... forse sono trattati come stampanti?
comunque se leggi il libro -Linux in a Nushell- della O'Reilly
al suo interno spiega un intelligente sistema per verificare la presenza 
di supporto per un certo hardware
si tratta di leggere i bytes relativi al produttore/prodotto
e con grep cercare tra i sorgenti quello del modulo che contiene tali 
valori, e quindi che supportera' l'hardware in questione
come dire... con un po' di pazienza...

Se va, bene, continui, se no, torni indietro, e vedi quali voci hai tolto.
Ho seguito tutti i tuoi interventi in questo 3d, ho una Etch
tutta al default specialmente per il kernel.
L'update lo faccio, a mano e ogni tanto, con dselect. 
Abbastanza spesso mi cambia il pacchetto del kernel e tutto
in automatica mi cambia anche initrd.img e poi da' lilo.
Sempre tutto perfetto.
Ebbene, se io volessi compilare il kernel ho questo dilemma:
1. compilo un nuovo kernel ogni volta (pesantino)
2. blocco l'update del kernel (mi dispiace assai)
Avresti qualche consiglio?
Tra l'altro nel caso 1 chi mi avviserebbe di nuove versioni
di pacchetto o di kernel?
E poi, dilemma_3: io compilerei un kernel senza initrd e
allora cosa tutto mi succede quando dselect mi updata col
kernel con initrd, prima che io lo ricompili?
-- 
Saluti, Dalet

 può anche richiedere un'oretta.
Sesto: Lascia sempre un kernel **generico** e funzionante nel bootloader.
La volta che ti parte la scheda video (o rete, ecc), ed il tuo kernel 
monolitico custom supporta solo quella ... hai un modo per bootare lo 
stesso.
ciao, f.


forse non ti e' chiara una cosa...
puoi prendere il file -config- di qualsiasi distribuzione
(praticamente tutte le distribuzioni danno, oltre al kernel, il suo file 
di configurazione)
lo copi nella tua directory dei sorgenti del kernel col come .config
e quando dai make menuconfig, ti compaiono gia' selezionate le stesse 
opzioni con cui era stato compilato quel kernel...
a quel punto cambi solo quello che ti interessa

 kernel con initrd, prima che io lo ricompili?
Non ho capito: che vuoi dire? dselect (o qualunque altro frontend) aggiorna solo
i pacchetti "da aggiornare" (-.-), una volta che tu ricompili il tuo kernel,
avrai un .deb "in locale", che non si aggiornerà *MAI* (a meno che tu non
ricompili di nuovo..).


 Se si non rischio di avere un kernel pieno di cose inutili?
in parte, molte voci non sono segnate, le altre le elimini pian pianino, 
così nel caso sai cos'è che non devi togliere;
partire da una configurazione esistente non ti getta nell'incubo della 
partenza da zero;
in ogni caso in xconfig se clicchi su una voce ne spiega il significato, 
se parla di roba per radioamatori puoi attivare/disattivare la voce a 
seconda che ti serva o no;
in giro ci sono anche diverse guide sulle voci;


ricompili di nuovo..).
Va be' non ho altra strada che provare a farlo, tanto c'ho
la deb_old di prova, vuol dire che chiedero' lumi strada
facendo, perche' questo ".deb in locale" non lo capisco
proprio:-(   cmq THX del reply!
-- 
Saluti, Dalet

 Come ho scritto le primo post, ho fatto diversi tentativi tutti falliti.
è normale se parti da zero, anch'io ci sbattei la crapa contro;
r
-- 
basta con mani pulite!
rimettiamole nel barattolo della marmellata!
tutto sui Pentangle: 
http://umpf.net/

 perche' questo ".deb in locale" non lo capisco proprio:-(
È un pacchetto che ti crei tu, e che hai solo tu, e che nessun altro al mondo
ha. Va meglio così? :)


al mondo ha. Va meglio cosě? :)
Ok... pensavo parlassi in inglese e il comando locale e' una
delle mie bestie nere;-)
-- 
Saluti, Dalet

 
sicuro?
quelle che ho trovato io si limitavano a riportare pari pari i commenti 
gia' presenti...
a me sembra invece che manchi proprio una guida seria e omnicomprensiva 
di tutte le voci

 kernel e altro IHMO e' preferibile usare "altra distro" .
E perché? I due kernel che ho compilato li ho giusto presi da li e 
andavano benissimo :-)
-- 
GenTLe ...di Varese, provincia.
TL1000S + Mito 125 per la pista
La mia HP: 
http://digilander.iol.it/thegentle/index.htm
Is there anyboy out there? (cit.)

 SOLO quello che mi serve ma per ora è solo una chimera.
Ma alla fine la stragrande maggioranza delle opzioni del kernel sono 
moduli, che vengono caricati o meno alla bisogna. Quindi perché (se non 
poer self-studying) devi ricompilarti il kernel e rimuovere tutto?


 
Non ne dubito,ma...
A) usi debian e non una *buntu
B)sei un "pelo" piu' sgamato dell'OP  ;-)
PS anche io uso il vanilla su debian , ma come sai prima di lanciare il make
menuconfig devi lavorare di apt-get per installare un sacco di dipendenze ,
in slack hai gia' tutto appena finita l'installazione ...

 sicuro?
ne avevo pescata una molto dettagliata anche se parziale, non so se 
l'hanno completata;
in ogni caso non è che si debba aspirare alla perfezione, penso;
a me ricompilare è servito per fare andare Rosegarden che si lamentava 
della latenza, ad altri per far andare un certo hw e così via, credo sia 
possibile farlo per chiunque sia disposto a perderci del tempo, nat. se 
il kernel lo consente, se non c'è già incluso il supporto per un certo 
hw le cose si complicano;


 della latenza, ad altri per far andare un certo hw e così via, credo sia 
azz!
ho lo stesso problema, e ho provato di tutto...
tu cosa hai cambiato?

 
A siiii?
Incredibile, ed io che mi compilo un kernel vanilla appena esce nella
speranza che mi risolva una cosetta sul mio hdd sata.
Bah, gli diro' che NON deve compilarsi :-)
Ciao

Tailhorn ha scritto:

Le "dipendenze" di cui parli tu, sono le build essential, che altro non
e' che il compilatore & C.
Se uno non vuole sviluppare e' giusto che non sia installato di default,
invece di fare come slackware, da quello che hai appena detto.
Se proprio vuoi fare il talebano, usa lfs e non se ne parli piu'. Li hai
 TU il controllo di tutto.
Paride

 speranza che mi risolva una cosetta sul mio hdd sata.
no beh... se compili vanilla non c'e' garanzia che tutto poi fili liscio...
tanto per dirti una (ma chi puo' saperlo quante sono?)
io mi son compilato vanilla il mio, e ho ovviamente compilato il driver 
della mia scheda video built-in e non come modulo
errore!
all'avvvio c'e' uno script (discover) che si lamenta perche' non trova 
il modulo della scheda video per caricarlo...
poi tutto funziona lostesso... ma instanto all'avvio compare una 
fastidiosa scritta d'errore...

  TU il controllo di tutto.
altro che talebano...
chi sa farsi una LFS (funzionante) e' un gran figone!

 della mia scheda video built-in e non come modulo
ho detto scheda video... errore... mi succede con la scheda audio...

 Se uno non vuole sviluppare e' giusto che non sia installato di default, 
C mi sembra che non serva solo per compilare, ma forse mi confondo;
r
-- 
Occidente Occidente
alla guerra alla gloria alla storia
[da Ko de mondo, CSI 1994]
Baudelaire e l'arte: 
http://umpf.net/

 tu cosa hai cambiato?
se non ricordo male  in Processor type ho attivato Preemptive kernel e 
messo Timer frequency a 1000MHz, non so se ho fatto altro;


 Bah, gli diro' che NON deve compilarsi :-)
Bravo! ;-) 
Pero' non ho scritto IMPOSSIBILE, ma che per chi non ha dimestichezza con la
compilazione e la risoluzione delle dipendenze (se ricordo bene manca un
sacco di roba necessaria per compilare il kernel ,di default) e' dura , io
stesso uso vanilla con qualsiasi distro , debian compresa .