Compilare un nuovo kernel o installare un kernel precompilato

8 risposte [Ultimo messaggio]
Ritratto di Zelijko
Zelijko
(Junior)
Offline
Junior
Iscritto: 10/08/2009
Messaggi: 11

Buongiorno, su OpenSuse 11.2 mi trovo a dover testare un po' di kernel.
Potrei compilare il kernel dai sorgenti, oppure provare a installare un kernel precompilato, sicuramente funzionante, in formato .rpm. 
Non ho moltissimo tempo per smanettare, quindi spero che possiate aiutarmi a risolvere un paio di dubbi
1- Dove posso trovare una guida PRECISA e AGGIORNATA sulla procedura di compilazione del kernel su OpenSUSE 11.2?
Sul web c'è abbondanza materiale, ma spesso ho trovato passi obsoleti o incompleti. Il meglio che ho trovato finora è questo:
http://en.opensuse.org/Configure,_Build_and_Install_a_Custom_Linux_Kernel
che però fa riferimento a una versione datata di OpenSUSE. 
é da poco che utilizzo questa distribuzione e sono poco pratico di gestione con i pacchetti .rpm. 
2-  Da dove posso scaricare un kernel precompilato per OpenSUSE? 
Ho sottomano questi due:
http://download.opensuse.org/repositories/Kernel:/HEAD/openSUSE_Factory/i586/
http://download.opensuse.org/update/11.1/rpm/i586/
Ce ne sono altri? Da dove sarebbe meglio scaricare?
A questo punto non voglio utilizzare YaST e nessun tool semi-automatico, ma non mi oriento molto bene in questa giungla di sigle e pacchetti(essendo abituato a Slackware...). 
Va benissimo un kernel standard, che sul mio sistema funziona senza problemi, ma non mi è chiaro da dove scaricarli, nè come verificare le eventuali dipendenze, se ci sono. Per esempio, kernel-default-xxx richiede kernel-default-base, e così via.
Grazie se vorrete aiutarmi e scusate se vi faccio domande un po' stupide ;) 

Ritratto di Zelijko
Zelijko
(Junior)
Offline
Junior
Iscritto: 10/08/2009
Messaggi: 11

Correggo l'errore, è la versione openSUSE 11.1, non la 11.2. 

Ritratto di Crismon
Crismon
(Guru)
Offline
Guru
Iscritto: 28/11/2006
Messaggi: 1715

Per la compilazione segui le orme di questo articolo http://www.crismonblog.org/opensuse-102/opensuse-102-italian/come-abilitare-il-supporto-a-ext4-in-opensuse-11.1.html

www.crismonblog.org | Un blog targato openSUSE

Ritratto di Zelijko
Zelijko
(Junior)
Offline
Junior
Iscritto: 10/08/2009
Messaggi: 11

Grazie per il link, mi fa piacere vedere qualcosa di testato su versioni recenti!
Però ho notato una cosa: tu consigli di scaricare i sorgenti del kernel vanilla, e semplicemente pacchettizzarli come rpm prima della compilazione vera e propria. Non c'è qualche differenza con la versione presente sui repository di OpenSUSE? 

Ritratto di SWZone
SWZone
(Geek)
Offline
Geek
Iscritto: 18/12/2005
Messaggi: 172

Tempo fa scrissi uno scriptino proprio per questo:
http://anubisg1.altervista.org/2007/12/21/compilazione-del-kernel-ci-pensa-kernel2sh/

non l'ho testato sulla 11.2, ma dovrebbe andare, il link dove trovarlo non funziona piu, mandami pure una mail a l'indirizzo specificato nel link , che te lo spedisco come allegato!Smile

Ritratto di Flavioweb
Flavioweb
(Junior)
Offline
Junior
Iscritto: 17/09/2006
Messaggi: 23

Citazione:

Però ho notato una cosa: tu consigli di scaricare i sorgenti del kernel vanilla, e semplicemente pacchettizzarli come rpm prima della compilazione vera e propria. Non c'è qualche differenza con la versione presente sui repository di OpenSUSE? 

  
Mi è capitato, più di una volta, di dover effettuare dei semplici -fine tuning- sui kernel forniti con varie distro.
Dopo varie prove ho deciso di abbandonare l'idea di utilizzare la versione "vanilla" del kernel ed usare, al suo posto, l'ultima -pubblicata- nei vari "repos" ufficiali.
Questa decisione è stata presa perché, prima o poi, ci si accorge sempre che manca qualche patch -che serve- e ci si trova costretti ad applicarla, ripetendo le operazioni di configurazione e compilazione da capo...
Per quel che riguarda il caso specifico, cioè openSuse 11.2, la procedura più semplice e funzionante che son riuscito ad ottenere è questa:
1 - installare ncurses-devel e qt3-devel
2 - installare "make" e "gcc"
3 - installare il pacchetto kernel-source
4 - dare i seguenti comandi da terminale:
 cd /usr/src/linux
 make mrproper
 make cloneconfig
 make xconfig
oppure "make menuconfig" o qualsiasi altra intefaccia vi piaccia per poter configurare il kernel.
Effettuare tutto il -fine tuning- e modificare tutto quello che vi pare.
A operazione ultimata, cioè quando avete salvato la nuova configurazione e, quindi, sarete usciti dall'interfaccia di configurazione, digitare:
 make modules_prepare
 make
 make modules_install
 make install
A questo punto, se tutto è andato bene, troverete la "voce" del kernel nuovo aggiunta a grub e quindi selezionabile all'avvio.
Riavviate selezionando il nuovo kernel e, se tutto funziona come dovrebbe, impostate grub per selezionarlo come dafault e, se vi sembra il caso, eliminate le voci "vecchie".
Un ultimo consiglio:
durante la configurazione, impostare un valore per "Local version - append to kernel release (LOCALVERSION)" (sotto-menu "General") con qualcosa tipo "-0.1-miokernel" in modo da riconoscere facilmente le varie directory e files relativi al "nuovo" kernel -in costruzione-.

Ritratto di Zelijko
Zelijko
(Junior)
Offline
Junior
Iscritto: 10/08/2009
Messaggi: 11

Ringrazio anche Flavio. é all'incirca la procedura che ho sempre utilizzato per ricompilare anche su Slackware.
Vorrei sapere però, da dove è possibile scaricare un kernel precompilato per OpenSUSE 11.2, facendolo manualmente? Con wget, per intenderci.
Lo so che con Yast è più semplice, ma in questa circostanza non posso utilizzarlo perchè mi manca la rete, quindi devo scaricare tutto a mano.
Come mi oriento tra tutti i vari pacchetti?

Ritratto di Flavioweb
Flavioweb
(Junior)
Offline
Junior
Iscritto: 17/09/2006
Messaggi: 23

Citazione:

Vorrei sapere però, da dove è possibile scaricare un kernel precompilato per OpenSUSE 11.2, facendolo manualmente? Con wget, per intenderci.
Lo so che con Yast è più semplice, ma in questa circostanza non posso utilizzarlo perchè mi manca la rete, quindi devo scaricare tutto a mano.
Come mi oriento tra tutti i vari pacchetti?

  
L'indirizzo per scaricare le ultime versioni del kernel è questo:
ftp://ftp.suse.com/pub/projects/kernel/kotd/openSUSE-11.2/
dove trovi sia i sorgenti che i pacchetti precompilati.
Tieni presente che a questo indirizzo trovi i "Kernel Of The Day", cioè le versioni di test di ciò che poi verrà supportato ufficialmente in SuSE: solitamente non hanno problemi di funzionamento, ma tu considera sempre che sono "in test" e, quindi, metti in conto che qualcosa possa non funzionare.
Tutto quello che ti serve per compilare eventualmente il kernel lo trovi nel dvd d'installazione, quindi, anche senza rete, non dovresti avere problemi.
Se vuoi aggiornare alcuni pacchetti all'ultima versione disponibile e non hai una connessione disponibile, hai poche possibilità: inizi scaricando il pacchetto aggiornato, lo installi con "rpm -ivh nome.rpm" e se ti chiede qualche -dipendeza-, la scarichi, la installi e riprovi...

Ritratto di Zelijko
Zelijko
(Junior)
Offline
Junior
Iscritto: 10/08/2009
Messaggi: 11

Flavioweb ha scritto:

 
L'indirizzo per scaricare le ultime versioni del kernel è questo:
ftp://ftp.suse.com/pub/projects/kernel/kotd/openSUSE-11.2/
dove trovi sia i sorgenti che i pacchetti precompilati.
Tieni presente che a questo indirizzo trovi i "Kernel Of The Day", cioè le versioni di test di ciò che poi verrà supportato ufficialmente in SuSE: solitamente non hanno problemi di funzionamento, ma tu considera sempre che sono "in test" e, quindi, metti in conto che qualcosa possa non funzionare.
Tutto quello che ti serve per compilare eventualmente il kernel lo trovi nel dvd d'installazione, quindi, anche senza rete, non dovresti avere problemi.
Se vuoi aggiornare alcuni pacchetti all'ultima versione disponibile e non hai una connessione disponibile, hai poche possibilità: inizi scaricando il pacchetto aggiornato, lo installi con "rpm -ivh nome.rpm" e se ti chiede qualche -dipendeza-, la scarichi, la installi e riprovi...


Esatto, infatti è proprio l'abbondanza di materiale a rendere difficile capire dove trovare le cose di cui si ha bisogno!
Non ho problemi con il compilatore, che è già regolarmente installato.
Nel frattempo ho installato un kernel precompilato e ne ho compilato un altro da sorgente.
Vorrei però chiedere: il modulo kernel del driver della scheda madre NVIDIA, risulta già installato sul sistema, cioè è disponibile in ../modules. 
Come posso "abilitarlo" sul kernel precompilato, in modo che venga caricato appropriatamente al boot?
Insomma, come si linka un modulo già installato in precedenza perchè venga utilizzato da un kernel nuovo? Non l'ho mai fatto..