ricompilazione kernel
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.
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.
ricompilazione kernel
Ho installato la slack 12 e di default ho installato il kernel huge2.6-smp (pur avendo un pentium4)
Vorrei provare a compilare il kernel huge 2.6 (non smp)
nella directory boot ho i file system.map, vmlinuz , config, sia del 2.6 semplice che del 2.6 smp
nella directory /usr/src ho un unica directory dei sorgenti ; per ricompilare mi basta importare in essa il config del 2.6 normale e andare con la normale procedura tanto le opzioni per l'smp non mi vengono evidenziate , o devo scaricare la directory dei sorgenti per il 2.6 normale e così via..?
Grazie
P.S.: perchè bisogna mettersi per forza nella directory-link linux e non lavorare direttamente in quella dei sorgenti?
Vorrei provare a compilare il kernel huge 2.6 (non smp)
nella directory boot ho i file system.map, vmlinuz , config, sia del 2.6 semplice che del 2.6 smp
nella directory /usr/src ho un unica directory dei sorgenti ; per ricompilare mi basta importare in essa il config del 2.6 normale e andare con la normale procedura tanto le opzioni per l'smp non mi vengono evidenziate , o devo scaricare la directory dei sorgenti per il 2.6 normale e così via..?
Grazie
P.S.: perchè bisogna mettersi per forza nella directory-link linux e non lavorare direttamente in quella dei sorgenti?
- phobos3576
- Staff

- Messaggi: 2980
- Iscritto il: dom 17 apr 2005, 0:00
- Slackware: 13.1
- Kernel: 2.6.37-smp
- Desktop: KDE 4.5.3
In realtà, la directory /usr/src/linux è un link simbolico che punta alla directory /usr/src/linux-x.y.z dove si trova il codice sorgente del kernel attualmente in uso; ovviamente, nessuno ti impedisce di ricompilare il kernel posizionandoti direttamente in /usr/src/linux-x.y.z.
Tieni presente comunque che la presenza di questo link simbolico è importantissima visto che, quando si ricompilano ad esempio determinati driver o programmi, viene fatto riferimento automaticamente a /usr/src/linux presupponendo che tale link simbolico stia puntando alla directory dove è presente il kernel correntemente in uso.
Prima di ricompilare e installare un nuovo kernel, devi sempre cancellare /usr/src/linux e ricreare il link simbolico facendolo puntare a /usr/src/nuovo_kernel; ad esempio, se vuoi passare dal kernel 2.6.21 al 2.6.22, posizionati in /usr/src e dai i comandi:
Per quanto riguarda la ricompilazione, dopo esserti posizionato in /usr/src/linux devi lanciare:
Questo comando ripulisce tutti i vecchi file di configurazione, compreso .config; ricordati quindi di copiare il tuo .config personale solo dopo aver dato make mrproper.
Nel tuo caso, puoi utilizzare il config non SMP di Pat; lancia:
vai nella sezione "processor type and features e assicurati che sia disattivato tutto ciò che riguarda il supporto SMP.
Se hai sufficiente esperienza puoi approfittarne per impostare in modo più dettagliato e preciso le configurazioni più adatte per il tuo hardware (tipo di processore, modello di motherboard, etc).
Tieni presente comunque che la presenza di questo link simbolico è importantissima visto che, quando si ricompilano ad esempio determinati driver o programmi, viene fatto riferimento automaticamente a /usr/src/linux presupponendo che tale link simbolico stia puntando alla directory dove è presente il kernel correntemente in uso.
Prima di ricompilare e installare un nuovo kernel, devi sempre cancellare /usr/src/linux e ricreare il link simbolico facendolo puntare a /usr/src/nuovo_kernel; ad esempio, se vuoi passare dal kernel 2.6.21 al 2.6.22, posizionati in /usr/src e dai i comandi:
Codice: Seleziona tutto
rm linux
ln -s /usr/src/linux-2.6.22 /usr/src/linux
Codice: Seleziona tutto
make mrproperNel tuo caso, puoi utilizzare il config non SMP di Pat; lancia:
Codice: Seleziona tutto
make xconfigSe hai sufficiente esperienza puoi approfittarne per impostare in modo più dettagliato e preciso le configurazioni più adatte per il tuo hardware (tipo di processore, modello di motherboard, etc).
- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Bhà, veramente che io sappia per ritrovare i sorgenti del kernel in uso si usaphobos3576 ha scritto:...Tieni presente comunque che la presenza di questo link simbolico è importantissima visto che, quando si ricompilano ad esempio determinati driver o programmi, viene fatto riferimento automaticamente a /usr/src/linux presupponendo che tale link simbolico stia puntando alla directory dove è presente il kernel correntemente in uso...
Codice: Seleziona tutto
/lib/modules/`uname -r`/buildCodice: Seleziona tutto
/lib/modules/`uname -r`/sourcePuoi anche semplicemente usare l'opzione -f di ln.phobos3576 ha scritto:Codice: Seleziona tutto
rm linux ln -s /usr/src/linux-2.6.22 /usr/src/linux
Codice: Seleziona tutto
ln -fs /usr/src/linux-2.6.22 /usr/src/linux- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Bhè non è obbligatorio avere i sorgenti installati per cui....direi proprio che non è importante al boot. Tutto quello che conta è il kernel compilato e caricato in memoria dal boot loader, dopo di ché, se usi le utility modprobe (quindi se hai un kernel modulare) allora ti serve anche la directory /lib/modules/`uname -r`, che, come ho detto anche prima, viene creata quando si lancia "make modules_install".moebius77 ha scritto:quindi il link e importante solo in fase di compilazione
ma per il funzionamento del sistema ( al boot ) potrebbe anche non esistere!
Spina
P.S. Ovviamente se vuoi compilarti un modulo per, hai bisogno dei sorgenti del, kernel.

