slackbuil for kernel headers

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.
Avatar utente
salbutamolo
Linux 3.x
Linux 3.x
Messaggi: 905
Iscritto il: lun 12 gen 2004, 0:00
Contatta:

slackbuil for kernel headers

Messaggio da salbutamolo »

Ciao a tutti,
ogni volta che compilo ed installo un kernel nuovo, "installo" anche i nuovi headers del suddetto kernel tramite un mio script, che devo dire funziona egregiamente, in quanto si occupa anche di rimuovere gli headers vecchi...quindi il sistema rimane pulito. Tuttavia mi è venuta la voglia di realizzare un pacchetto tgz in maniera tale da rendere più ordinata la procedura. Ho cercato lo slackbuild del pacchetto kernel-headers-* nei sorgenti di slackware 10.2 ma ho trovato solo uno slack-desc. Sono cieco io o questo script manca? Have a nice day

Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Messaggio da Bart »

Scusa, ma quanto è importante da 0 a 10 aggiornare gli headers? Se non lo fai che problemi puoi riscontrare? Io lo faccio veramente di rado.

Avatar utente
zzt
Linux 2.x
Linux 2.x
Messaggi: 249
Iscritto il: lun 7 mar 2005, 0:00

Messaggio da zzt »

Non riesci a compilare cose che richiedono gli header aggiornati

Avatar utente
zzt
Linux 2.x
Linux 2.x
Messaggi: 249
Iscritto il: lun 7 mar 2005, 0:00

Messaggio da zzt »

In realtà se ti ricompili il kernel e quindi hai i sorgenti del kernel in /usr/src/linux non ti serve a nulla il pacchetto dei kernel-headers. Ti bastano due link simbolici:

/usr/include/linux -> /usr/src/linux/include/linux/
/usr/include/asm -> /usr/src/linux/include/asm/

In questo modo tutte le volte che compili un nuovo kernel aggiustando il link /usr/src/linux metti automaticamente a posto gli header.

Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Messaggio da Bart »

zzt ha scritto:In realtà se ti ricompili il kernel e quindi hai i sorgenti del kernel in /usr/src/linux non ti serve a nulla il pacchetto dei kernel-headers. Ti bastano due link simbolici:

/usr/include/linux -> /usr/src/linux/include/linux/
/usr/include/asm -> /usr/src/linux/include/asm/

In questo modo tutte le volte che compili un nuovo kernel aggiustando il link /usr/src/linux metti automaticamente a posto gli header.
Io di solito procedo così:

Codice: Seleziona tutto

Copio i sorgenti reperiti su www.kernel.org in /usr/src/
Scompatto i sorgenti ed eseguole seguenti istruzioni:

        # rm linux
        # ln -s linux-2.6.x linux

Cancello il vecchio link simbolico e ne creo un altro che punti al nuovo kernel

        # cd /usr/src/linux-2.6.x
        # make mrproper
        # make menuconfig

Effettuo la configurazione scelta

        # make -j5 && make modules_install
In questa maniera non mi sono mai interessatio troppo degli header e non ho mai avuto problemi.

Avatar utente
zzt
Linux 2.x
Linux 2.x
Messaggi: 249
Iscritto il: lun 7 mar 2005, 0:00

Messaggio da zzt »

Certo, il kernel si compila perchè giustamente ha i suoi kernel header.. :D
Il problema nasce quando vuoi compilare qualche applicazione che ha bisogno dei kernel header perchè, come la maggior parte degli header, si dovrebbero trovare in /usr/include/.
Quindi risolvi la situazione con i link di cui o parlato sopra.

Se tu, ad esempio, installi il pacchetto con i kernel header del 2.6.9 e in realtà ti sei compilato il 2.6.14 come dici tu, quando compili qualche applicazione usi i vecchi kernel header (e nel 99% dei casi non hai nessun problema).

Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Messaggio da Bart »

Ok, ma se io volessi aggiornare ogni volta gli headers come fa salbutamolo, dove posso reperirli? Perchè da quello che ho capito nella maniera in cui procedo io gli headers non vengono aggiornati.
Detto questo ogni volta che ricompilo un nuovo kernel dovrei prima aggiornare gli headers e poi compilarmi il nuovo kernel, giusto?

Avatar utente
zzt
Linux 2.x
Linux 2.x
Messaggi: 249
Iscritto il: lun 7 mar 2005, 0:00

Messaggio da zzt »

Io il pacchetto con i kernel-header non l'ho mai installato...
Se fai i due link simbolici che ho scritto sopra, ti ritrovi automaticamente i kernel-header corretti quando cambi il link /usr/src/linux alla nuova versione compilata.
Quando compili il kernel non ti servono kernel-header particolari sono già tutti compresi nei sorgenti ed io non faccio altro che riutilizzare quelli.

Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Messaggio da Bart »

zzt ha scritto:Io il pacchetto con i kernel-header non l'ho mai installato...
Se fai i due link simbolici che ho scritto sopra, ti ritrovi automaticamente i kernel-header corretti quando cambi il link /usr/src/linux alla nuova versione compilata.
Quando compili il kernel non ti servono kernel-header particolari sono già tutti compresi nei sorgenti ed io non faccio altro che riutilizzare quelli.
Quei due link li crei prima di compilare? Da quello che ho capito è indifferente perchè servono solo per applicazioni che sfruttano appunto gli headers del kernel, vero?

Avatar utente
zzt
Linux 2.x
Linux 2.x
Messaggi: 249
Iscritto il: lun 7 mar 2005, 0:00

Messaggio da zzt »

Esatto

Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Messaggio da Bart »

zzt ha scritto:In realtà se ti ricompili il kernel e quindi hai i sorgenti del kernel in /usr/src/linux non ti serve a nulla il pacchetto dei kernel-headers. Ti bastano due link simbolici:

/usr/include/linux -> /usr/src/linux/include/linux/
/usr/include/asm -> /usr/src/linux/include/asm/
In /usr/include/asm ho un link simbolico ma ho dei dubbi su questa:
/usr/include/linux -> /usr/src/linux/include/linux/
Io non ho alcun link del genere, forse intendevi /usr/src/linux che punta alla directory del kernel corrente?

Avatar utente
zzt
Linux 2.x
Linux 2.x
Messaggi: 249
Iscritto il: lun 7 mar 2005, 0:00

Messaggio da zzt »

Qui http://www.slackware.it/pb/showfile.php ... .31-i386-1
ci sono elencati i file contenuti nel pacchetto kernel-headers, che come vedi semplicemente riempono /usr/include/asm-i386 e /usr/include/linux. Questi file sono identici a quelli contenuti nei sorgenti del kernel nelle directory (supponendo di avere i sorgenti in /usr/src/linux):
/usr/src/linux/include/asm (che è tipicamente a sua volta un link simbolico a /usr/src/linux/include/asm-i386)
/usr/src/linux/include/linux

Quindi facendo i due link che ho scritto eviti di avere i file copiati 2 volte o di utilizzare kernel-header di un kernel diverso da quello attuale (supponendo che /usr/src/linux punti ai sorgenti dell'ultimo kernel compilato)
/usr/include/linux -> /usr/src/linux/include/linux/
/usr/include/asm -> /usr/src/linux/include/asm/

Tra l'altro questa soluzione permette di compilare per qualsiasi kernel che si ha a disposizione in /usr/src senza bisogno di riavviare, basta cambiare il link /usr/src/linux e si hanno sempre gli header corretti.

Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Messaggio da Bart »

Ora è più chiaro, grazie ;)

Avatar utente
zzt
Linux 2.x
Linux 2.x
Messaggi: 249
Iscritto il: lun 7 mar 2005, 0:00

Messaggio da zzt »

Figurati... queste cose le ho imparate a mie spese :wink:
Se ad esempio patchi il kernel per avere qualche funzione particolare (mpls nel mio caso) e poi cerchi di compilare qualche applicazione scritta per funzionare con il kernel patchato, se non sistemi correttamente gli header non compili nulla...

In realtà pochissime persone hanno problemi per questo motivo perchè gli header sono abbastanza stabili da un versione all'altra del kernel e il pacchetto di Pat basta ed avanza.

aries
Linux 2.x
Linux 2.x
Messaggi: 320
Iscritto il: mer 23 mar 2005, 0:00

Messaggio da aries »

a proposito di patchare il kernel: ho il 2.6.13.4 e il mio lettore di memory per fotocamere 8 in 1, continua a non funzionare, mentre con mandriva e fedora funzionava.
Esiste una patch per slack che risolva l'inconveniente?

Ciao

Rispondi