lista della spesa del buon compilatore di kernels... :)

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

lista della spesa del buon compilatore di kernels... :)

Messaggio da absinthe »

salve,

ho da poco riformattato la partizione di linux reinstallando un sistema minimale per poi aggiungere ad ogni evenienza i pacchetti indispensabili per una certa operazione. mi trovo ora a dover ricompilare il kernel 2.6.10 fornito con la slackc 10.1 però make menuconfig mi produce una fracca di errori che riporto in coda a questo messaggio. credo mi manchi qualche libreria di c. io ho installato i seguenti pacchetti:

sorgente completo del kernel 2.6.10
binutils
gcc
make
ncurses (per make menuconfig)
e le glibc

...cosa manca?

grazie,
M.

l'errore:

HOSTCC scripts/basic/fixdep
In file included from /usr/include/bits/posix1_lim.h:153,
from /usr/include/limits.h:144,
from /usr/lib/gcc-lib/i486-slackware-linux/3.3.4/include/limits.h:122,
from /usr/lib/gcc-lib/i486-slackware-linux/3.3.4/include/syslimits.h:7,
from /usr/lib/gcc-lib/i486-slackware-linux/3.3.4/include/limits.h:11,
from scripts/basic/fixdep.c:113:
/usr/include/bits/local_lim.h:36:26: linux/limits.h: No such file or directory
In file included from /usr/include/sys/socket.h:35,
from /usr/include/netinet/in.h:24,
from /usr/include/arpa/inet.h:23,
from scripts/basic/fixdep.c:115:
/usr/include/bits/socket.h:304:24: asm/socket.h: No such file or directory
scripts/basic/fixdep.c: In function `use_config':
scripts/basic/fixdep.c:201: error: `PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:201: error: (Each undeclared identifier is reported only once
scripts/basic/fixdep.c:201: error: for each function it appears in.)
scripts/basic/fixdep.c:201: warning: unused variable `s'
scripts/basic/fixdep.c: In function `parse_dep_file':
scripts/basic/fixdep.c:297: error: `PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:297: warning: unused variable `s'
make[1]: *** [scripts/basic/fixdep] Error 1
make: *** [scripts_basic] Error 2

wasabi
Linux 2.x
Linux 2.x
Messaggi: 243
Iscritto il: gio 25 nov 2004, 0:00

Messaggio da wasabi »

Gli header del kernel li hai installati?

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Messaggio da absinthe »

... ma se metto tutto il source del 2.6.10 gli header non sono compresi????

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Messaggio da absinthe »

boia!!!!! o questa????????????
che babbeo... io credevo che gli headers fossero inclusi nel souce! pernsavo che il tgz con gli headers servisse per installare solo i .h invece che tutto il codice... ora funge tutto....
ma guarda te...
ma che sistemi....

ehehe

grazie,
M.

samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Messaggio da samiel »

Gli headers non sono inclusi nel sorgente,
ma si creano compilandolo! Meritil docet...
Ci sono dei post importanti sul tema qui
in slacky, dacci un'occhio!

M.

PS
Ragà, ho sfondato quota 2000 post !!!!!!!
Voglio un regalo da Lorys, un premio, qualcosa... :lol:

Avatar utente
Loris
Admin
Admin
Messaggi: 7731
Iscritto il: lun 31 mar 2003, 0:00
Nome Cognome: Loris Vincenzi
Località: Gradisca D'Isonzo
Contatta:

Messaggio da Loris »

samiel ha scritto:Ragà, ho sfondato quota 2000 post !!!!!!!
Voglio un regalo da Lorys, un premio, qualcosa... :lol:
:roll:
"Ho una testa piuttosto balzana e comunque non sono quello che credete" - Roger Keith Barrett

Avatar utente
useless
Staff
Staff
Messaggi: 3896
Iscritto il: dom 12 ott 2003, 0:00
Località: A place where the streets have no name
Contatta:

Messaggio da useless »

in realtà il discorso è + complesso. gli header non si creano durante la compilazione, e in linea di max ha senso pensare che gli header sono inclusi nei sorgenti. insomma, la cosa non è chiara nemmeno a me, ma credo che abbia a che fare col fatto che servano i kernel-headers con cui si è compilata la glibc.
se qualcuno trova + info...

samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Messaggio da samiel »

Ho verificato: in effetti nel sorgente ci sono
delle dir con file che poi si trovano degli headers,
anche se ovviamente diverse da quelle in cui
poi gli headers vanno a finire. Per il resto,
parecchie cose mi restano oscure. Tutti abbiamo letto
lo HEADERS WARNING che dice che è rischioso
usare headers diversi da quello con cui sono
state compilate le glibc. A me sono capitati
un paio di pacchetti che si compilavano però
solo con gli headers del 2.6. Conviene ricompilare
le glibc se si adopera un kernel recente
con i suoi headers?

M.

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Messaggio da absinthe »

mmm... non per andare OT ma nella mia ignoranza credevo che la glibc fosse la collezione di librerie gnu C , insomma quella roba dove si trovano anche stdio.h malloc.h etc..., invece no eh?... vabbè ora sono a lavoro... mi sa che stasera tocca leggere quancolsina :)

ps: sempre perchè impossibilitato posterò meglio + tardi, però è accaduta na roba...:

ho usato il config del kertnel 2.6.10 generic, ho modificato il processore in pentium m ed ho abilitato l'acpi, i governarors e il cpufrequency scaling per il centrino, poi ho dato make bzImage...
il compilatore inizia a compilare poi però mi viene un errore del tipo che "la shell non può eseguire un comando...."

ma che cacchio... sulla (deprecated:) suse ho ricompilato il kernel 5 volte e non si intruppava mai: ma che so rincitrullito???

con questo avvincente mistero vi lascio... a stasera,
M.

pennega
Linux 3.x
Linux 3.x
Messaggi: 607
Iscritto il: dom 4 lug 2004, 0:00
Contatta:

Messaggio da pennega »

io conm i 2.6.X uso solo

make xconfig (o altro configuratore)
make
make modules_install

copio il file arch/i386/boot/bzImage in /boot/vmlinuz-versione_kernel
aggiorno lilo ....

pennega
Linux 3.x
Linux 3.x
Messaggi: 607
Iscritto il: dom 4 lug 2004, 0:00
Contatta:

Messaggio da pennega »

ps mi sono scordato controlla di avere installato gli init-tool che servono x la compilazione dei 2.6

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Messaggio da absinthe »

ecco qua in allegato il bel log con tutto l'uot put di

$> make

fondamentalmente mi dice che bin/sh non può eseguire il comendo cmd... ma....

per quanto riguarda il kernel, ho preso il config di patrick ed ho modificato il tipo di cpu (pentium M) aggiustando il supporto per cpu freq scaling niente altro.....



error.log

CHK include/linux/version.h
/bin/sh: cmp: command not found
UPD include/linux/version.h
make[1]: `arch/i386/kernel/asm-offsets.s' is up to date.
CHK include/linux/compile.h
/usr/src/linux-2.6.10/scripts/mkcompile_h: line 72: cmp: command not found
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
CHK usr/initramfs_list
/bin/sh: cmp: command not found
UPD usr/initramfs_list
CPIO usr/initramfs_data.cpio
GZIP usr/initramfs_data.cpio.gz
AS usr/initramfs_data.o
LD usr/built-in.o
CC kernel/module.o
CC kernel/power/swsusp.o
LD kernel/power/built-in.o
LD kernel/built-in.o
CC drivers/block/floppy.o
LD drivers/block/built-in.o
CC [M] drivers/net/s2io.o
CC drivers/scsi/sg.o
LD drivers/scsi/built-in.o
CC [M] drivers/scsi/dpt_i2o.o
drivers/scsi/dpt_i2o.c: In function `adpt_isr':
drivers/scsi/dpt_i2o.c:2032: warning: passing arg 1 of `readl' makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2033: warning: passing arg 1 of `readl' makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2044: warning: passing arg 1 of `readl' makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2045: warning: passing arg 2 of `writel' makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2048: warning: passing arg 1 of `readl' makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2050: warning: passing arg 1 of `readl' makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2057: warning: passing arg 1 of `readl' makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2064: warning: passing arg 1 of `readl' makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2071: warning: passing arg 1 of `readl' makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c: In function `adpt_i2o_to_scsi':
drivers/scsi/dpt_i2o.c:2241: warning: passing arg 1 of `readl' makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2245: warning: passing arg 1 of `readl' makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2250: warning: passing arg 1 of `readl' makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2261: warning: passing arg 1 of `readl' makes pointer from integer without a cast
CC drivers/usb/core/hcd.o
LD drivers/usb/core/usbcore.o
LD drivers/usb/core/built-in.o
LD drivers/usb/built-in.o
LD drivers/built-in.o
CC sound/core/info.o
LD sound/core/snd.o
LD sound/core/snd-timer.o
LD sound/core/snd-pcm.o
LD sound/core/snd-page-alloc.o
LD sound/core/built-in.o
LD sound/built-in.o
GEN .version
CHK include/linux/compile.h
/usr/src/linux-2.6.10/scripts/mkcompile_h: line 72: cmp: command not found
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
KSYM .tmp_kallsyms1.S
AS .tmp_kallsyms1.o
LD .tmp_vmlinux2
KSYM .tmp_kallsyms2.S
AS .tmp_kallsyms2.o
LD vmlinux
SYSMAP System.map
SYSMAP .tmp_System.map
/bin/sh: cmp: command not found
Inconsistent kallsyms data
Try setting CONFIG_KALLSYMS_EXTRA_PASS
make: *** [vmlinux] Error 1




[/url][/code]

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Messaggio da absinthe »

ok lo so sono accidioso....

ho preso 5 secondi della mia vita ed ho scoperto che cmp guarda vcaso serve a comparere i files e giustamente sta tra le diff utils... indi aggiornamento. la lista della spesa è:

sorgente completo del kernel 2.6.10: source + headers
binutils
diffutils
gcc
make
ncurses (per make menuconfig)
e le glibc

proverò oggi e sperem...
M.

Avatar utente
salbutamolo
Linux 3.x
Linux 3.x
Messaggi: 905
Iscritto il: lun 12 gen 2004, 0:00
Contatta:

Messaggio da salbutamolo »

Ciao a tutti,
vi propongo il mio pidocchioso script, che si occupa di "creare" gli headers nuovi quando si passa da un kernnel all'altro. Due cose: passando dal 2.4.x kernel di default della slack, ad un qualsiasi 2.6.x bisogna rimuovere il pacchetto kernel-headers-vattelapesca prima di eseguire lo script. Quest'ultimo inoltre funziona solo se il nuovo kernel è lincato a linux in /usr/src!

Codice: Seleziona tutto

#!/bin/bash
echo +++ Rimozione Precedenti Headers +++
rm -R -f /usr/include/asm
rm -R -f /usr/include/asm-generic
rm -R -f /usr/include/asm-i386
rm -R -f /usr/include/linux
echo +++ Rimozione Completata +++
echo +++ Installazione Kernel Headers +++
cp -Rafx /usr/src/linux/include/asm-i386 /usr/include
ln -sf /usr/include/asm-i386 /usr/include/asm
ln -sf /usr/src/linux/include/asm-generic /usr/include
cp -Rafx /usr/src/linux/include/linux /usr/include
echo +++ Installazione Kernel Headers Completata Con Successo +++
Rozzo ma funzionante :-)

Have a nice day

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Messaggio da absinthe »

ok compilare compila, ancora non lo ho installato... ma mi viene un dubbio: il config fornito nel tgz è quello usato per creare il kernel precompilato??? no perchè mi è parso di capire che l' ext3 sia compilato statico nel kernel mentre nel readme per la creazione dell' initrd patrick dice che il kernel non contiene il supporto per ext3... boh...


@salbutamolo:

#!/bin/bash
...
echo +++ Installazione Kernel Headers +++
cp -Rafx /usr/src/linux/include/asm-i386 /usr/include
ln -sf /usr/include/asm-i386 /usr/include/asm
ln -sf /usr/src/linux/include/asm-generic /usr/include
cp -Rafx /usr/src/linux/include/linux /usr/include
echo +++ Installazione Kernel Headers Completata Con Successo +++

mo lo studio un pò poi ti dico :)

Rispondi