Newsgroup: it.comp.os.linux.iniziare
Titolo: Domande [ 8° Puntata ] Titolo: Info compilazione del kernel

Ciriciao a tutti - vi sarei molto grato se mi date qualche dritta su come
compilare il kernel
ad esempio come faccio a far partire quel programma in X che mi fa vedere i
moduli e vicino i "y" "n" e "m" ? Poi che bisogna fare per configurarlo e
farlo funzionare ? E finendo che devo combinare per evitare i maledettissimi
kernel panic e kernel too big ?
per favore non speditemi a caccia di how to ma spiegatemelo  in pochi
passaggi semplici
grazie a tutti

passaggi semplici
          ^^^^^^^^
sticazzi %)  ...  non e' un'operazione banale da fare, occhio a non
fare maronate, mi spiace ma il Kernel-HOWTO e' proprio meglio.
cmq non buttare nella tazza l'immagine del vecchio kernel, che se il nuovo
non funge e' la fine (bah, non proprio basta un floppi di boot)
ciao
Esauriente (?) Gec.   :@)
-- 
Rock'n'Roll |-------Reply-to------> iaco.tena AT 
libero.it
 |
  Is The    |          Visit Rock'n'Roll #1 website:       |
 Only Way   |            
digilander.iol.it/tena
            |

 passaggi semplici
- cd /usr/doc/HOWTO
- ls Ke*
- less Kernel-HOWTO
-- 
Fabio   fabio161616(at)
libero.it
 blackmagic(at)
penguinpowered.com
 
C isn't that hard: void (*(*f[])())() defines f as an array of 
unspecified size, of pointers to functions that return pointers to 
functions that return void.

kernel panic e kernel too big ?
per i kernel panic infuso di camomilla e valeriana...:))
non c'e' una formula precisa, a parte evitare di includere supporto
per ext2 o altre cose vitali, l'unica e' provare e leggere l'help del
kernel e capire a cosa servono i vari [y] [m] [n]
per kernel too big prova a fare make bzImage
bye
-- 
     #@@@   missinglink on slackware 7 ###
     ####       member of telug        #@@
 

compilare il kernel
RICOMPILAZIONE DEL KERNEL DI LINUX
==================================
Verrà  illustrato   passo-passo  il  procedimento  da   seguire  per  la
ricompilazione del kernel di Linux e la sua installazione.
Se possedete una distribuzione RedHat  assicuratevi di aver installato i
seguenti pacchetti RPM:
* make
* dev86
* glibc-devel
* egcs
* ncurses-devel, dialog (se usate 'make menuconfig')
* ... a memoria non me li ricordo tutti :)
Si suppone  che sulla  nostra Linux  box sià già  in funzione  il kernel
2.2.16. Si  vuole ricompilare  il kernel  per eliminare  da quest'ultimo
tutta la parte di codice relativa a periferiche che noi NON disponiamo.
Si utilizzeranno i sorgenti "ufficiali", scaricabili per esempio qui:
ftp://ftp.unina.it/pub/Unix/linux/kernel/v2.2/linux-2.2.16
Le doppie virgolette (") sono i commenti.
Il prompt dell'utente root e` rappresentato dal cancelletto (#).
" Eliminate (eventuali) precedenti versioni dei sorgenti del kernel.
" Ipotesi: 'linux' e` un link simbolico alla directory 'linux-2.2.16'
# cd /usr/src
# rm -f linux
# rm -rf linux-2.2.16
" Installazione dei sorgenti
# cd /usr/src
# tar xvzf [path completo]/linux-2.2.16
# mv linux linux-2.2.16
" Create il link simbolico 'linux --> linux-2.2.16'
# ln -s linux-2.2.16 linux
" Per la  compilazione del kernel e  dei moduli e` necessario  che siano
" presenti due link.
" I comandi 'ls /usr/include/asm' e 'ls /usr/include/linux' non mostrano
" nulla a video? In tal caso:
# ln -s /usr/src/linux/include/asm-i386/ /usr/include/asm
# ln -s /usr/src/linux/include/linux/ /usr/include/linux
" Per evitare  problemi, assegnate  un nome  *univoco* al  nuovo kernel,
" tale da non causare conflitti con quello già presente sul sistema.
" Per fare  ciò è sufficiente editare  il file '/usr/src/linux/Makefile'
" modificando la voce EXTRAVERSION.
" Basta sia presente una stringa qualsiasi. Il nome col quale effettuate
" il login, per esempio, oppure un numero.
" Supponiamo di  avere modificato  la voce EXTRAVERSION  di modo  che si
" presenti la seguente situazione:
--- prime 4 righe del file /usr/src/linux/Makefile ---------------------
VERSION = 2
PATCHLEVEL = 2
SUBLEVEL = 16
EXTRAVERSION = -1
------------------------------------------------------------------------
" Il kernel che andrete a compilare si chiamerà 2.2.16-1
" Se sul sistema è già presente tale versione (2.2.16), la nostra non 
" interferirà con essa.
" Configurate il kernel
# make mrproper
# make menuconfig
" Compilate kernel e moduli
# make dep && make clean 
# make zImage
" Quest'ultimo comando dice che l'immagine del nuovo kernel è troppo 
" grande (too big)? Date allora il seguente comando:
# make bzImage
" Compilate gli eventuali moduli
# make modules
" Installate i moduli. Dando questo comando verranno spostati i moduli
" appena creati nella directory /lib/modules/2.2.16-1
# make modules_install
" Copiate il file System.map generato dalla compilazione del nuovo kernel.
" Ancora una volta, dategli un nome *unico* per evitare conflitti.
# cp /usr/src/System.map /boot/System.map-2.2.16-1
" Se avete una distribuzione RedHat non dovete fare piu` nulla in quanto 
" negli script di avvio si trovano queste linee (si veda il file
" '/etc/rc.d/rc.sysinit'):
--- file /etc/rc.d/rc.sysinit ------------------------------------------
...
# Adjust symlinks as necessary in /boot to keep system services from
# spewing messages about mismatched System maps and so on.
if [ -L /boot/System.map -a -r /boot/System.map-`uname -r` ] ; then
        ln -s -f System.map-`uname -r` /boot/System.map
fi
if [ ! -e /boot/System.map -a -r /boot/System.map-`uname -r` ] ; then
        ln -s -f System.map-`uname -r` /boot/System.map
fi
...
------------------------------------------------------------------------
" Create un floppy con il nuovo  kernel, dal quale effettuerete il boot,
" per verificare la bontà (o meno) del kernel appena creato.
# cat /usr/src/linux/arch/i386/boot/zImage > /dev/fd0
" Lasciate il floppy inserito, effettuate il reboot:
# reboot
" Assicuratevi che con il nuovo kernel funzioni tutto quanto.
" In caso affermativo potete utilizzare LILO per evitare di fare il boot
" da floppy.
" NOTA: il file /etc/lilo.conf lo trovate poco sotto.
" Ovviamente, voi potreste  avere la directory root  montata da un'altra
" parte anzichè in /dev/hdc6.
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.16-1
# vim /etc/lilo.conf
# lilo
----- /etc/lilo.conf ---------------------------------------------------
boot=/dev/hda
prompt
timeout=50
default=win
image=/boot/vmlinuz-2.2.16-1
        label=linux
        read-only
        root=/dev/hdc6
image=/boot/vmlinuz-2.2.16
        label=linuxold
        read-only
        root=/dev/hdc6
other=/dev/hda1
        label=win
------------------------------------------------------------------------
Questo quello che succede al prompt di LILO se scrivete:
linux     ---> viene caricato il nuovo kernel 2.2.16-1
linuxold  ---> viene caricato il vecchio kernel 2.2.16
win oppure [invio]  ---> potete caricare windows (se proprio ci tenete)
===EOF
Ciao
Ale
-- 
Home Page: 
http://web.tiscalinet.it/airaghi
Per ottenere il mio indirizzo e-mail sostituire a NOSPAM il mio cognome

 ha scritto nel messaggio
news:slrn8mjk5v....@localhost.localdomain...


comunque il succo è questo e quindi vedrò di capirci quanto +
Non conosco la  SuSE. O meglio, era stata la  mia prima distribuzione ma
non mi era  piaciuta per nulla. Un manuale in  italiano che rasentava la
presa  in giro  (presente le  traduzioni di  babelfish di  altavista?) e
troppe parti che si erano dimenticati di tradurre dal tedesco :((
Ora non so come stiano le cose.
Comunque, le info che ti ho dato vanno bene per qualunque sistema Linux.
Un consiglio: dovresti imparare a  "quotare" un po' meglio. Prima devono
comparire le linee  del messaggio al quale vuoi fare  il follow-up e poi
le tue di risposta.
Inoltre, non c'era bisogno di ri-inviare tutto quanto avevo gia` inviato
io in  precedenza. Arrivano centinaia  di messaggi al giorno,  se ognuno
inviasse messaggi da 186 linee ...
