Guida alla compilazione del kernel di Linux

Started by MsZ, Sun 10 June 2007, 17:29

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Philip J. Fry

Siam qui per questo, un anno fa ero circa nella tua stessa situazione.  :wallbash:  :whustling:

Emulizzato


Slash

il passaggio è molto meno traumatico di quanto tu possa pensare anzi... dopo un paio di settimane non ne potrai piu fare a meno, inoltre l'installazione è qualcosa di incredibile per la sua facilità, ti consiglio solo di liberare lo spazio che ti serve prima con un qualsiasi programma di partizionamento.

Emulizzato

Quote from: Slash on Sat 01 September 2007, 02:15
ti consiglio solo di liberare lo spazio che ti serve prima con un qualsiasi programma di partizionamento.

Lo installerò sul mio portatile lissssssssio come l'olio. :whustling:

franz1789

make[1]: Leaving directory `/usr/src/linux-2.6.22'
/usr/bin/make EXTRAVERSION=-ck1-custom   ARCH=i386 prepare
make[1]: Entering directory `/usr/src/linux-2.6.22'
scripts/kconfig/conf -s arch/i386/Kconfig
net/ipv4/netfilter/Kconfig:372:warning: leading whitespace ignored
make[1]: Leaving directory `/usr/src/linux-2.6.22'
make[1]: Entering directory `/usr/src/linux-2.6.22'
  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  CC      arch/i386/kernel/asm-offsets.s
In file included from arch/i386/kernel/asm-offsets.c:8:
include/linux/sched.h:1306:1: warning: "MAX_PRIO" redefined
include/linux/sched.h:698:1: warning: this is the location of the previous definition
In file included from arch/i386/kernel/asm-offsets.c:8:
include/linux/sched.h:1309: error: expected declaration specifiers or '...' before '!' token
include/linux/sched.h:1309: error: expected declaration specifiers or '...' before numeric constant
include/linux/sched.h:1310: warning: conflicting types for built-in function '__builtin_expect'
include/linux/sched.h: In function '__builtin_expect':
include/linux/sched.h:1311: error: 'prio' undeclared (first use in this function)
include/linux/sched.h:1311: error: (Each undeclared identifier is reported only once
include/linux/sched.h:1311: error: for each function it appears in.)
include/linux/sched.h: At top level:
include/linux/sched.h:1316: error: expected declaration specifiers or '...' before '!' token
include/linux/sched.h:1316: error: expected declaration specifiers or '...' before numeric constant
include/linux/sched.h:1317: warning: function declaration isn't a prototype
include/linux/sched.h:1317: error: redefinition of '__builtin_expect'
include/linux/sched.h:1310: error: previous definition of '__builtin_expect' was here
include/linux/sched.h: In function '__builtin_expect':
include/linux/sched.h:1318: error: 'p' undeclared (first use in this function)
include/linux/sched.h: In function 'softirq_need_resched':
include/linux/sched.h:1938: error: 'PF_SOFTIRQ' undeclared (first use in this function)
include/linux/sched.h: In function 'hardirq_need_resched':
include/linux/sched.h:1945: error: 'PF_HARDIRQ' undeclared (first use in this function)
make[2]: *** [arch/i386/kernel/asm-offsets.s] Error 1
make[1]: *** [prepare0] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.22'
make: *** [debian/stamp-kernel-conf] Error 2

Stavo compilando un kernel che prometteva di essere perfetto, ma a quanto pare, troppo, dato che non compila, e non capisco perchè. Ho fatto tutto come sempre, solo che l'ho patchato. Le patch sono andate tutte a buon fine... Non capisco l'errore...

MsZ

#15
Mmm... per principio io non patcho nulla, proprio per non trovarmi problemi del genere. Inoltre basta un errore minuscolo nella patch o nel procedimento e va tutto a... beh, hai capito.

Per la cronaca, che versione hai tentato di compilare? O meglio, quale versione di kernel con quali patch?

franz1789

Quote from: MsZ on Mon 03 September 2007, 19:41
Mmm... per principio io non patcho nulla, proprio per non trovarmi problemi del genere. Inoltre basta un errore minuscolo nella patch o nel procedimento e va tutto a... beh, hai capito.

Per la coronaca, che versione hai tentato di compilare? O meglio, quale versione di kernel con quali patch?
Dunque, credo di aver fatto un errore madornale, infatti ho cercato di mettere due patch che sono abbastanza contrastanti, la CK e la LowLatency. Ho compilato con successo, dopo aver scelto di applicare solo la CK, il kernel 2.6.22, e devo dire che ho visto miglioramenti...

Philip J. Fry

Ho un  problema strano: mi sono scaricato sul desktop il tar.bz2 del kernel 2.6.23.1, ma quando do fra@fra-desktop:~$ sudo tar -xvjf home/fra/Desktop/linux-2.6.23.1.tar.bz2 -C /usr/src mi esce questo errore fra@fra-desktop:~$ sudo tar -xvjf home/fra/Desktop/linux-2.6.23.1.tar.bz2 -C /usr/src
Password:
tar: home/fra/Desktop/linux-2.6.23.1.tar.bz2: Impossibile open: Nessun file o directory
tar: Errore irrimediabile: esco
tar: Child returned status 2
tar: Uscita per errore ritardata dall'errore precedente
fra@fra-desktop:~$


Boh! Il file è presente sul Desktop! non capisco...

MsZ

Che il file ci sia non vuol dire che ci siano anche i dati...
Fai un
Quotefile home/fra/Desktop/linux-2.6.23.1.tar.bz2
e vedi l'output. Guarda la dimensione e confrontala con quella che dà il sito dal quale l'hai scaricato (l'hai scaricato da [www.kernel.org]?).

A me risultano 45477128 bytes. Controlli la dimensione in bytes con un
Quotedu -b <nomefile>

franz1789

Ho scoperto che è meglio lasciar perdere la compilazione di un kernel sotto Ubuntu. Purtroppo non riesco a reperire le patch specifiche che utilizza Ubuntu, e quando l'ho compilato funziona bene, ma manca sempre qualcosa. Ad esempio, mancava il conteggio dell'utilizzo RAM all'interno del Monitor di Sistema, oppure l'automount non funzionava correttamente, e altre piccolezze molto fastidiose...