PDA

View Full Version : compilazione kernel


freddyb
19-06-2004, 16:44
ciao a tutti,vorrei aggiornare il kernel dalla versione 2.6.3 alla 2.6.6
ho seguito le varie guide sul web ,installando i vari modutils kernel-package libncurses5-dev module-init-tools kernel-source-xxx fakeroot
ma nel momento in cui entro nella directory /usr/src/kernel-source.... e
do il comando make menuconfig
la shell risponde:
root@home:/usr/src/kernel-source-2.6.6# make menuconfig
HOSTCC scripts/basic/fixdep
In file included from /usr/include/sys/socket.h:35,
from /usr/include/netinet/in.h:24,
from scripts/basic/fixdep.c:107:
/usr/include/bits/socket.h:305:24: asm/socket.h: No such file or directory
make[1]: *** [scripts/basic/fixdep] Error 1
make: *** [scripts_basic] Error 2
root@home:/usr/src/kernel-source-2.6.6#

succede ancke con il kernel 2.6.5 sia dei pacchetti debian che dei sorgenti di kernel.org
come posso risolvere?

P.S. la mia distribuzione è la debian sarge con pacchetti aggiornati a due settimane fa
grazie

freddyb
20-06-2004, 12:52
up

freddyb
25-06-2004, 14:24
forza ragazzi aspetto consigli
ciao

jerrygdm
25-06-2004, 14:57
Anch'io ho debian....ma per quanto riguarda il kernel da un pò preferisco prelevare il kernel da www.kernel.org il tar.gz completo, scompattarlo e configurarlo normalmente senza usare apt e vari kpkg.

Prova a fare così scaricati la 2.6.7 che c'è già da un pò nuova da kernel.org, scompattala con tar zxvf nomekernel.tar.gz, fai:

make mrproper (in teoria non serve ma prova a farlo lo stesso)
make menuconfig (o xconfig)
make all && make modules_install && make install

facci sapere.

freddyb
25-06-2004, 22:58
ti ringrazio ho provato a seguire i tuoi comandi con i sorgenti del kernel 2.6.5 che avevo preso in precedenza da kernel.org ma il problema è sempre lo stesso :cry:
sia scrivendo
make menuconfig
che
make xconfig

ipfw
26-06-2004, 01:22
prova ad aggiornare le glibc

freddyb
26-06-2004, 14:16
se provo ad aggiornare le glibc ottengo

root@home:/home/ferdinando# apt-get install glibc
Lettura della lista dei pacchetti in corso... Fatto
Generazione dell'albero delle dipendenze in corso... Fatto
Package glibc is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Il pacchetto glibc non ha candidati da installare


è normale o sbaglio io a scrivere apt-get install glibc?

la versione della debian è la testing

ipfw
27-06-2004, 16:07
quello che fai e' ok, cmq per cercare un pacchetto nel database prova con apt-cache search nomepacchetto, e per vedere se hai un pacchetto installato nel tuo sistema usa dpkg -l | grep nomepacchetto.
Devi provare ad aggiornare le libc6 e le libc6-dev

apt-get install libc6
apt-get install libc6-dev

ciao

freddyb
27-06-2004, 22:38
ho appena aggiornato le libc6 e le libc6-dev
dando il comando cercando se ho installato glibc ottengo
root@home:/home/ferdinando# dpkg -l | grep glibc
ii glibc-doc 2.3.2.ds1-12 GNU C Library: Documentation
ii libdb1-compat 2.1.3-7 The Berkeley database routines [glibc 2.0/2.
mentre se provo ad installare glibc o glibc2

root@home:/home/ferdinando# apt-get install glibc
Lettura della lista dei pacchetti in corso... Fatto
Generazione dell'albero delle dipendenze in corso... Fatto
Package glibc is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Il pacchetto glibc non ha candidati da installare
root@home:/home/ferdinando# apt-get install glibc2
Lettura della lista dei pacchetti in corso... Fatto
Generazione dell'albero delle dipendenze in corso... Fatto
Package glibc2 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Comunque il seguente pacchetto lo sostituisce:
locales
E: Il pacchetto glibc2 non ha candidati da installare
root@home:/home/ferdinando#

mi sembra non riporti niente riguardo a glibc è possibile?
ciao e grazie

freddyb
27-06-2004, 22:40
dimenticavo naturalmente il kernel continua a non compilarlo
ciao

ipfw
28-06-2004, 00:20
ok, allora prova ad aggiornare i kernel headers con la versione corrispondente al kernel che vuoi installare: apt-get install kernel-headers-2.6.6.
Inoltre prima di fare make config prova a fare make mrproper

freddyb
28-06-2004, 13:37
i kernel headers 2.6.6, volendo aggiornare al kernel 2.6.6, li avevo già installati
ed ho anche dato il comando mrproper
ottenendo clean .config

ma qundo si tratta di dare make config o menuconfig
si blocca subito scrivendo che non trova il file asm/socket.h

come lo aggiungo sto file mancante?
secondo te le glibc da me sono installate?
ciao

linux_goblin
28-06-2004, 15:58
una soluzione potrebbe essere quella di mettere i sorgenti nella cartella giusta e cioè /usr/src/linux

che deve essere un soft link a /usr/src/linux-2.6.quellochevuoi

capito?

secondo me è per questo che non trova asm ecc. ecc.

ciao,
Marco - Goblin

cyber
28-06-2004, 16:18
Originariamente inviato da jerrygdm
Anch'io ho debian....ma per quanto riguarda il kernel da un pò preferisco prelevare il kernel da www.kernel.org il tar.gz completo, scompattarlo e configurarlo normalmente senza usare apt e vari kpkg.

Prova a fare così scaricati la 2.6.7 che c'è già da un pò nuova da kernel.org, scompattala con tar zxvf nomekernel.tar.gz, fai:

make mrproper (in teoria non serve ma prova a farlo lo stesso)
make menuconfig (o xconfig)
make all && make modules_install && make install

facci sapere.


Ma in Debian il kernel non dovrebbe essere compilato con make-kpkg kernel_image dato all'interno della directory dei sorgenti (/usr/src/dir_sorgenti)?

jerrygdm
28-06-2004, 16:24
In debian puoi compilare con 2 metodi: il metodo debian oppure quello classico.
Quello che dici tu è il metodo debian che è + semplice ma per esempio a me con quel metodo non mi andava il bootsplash...si ammetto una cavolata ma poi ricompilando manualmente tutto un paio di volte sono riuscito a metterlo.

freddyb
28-06-2004, 19:48
Originariamente inviato da linux_goblin
una soluzione potrebbe essere quella di mettere i sorgenti nella cartella giusta e cioè /usr/src/linux

che deve essere un soft link a /usr/src/linux-2.6.quellochevuoi

capito?



fino a qui ci sono è dal make menuconfig in poi che non va

nella cartella /usr/src/linux-xxxxxx i sorgenti ci sono
ho anche creato il link simbolico e ci sono entrato ma il risultato non cambia

ho paura che avendo installato la debian da una versione cvs della knoppix(anche se un dist-upgrade l' ho fatto) manchi qlc ma cosa?

ipfw
29-06-2004, 00:45
boh! e' un bel mistero! Per quanto ne so dovrebbe andare, del resto se cerchi sul sito debian all'interno dei pacchetti testing (http://www.debian.org/distrib/packages#search_contents) il file asm/socket.h i risultati portano ai kernel headers
http://packages.debian.org/cgi-bin/search_contents.pl?word=asm%2Fsocket.h&searchmode=searchfilesanddirs&case=insensitive&version=testing&arch=i386

in alternativa prova a scaricare un kernel nuovo come dice cyber...

mah! :confused:

freddyb
29-06-2004, 23:36
grazie a tutti
x questa settimana mi arrendo :(
stasera ho provato anche scaricando un nuovo kernel dalla rete ma
il problema resta sempre
in questi giorni sono impegnato con gli esami all' università
appena sono + libero riprenderò a "torturarvi "con nuovi problemi,
tanto quelli non mancano mai
;)

ciao

pigio
29-06-2004, 23:51
hai provato a dare il comando
#make config

se funziona e ti pone le domande necessarie per configurare il kernel, il tuo è un problema di librerie ncurses

freddyb
04-07-2004, 14:11
Si, già provato ma il risultato è lo stesso
ciao

freddyb
05-07-2004, 00:29
Mitico... cercando un po' in internet sono riuscito a trovare la soluzione,
bisognava creare nella cartella /usr/src/kernel-source-2.6.6/include
un soft-link alla cartella asm-i386 chiamato asm, ormai è tardi mi sa che compilerò il kernel nel prox week-end,
l' importante è che il problema si è risolto
ciao a tutti

jerrygdm
05-07-2004, 08:39
ah....mai sentita questa....buono a sapersi.

cyber
05-07-2004, 09:08
ciao,
ieri sera stavo ricompilando il kernel della mia woody solo che a metà processo mi ha datto errore e non ne capisco il motivo. Vorrei mostrarvelo ma non so dov'è il log della compilazione... aiutino? :)

jerrygdm
05-07-2004, 11:45
basta che quando fai:

make all && make modules && make modules_install && make install redirigi lo standard output e error (anche se in teoria basta l'error)


make all && make modules && make modules_install && make install > log.txt 2>logerrori.txt

e poi ti guardi i relativi log.

cyber
05-07-2004, 17:34
Così però devo rilanciare la compilazione, pensavo ci fosse un altro sistema.

jerrygdm
05-07-2004, 19:28
non so se c'è....

cyber
05-07-2004, 19:49
Cmq adesso vorrei provare il kernel 2.6.7 solo che sto navigando tra le opzioni e devo dire che è un vero bordello... :p Qualche consiglio sulle cose utili da includere nel kernel? :)

jerrygdm
05-07-2004, 22:28
Beh sarà uguale al 2.6.6...o quasi

tra le cose + importanti c'è il kernel preemption, alsa, frambuffer scheda video, usb, patch da aggiungere se si vuole bootsplash + attivare opzioni bootsplash e poi devi vedere in base la tua config e quello che vuoi includere nel kernel e quello che vuoi mettere come modulo.

cyber
06-07-2004, 06:32
beh venendo dalla 2.4.26 no saprei proprio da dove cominciare. Cmq ho problemi sul muletto (i810) a far riconoscere alla shell la modalità vga (anche con il vecchio kernel). Devo compilare qualcosa di particolare? Il frame baffer mi sembra attivo ed anche il supporto alla shell grafica :wtf: