View Full Version : Dubbio ricompilazione kernel
Premetto che mi sono "studiato" the linux kernel how-to (in italiano per fortuna) e faccio riferimento ad alcune riviste.
Adesso cito passo passo quello che finora ho fatto per ricompilare il kernel:
1)Redhat non installa di default i sorgenti del kernel (2.4.18-3) e quindi l'ho fatto io.Nella dir /usr/src trovo allaro la dir linux-2.4.18-3 e il relativo link simbolico.
2)Vado in /usr/src/linux-2.4.18-3 e mi faccio make xconfig
3)Supponendo che configuro tutto (+ o - bene momentaneamente è ininfluente) alla fine faccio "Store Configuration to file" e salvo la mia configurazione in /usr/src/linux-2.4.18-3/configs con il nome di mia.config (in questa dir ci sono varie configurazioni per i386, i686, athlon)
4)make dep
5)make bZimage
6)Adesso mi rinomino con mv /lib/modules/2.4.18-3 in /lib/modules/2.4.18-3old (e mi metto al sicuro i vecchi moduli)
7)make modules
8)make modules_install
9)Adesso scelgo di mettere il mio nuovo kernel su floppy per provarlo (cp /usr/src/linux-2.4.18-3/arch/i386/boot/bZimage /dev/fd0)
10)Se volessi usare direttamente il kerne potrei compiare /usr/src/linux-2.4.18-3/arch/i386/boot/bZimage in /boot/mio_kernel
11)Mi modifico il lilo (se ho fatto il passo 10) e vai con lilo -v
Ditemi se i passi posso andare bene (credo di si).
Il mio problema è il seguente:quando mi ricompilo il kernel (se configurato bene o no è secondario) ogni volta mi sovrascrivo quello esistente, in pratica rovino quello buono.Non ho ancora capito perchè
Quando mi copio il file bZimage in /boot l'ho rinomino, ma esso non sembra essere un file (l'ho si capisce dall'icona rappresentata) eseguibile (come invece è il kernel standard di 2.8 MB)
Spero possa risolvere questo problema perchè ogni volta perdo il sistema e francamente un linuxiano non è un vero linuxiano se non si compila da se il kernel.
ma scusa.......
devi fare delle modifiche sul kernel giusto?
io quando e' cosi' vado sul centro di controllo, seleziono le voci che mi interessano, salvo la configurazione e poi faccio "make symlinks dep" oppure "make install" a secondo quanto mi dice lui. regolarmente alla fine mi da' errore x' nn riesce a mettere l'immagine sul disketto ma, il kernek viene ricompilato senza errori
Originariamente inviato da techman
[B]ma scusa.......
devi fare delle modifiche sul kernel giusto?
io quando e' cosi' vado sul centro di controllo, seleziono le voci che mi interessano, salvo la configurazione e poi faccio "make symlinks dep" oppure "make install" a secondo quanto mi dice lui. regolarmente alla fine mi da' errore x' nn riesce a mettere l'immagine sul disketto ma, il kernek viene ricompilato senza errori
Vabbè io voglio fare una ricompilazione come si deve.Lo stesso lavoro di cui parlo io si fa anche per kernel diversi da quello in uso.
Originariamente inviato da gokan
[B]
Il mio problema è il seguente:quando mi ricompilo il kernel (se configurato bene o no è secondario) ogni volta mi sovrascrivo quello esistente, in pratica rovino quello buono.Non ho ancora capito perchè
Quando mi copio il file bZimage in /boot l'ho rinomino, ma esso non sembra essere un file (l'ho si capisce dall'icona rappresentata) eseguibile (come invece è il kernel standard di 2.8 MB)
Spero possa risolvere questo problema perchè ogni volta perdo il sistema e francamente un linuxiano non è un vero linuxiano se non si compila da se il kernel.
ma scusa, alla fine degli step indicati, non e' che per caso ti trovi sotto / i file
vmlinuz
System.map ?
In tal caso rinominateli come vuoi e spostali in
/boot; in tal modo puoi inserire in lilo una voce in piu' che punta al nuovo kernel: cosi' puoi partire da quello che vuoi.
Originariamente inviato da hilo
[B]
ma scusa, alla fine degli step indicati, non e' che per caso ti trovi sotto / i file
vmlinuz
System.map ?
In tal caso rinominateli come vuoi e spostali in
/boot; in tal modo puoi inserire in lilo una voce in piu' che punta al nuovo kernel: cosi' puoi partire da quello che vuoi.
Non sapevo si dovesse anche copiare il file System.map.....il prob è che ogni volta si manomette anche il kernel standard...
per me e' piu' pulito far puntare il link System.map a quello nuovo, con la possibilita' di ripristinare il vecchio collegamento nel caso qualcosa non dovesse andare bene
C'è sicuramente qualche passaggio che mi frega.:confused:
Originariamente inviato da gokan
[b]C'è sicuramente qualche passaggio che mi frega.:confused:
io semplicemente faccio:
ln -s /usr/src/linux-2.x.y /usr/src/linux
cd /usr/src/linux
make xconfig
(setto le varie voci e poi save&quit)
make dep
make clean
make bzImage
make modules
make modules_install
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.x.y
cp /usr/src/linux/System.map /boot/system.map-2.x.y
(edito lilo.conf dando il path alla nuova immagine e poi da shell lancio lilo)
Reboot
Tale procedura non mi ha mai dato problemi;)
Ho solo qualche dubbio per le distro che presentano in lilo.conf una riga del tipo initrd=/boot/initrd.img che non so come trattare dopo la ricompilazione, ma ilsensine mi sta illuminando a tal proposito:p
Ciao;)
Originariamente inviato da NZ
io semplicemente faccio:
[B]ln -s /usr/src/linux-2.x.y /usr/src/linux
cd /usr/src/linux
make xconfig
(setto le varie voci e poi save&quit)
make dep
make clean
make bzImage
make modules
make modules_install
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.x.y
cp /usr/src/linux/System.map /boot/system.map-2.x.y
(edito lilo.conf dando il path alla nuova immagine e poi da shell lancio lilo)
Reboot
Tale procedura non mi ha mai dato problemi;)
Ho solo qualche dubbio per le distro che presentano in lilo.conf una riga del tipo initrd=/boot/initrd.img che non so come trattare dopo la ricompilazione, ma ilsensine mi sta illuminando a tal proposito:p
Ciao;)
Proverò a fare passo-passo come dici tu (magari parto dal kernel 2.4.19)
Che significa questa cosa?
image=/boot/vmlinuz-2.4.18-3
label=linux
initrd=/boot/initrd-2.4.18-3.img
read-only
root=/dev/hdc1
append="hdd=ide-scsi"
initrd=/boot/initrd-2.4.18-3.img
questa stringa ha un'importanza particolare?
Originariamente inviato da gokan
[b]Proverò a fare passo-passo come dici tu (magari parto dal kernel 2.4.19)
prova;)
Originariamente inviato da gokan
[B]Che significa questa cosa?
image=/boot/vmlinuz-2.4.18-3
label=linux
initrd=/boot/initrd-2.4.18-3.img
read-only
root=/dev/hdc1
append="hdd=ide-scsi"
initrd=/boot/initrd-2.4.18-3.img
questa stringa ha un'importanza particolare?
image=/boot/vmlinuz-2.4.18-3
è fondamentale!
indica l'immagine del kernel da cui fare il boot.
Se tu hai messo il kernel 2.4.19, ed eseguito la procedura che ho sopra indicato, allora devi editarla in:
image=/boot/vmlinuz-2.4.19
label=linux
è l'etichetta del relativo OS.
Se vuoi al posto di linux puoi mettere il nome della tua distro.
append="hdd=ide-scsi"
emulazione scsi.
vedendo "hdd" dovresti avere il master come secondary slave.
La mia è:
append="hda=ide-scsi hdc=ide-scsi"
ho il cdrom come primary master (hda)
e il master come secondary master (hdc)
Se la imposti anche tu così ricordati poi di modificare /etc/fstab: il cdrom diventa scd0 e il master scd1.
initrd=/boot/initrd-2.4.18-3.img
è fondamentale si.
Da quanto mi ha spiegato ilsensine, serve a caricare i moduli che riguardano il filesystem.
Purtroppo non ho ancora capito bene come editarla quando ricompilo un nuovo kernel:(:confused:
Ciao;)
Originariamente inviato da gokan
[B]
initrd=/boot/initrd-2.4.18-3.img
questa stringa ha un'importanza particolare?
si purtroppo:(
ho appena provato a ricompilare il kernel della MDK 9.0 ( il 2.4.19-16mdk ) ed è successo il danno:(
Ho solo settato il processore da i586 ad Athlon e messo il supporto ext3 staticamente (per poter usare lo stesso initrd.img...pensavo:() ma al successivo reboot,quando sembra che il sistema si stesse avviando,compaiono:
Error: /bin/insmode existed abnormally
Loading ext3 modules
e il sistema rimane paralizzato!!!:mad:
Non metto in dubbio che abbia sbagliato io qualcosa ma se qualche anima gentile volesse spiegare chiaramente come trattare sto benedetto initrd.img in fase di post compilazione gliene sarei veramente grato:D
Anzi....se ci fosse un modo per farne a meno sarebbe meglio:p
Ciao;)
Originariamente inviato da NZ
[B]
si purtroppo:(
ho appena provato a ricompilare il kernel della MDK 9.0 ( il 2.4.19-16mdk ) ed è successo il danno:(
Ho solo settato il processore da i586 ad Athlon e messo il supporto ext3 staticamente (per poter usare lo stesso initrd.img...pensavo:() ma al successivo reboot,quando sembra che il sistema si stesse avviando,compaiono:
Error: /bin/insmode existed abnormally
Loading ext3 modules
e il sistema rimane paralizzato!!!:mad:
Non metto in dubbio che abbia sbagliato io qualcosa ma se qualche anima gentile volesse spiegare chiaramente come trattare sto benedetto initrd.img in fase di post compilazione gliene sarei veramente grato:D
Anzi....se ci fosse un modo per farne a meno sarebbe meglio:p
Ciao;)
Avrò fatto qualche cazzatella nella mia compilazione ma se anche tu hai qualche prob a compilare...potrebbe essere questa maledetta stringa a darci problemi.
Originariamente inviato da gokan
[B]
Avrò fatto qualche cazzatella nella mia compilazione ma se anche tu hai qualche prob a compilare...potrebbe essere questa maledetta stringa a darci problemi.
Fatto un esperimento:
ho eliminato la stringa incriminata da lilo.conf e il sistema si riavvia lo stesso.
Certo,così facendo non vedo la sequenza di boot su sfondo blu ,davvero bello, ma chi se ne frega:p
Almeno non ho problemi a compilare kernel nuovi.
Comunque sta MDK9 non mi sta esaltando...
...la tengo ancora un po e se non scoppia l'amore torno a Slack:D
Ciao;)
Originariamente inviato da NZ
[B]
Fatto un esperimento:
ho eliminato la stringa incriminata da lilo.conf e il sistema si riavvia lo stesso.
Certo,così facendo non vedo la sequenza di boot su sfondo blu ,davvero bello, ma chi se ne frega:p
Almeno non ho problemi a compilare kernel nuovi.
Comunque sta MDK9 non mi sta esaltando...
...la tengo ancora un po e se non scoppia l'amore torno a Slack:D
Ciao;)
Al + presto provo anch'io ad eliminarla e vediamo che succede alla prossima ricompilazione
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.