PDA

View Full Version : Link sibolico a /usr/src/linux per un nuovo kernel?


!zingaro
28-03-2008, 09:32
Ho appena installato un nuovo kernel e mi sembra di aver capito che ogni volta suggeriscano di creare un link simbolico dalla directory dove si trova il kernel scompattato con /usr/src/linux tramite il comando:
ln -s /usr/src/linux-2.6.23 /usr/src/linux
Io non l'ho fatto prima di installarlo, ma adesso credo che serva per poter far trovare gli headers ad un pacchetto (correggetemi se sbaglio, cioé se devo semplicemente scaricare gli headers per il nuovo kernel, perché io non li riesco a trovare) e vorrei sapere se:
1) ha senso fare il collegamento adesso che é giá stato installato (e messo in /boot e cosí via...)
2) soprattutto, se questo link puó essere presente contemporaneamente per piú kernel, visto che quello vecchio lo continueró ad utilizzare anche adesso)
Grazie

Devil!
28-03-2008, 09:40
Se ti servono gli headers del kernel, perchè non li creai quando crei l'immagine del kernel?

ad esempio, durante la compilazione, invece di

$ make-kpkg kernel_image

dai

$ make-kpkg kernel_image kernel_headers

così creerai 2 pacchetti, immagine e headers del kernel

!zingaro
28-03-2008, 09:56
Grazie, ma io l'immagine dovrei averla creata automaticamente con
make install
o sbaglio?
Ma penso di sí perché in questo modo mi ha anche creato automaticamente la cartella in /boot e aggiornato il GRUB

Devil!
28-03-2008, 09:59
ehm, non saprei, io ho sempre seguito il modo Debian per compilare un kernel

- Compilare il kernel utilizzando il modo Debian (http://www.debianclan.org/index.php?option=com_content&task=view&id=98&Itemid=38)

- How To Compile A Kernel - The Ubuntu Way (http://howtoforge.com/kernel_compilation_ubuntu)

Anche in questo caso installando l'immagine viene poi aggiornato GRUB

!zingaro
28-03-2008, 10:06
Io sto compilando su Fedora...
Comunque dove dovrebbero essere gli headers e come si chiamano (per forza qualcosa come linux-headers-versione)?
Si trovano nella cartella da cui ho compilato o in /boot?
Grazie

mccarver
28-03-2008, 10:07
1) ha senso fare il collegamento adesso che é giá stato installato (e messo in /boot e cosí via...)
2) soprattutto, se questo link puó essere presente contemporaneamente per piú kernel, visto che quello vecchio lo continueró ad utilizzare anche adesso)
Grazie

1 - Si, ha senso, e ti suggerisco di farlo.
2 - No, il link punta a uno ed un solo kernel per volta. Per questa ragione, scegliti un kernel e compila quello che devi solo su questo. Gli altri kernel conservali (anche uno solo) come fallback, nel caso quello principali smetta di avviare.

!zingaro
28-03-2008, 10:21
Il problema grave é che sto parlando di una macchina virtuale che é usata da anche altre persone con l'altro kernel, mentre questo nuovo non so quanto sia stabile (ci sto lavorando sopra e sono alle prime battute :muro: ), quindi non posso sceglierlo come "principale"...
Hai qualche idea?

mccarver
28-03-2008, 12:24
Il problema grave é che sto parlando di una macchina virtuale che é usata da anche altre persone con l'altro kernel, mentre questo nuovo non so quanto sia stabile (ci sto lavorando sopra e sono alle prime battute :muro: ), quindi non posso sceglierlo come "principale"...
Hai qualche idea?

Onestamente non so quale sia la soluzione in assoluto più pulita.
Potresti lasciare il link al vecchio kernel e, quando vuoi compilare qualcosa con supporto al nuovo kernel (anche se molte applicazioni funzioneranno indifferentemente con l'uno o l'altro kernel) aggiungi alla tua riga del configure l'opzione with-kerneldir, es:

./configure --with-kerneldir=/usr/src/linux-2.6.24

Direi che non ci siano controindicazioni.