Newsgroup: it.comp.os.linux.iniziare
Titolo: compilazione kernel, un dubbio.

Salve.
Ho sempre compilato il kernel senza nessun tipo di problema,
in genere seguendo sempre le indicazioni del file README.
Ricordo che in questo file veniva suggerito di effettuare dei
link simbolici alle directories /usr/include/asm, linux e scsi.
Da un po' di tempo questa indicazione non e' piu' presente cosi',
nella compilaione degli ultimi kernel, non l'ho piu' fatto.
Anche cosi' non ho mai avuto problemi.
Ho appena comprato la rivista Linux&C con allegato un piccolo quaderno.
Qui si parla della compilazione del kernel e, tra i passi da seguire,
viene riportato che bisognerebbe effettuare i seguenti link simbolici:
ln -s /usr/src/linux/include/asm-i386 /usr/include/asm
ln -s /usr/src/linux/include/linux /usr/include/linux
ln -s /usr/src/linux/include/scsi /usr/include/scsi.
Il mio dubbio e': e' necessario farli questi link?
Se si', per quale motivo nel README non viene piu' inidicato?
Grazie.
-- 
per rispondere togli <toglimi> dall'indirizzo di posta. 


Io ho ricompilato il kernel decine di volte, dal 2.0.36 al 2.3.47 e quei
link non li ho mai rifatti.
Ciao. 
-- 
*** Per E-mail rimuovi ModE dall'indirizzo ***
             *** ICQ 33500725 ***
           *** Powered by Linux ***

 per rispondere togli <toglimi> dall'indirizzo di posta.
Non è necessario. A parte .../scsi gli altri sono già nella
distribuzione dei sorgenti. Gli include scsi per programmare sono
aggiornati nella glibc. La cosa importante è spacchettare i sorgenti in
/usr/src/linux (può essere anche un symlink a /usr/src/linux-a.b.c)
ciao, oops.

Grazie.
Saperlo! :-))
Ciao
Ale
-- 
Home Page: 
http://web.tiscalinet.it/airaghi
Per ottenere il mio indirizzo e-mail sostituire a NOSPAM il mio cognome

/usr/src/linux (può essere anche un symlink a /usr/src/linux-a.b.c)
Io riesco a compilare il kernel 2.2.14 solo se sono presenti i seguenti
due link:
# ln -s /usr/src/linux/include/asm-i386 /usr/include/asm
# ln -s /usr/src/linux/include/linux /usr/include/linux
Come mai?



Per forza.
Ho detto che non è necessario farli, ma ho anche detto che ci sono già
nella tarball dei sorgenti e degli include e glibc del linux. Per quello
non occorre farli, e il kernel si compila senza doverli fare. Ma sono
necessari, se uno di essi manca va aggiunto.
ciao, oops

E' necessario: avere quei links
Non è necessario: farli a mano ogni volta, perchè stanno già nelle
tarball dei sorgenti del kernel, degli include e delle glibc del
sistema. Tutto qui. E se non ci sono è una svista.
Ecco, forse così è più chiaro.
Suppongo che per via del fatto che non è più necessario farli a mano
allora è stata tolta ogni indicazione a proposito dal README. E' una mia
supposizione, ma so per certo che ad esempio L.Torvalds ha voluto
esplicitamente che la tarball dei sorgenti non si scompattasse più a
partire da /usr/src/linux-a.b.c bensì direttamente in /usr/src/linux per
motivi di praticità. Quindi mi pare che ci sia una certa attenzione
verso la facilità di ricompilare o applicare le patches (=> nel non fare
sempre quei links a mano) ...
ciao, oops

 compilazione del kernel 2.2.14 segnala errore) questi due link:
Ripeto, non so perche' da te sia necessario: da quando io ho abbandonato
i kernel 2.0.x non ho piu' dovuto crearli. Ma hai provato con un source
tree ex novo? Intendo dire, non e' che per caso hai qualche rimanenza di
un kernel 2.0.x in /usr/src/linux?
-- 
Pierluigi De Rosa (
tho...@durin.khazad-dum.net
).
<<      LINUX: the choice of a GNU generation     >>
<<   For my real address... ask the Balrog.       >>
* Sostenete la Lega per la Soppressione dei Troll *

un kernel 2.0.x in /usr/src/linux?
No, e' il kernel 2.2.13 + patch per il .14
Non  dico che  i link  siano da  creare tutte  le volte  ma che  se vuoi
ricompilare il  kernel la loro  presenza e' necessaria. Questi  due link
sono contenuti nel  pacchetto kernel-headers-2.2.12-20.i386.rpm della rh
6.1.  Eliminando  tale pacchetto  dal  mio  sistema  Linux (rpm  -e)  ho
cancellato *anche  quei due link*.  Scaricata la tarpalla  dei sorgenti,
letto il  README, non avendo trovato  nessuna info a proposito  dei link
sono nati i casini :(
Per quello mi era venuto il dubbio che si tratti di una svista di chi ha
scritto il README.


necessari, se uno di essi manca va aggiunto.
Sulla rh  6.1 i due link  sono presenti nel pacchetto  kernel-headers. I
casini sono nati quando ho cancellato  tale pacchetto per far posto alla
tarpalla dei sorgenti.
Ho dovuto  fare a mano  i link, ma  nel README non  si dice nulla  a tal
proposito. E' questo che non riesco a capire.
Magari mi sto perdendo in un bicchier d'acqua, abbiate pazienza :))


 sono contenuti nel  pacchetto kernel-headers-2.2.12-20.i386.rpm della rh
Ecco perche' allora... tra l'altro non capisco perche' compilando non
vengano usati gli header del tarball che sarebbe la cosa piu' logica.


 Ale
Al di là della distribuzione in formato rpm, dobbiamo riferirci a quella
originale in formato tar.gz perchè il README viene da quella. Per via
del fatto che se spacchetti le tarball che ti servono i links te li
ritrovi già pronti (fatto non certo casuale...) nel README non c'è
scritto niente. Direi che non è una svista, IMHO
ciao.

 di praticità.
Preferivo come era prima. Infatti con 3/4 Kernels di /usr/src/, devo
fare attenzione ogni volta che ne scompatto uno nuovo :-(
-- 
                                                                     __
 __                                                              _  ///
| _        Student in Computer Science, Swiss Federal Institute  \\///
|__|iambo      of Technology - mailto:
ggia...@iiic.ethz.ch
       \X/

c'è scritto niente. Direi che non è una svista, IMHO
Perdonami ma non capisco proprio la frase: "se spacchetti le tarball che
ti servono i links te li ritrovi gia' pronti".
Io spacchetto la tarpalla ma non mi ritrovo nessun link gia' pronto.
# cd /usr/src
Partiamo da zero. Elimina i sorgenti:
# rm -rf linux/      
Scompatta l'archivio presente sul CD#3 di Linux&C.
# tar xvzf /mnt/cdrom/kernel/linux-2.2.13.tar.gz  
Applica la patch /home/alex/download/bz2/patch-2.2.14.bz2:
# cd /home/alex/download/bz2/
Richiama lo script per applicare la patch:
# /usr/src/linux/scripts/patch-kernel
Ora, dove dovrei trovare i link?


 Ora, dove dovrei trovare i link?
Oooh che bello, finalmente l'occasione di un post preciso, senza tante
parole.
Permettimi di usare come esempio la tarball linux-2.2.14.tar.gz, chč ce
l'ho qua vicino.
la spacchetto eppoi vado a vedere:
in linux-2.2.14 include trovo:
asm -> asm-i386
nel sistema, dallo spacchettamento di altre tarball, non voglio sparare
filenames a caso, ho anche:
/usr/include/asm -> /usr/src/linux/include/asm
questo link non l'ho fatto io direttamente.
/usr/include/scsi non č un link, bensě una directory della glibc.
Se non dimentico nulla, direi che posso concludere che l'unico link da
fare, nel mio caso, č il solito linux -> linux-2.2.14, ma spesso non
occorre fare neppure questo quando la tarball si spacchetta in ./linux
anzichč in ./linux-a.b.c.
Cosa ne pensi?
ciao.