Newsgroup: it.comp.os.linux.iniziare
Titolo: Avvio Nuovo kernel

Ciao al NG
Prima volta che compilo il kernel!
Ho scaricato i sorgenti del 2.4.19
li ho messi in /dev/hdb3  precisamente nella directory 
/usr/src/kernel-source-2.4.19
nella quale c'e installata correttamente una Debian Woody e con la quale 
avvio il sistema con LILO
faccio make menuconfig e setto il mio kernel stando attento che i vari 
File System siano integrati nel kernel.
Di seguito  eseguo:
  make dep -> tutto ok
make bzImage -> tutto ok
make modules -> tutto ok
make modules_install ->tutto ok
ottengo dei file: come da manuale il nuovo Kernel si trova in 
/usr/src/kernel-source-2.4.19/arch/i386/boot
con il nome di bzImage
nella direttory /usr/src/kernel-source-2.4.19 ottengo il System.map  e 
un file vmlinux
Di seguito copio il nuovo Kernel in /dev/hda1 nella directory /boot 
rinominandolo vmlinuz-2.4.19-31102004
La stessa operazione la faccio con il System.map rinominandolo 
System.map-2.4.19-31102004
Di seguito aggiorno il bootloader eseguendo lilo il quale si aggiorna 
senza errori.
Il problema sta nell'avvio del nuovo kernel che ad un certo punto va in 
Kernel Panic e dice che non può montare il file system.
Io sono certo che il supporto per il file system c'e' sia per ext2, ext3 
sia reiserfs che é quello che dovrebbe montare su /dev/hdb3
Inoltre, ho configurato il kernel per avere i file system built-in e non 
come moduli.
Credo di far qualche casino con le copie e la posizoine dell nuovo 
kernel nonchè con il System.map
rdev nuovokernel mi da /dev/hdb3 e mi sembra giusto l'ho compilato li!
Inoltre, i moduli che sono statii generati in /dev/hdb3 -> 
/lib/modules/2.4.19 devo spostarli in /dev/hda1-> /lib/modules per 
metterli a disposizione del nuovo kernel?
Grazie per la pazienza ;-)
lilo.conf
root=/dev/hda
image=/boot/vmlinuz-2.4.20-xfs  #questa è una distro Knoppix su hda1
     label=linux
initrd=/boot/initrd.gz
read-only
image=/boot/vmlinuz-2.4.19-31102004   #qui dovrrebbe partire il mio 
nuovo kernel
     label=kernel2.4.19
     root=dev/hdb3
     read-only
image=/boot/vmlinuz-2.4.18-bf2.4   #Debian woody
     label=Debian_Woody
     root=dev/hdb3
     read-only

      root=dev/hdb3
si può sapere qual è la / del sistema?
puoi inviare il tuo /etc/fstab (che è molto più eloquente delle varie
corrispondenze /dev/partizione -> nomefile che hai citato)
se hai copiato il kernel in /dev/hda1 'boot' e hai la / in /dev/hdb3, devi
dare qualche indicazione su come hai spalmato i filesystem in giro per i
dischi, please.
Ciao
gl :)

 > si può sapere qual è la / del sistema?
 > puoi inviare il tuo /etc/fstab (che è molto più eloquente delle varie
 > corrispondenze /dev/partizione -> nomefile che hai citato)
fstab di /dev/hda1
<filesystem>  <mountpoint>	<tipo>	<opzioni>	<dumps>	<pas>
/dev/hda        /		reiserfs defaults	0	1
/dev/hda3	none		swap	sw		0	0
proc		/proc		proc	defaults	0	0
/dev/fd0	/floppy		auto	user,noauto	0	0
/dev/cdrom	/cdrom		iso9660 ro,user,noauto	0	0
 > se hai copiato il kernel in /dev/hda1 'boot' e hai la / in /dev/hdb3, 
devi
 > dare qualche indicazione su come hai spalmato i filesystem in giro per i
 > dischi, please.
oddio! credo di non aver spalmato nulla!
In hda1 ho un una distro e la sua root è /dev/hda1 /
in hdb3 ho un altra distro e la sua root è /dev/hdb3 /
Dovrebbe montare /dev/hdb3 / quando fa il boot da /dev/hda1 dove c'e' il 
nuovo kernel esattamente come fa quando carica la distro residente in 
/dev/hdb3
Lilo l'ho messo nel post precedente.
Spero di averti fornito una panoramica più

 /dev/cdrom	/cdrom		iso9660 ro,user,noauto	0	0
se questo è *veramente* il tuo /etc/fstab, allora in /dev/hda hai un
filesystem reiserfs che prende tutto il disco, senza divisione
in partizioni e sovrapposto c'è un filesystem nella terza partizione...
sorry, anche i dati aggiuntivi sono molto vaghi, io mollo.
ciao
gl :)

 il System.map è totalmente irrilevante
No.


 al prompt di lilo prova a specificare
 root=<device> 
 

 avvio il sistema con LILO [cut make;make sumero]
kernel-package con il suo make-kpkg ti sara` indubbiamente d'aiuto
http://newbiedoc.sourceforge.net/system/kernel-pkg.html
http://qref.sf.net/


Grazie per l'acuta risposta in monosillabi, evidentemente alle 9.40 di
questa mattina solo un neurone era stato attivato, eh? :)
Allora, nella mia personale esperienza, il System.map è totalmente
irrilevante. Non averlo mai copiato nella mistica posizione della cartella
/boot non ha mai dato problemi di funzionamento o di stabilità, sulle
macchine dove ho compilato un kernel custom tra cui diversi server, tra
cui diverse macchine con architettura != i386.
Per il resto, fa come ti pare.
Ciao
gl :)


Dunque... ho perso il tuo post precedente sul lilo, ma vediamo se ho
capito bene:
1) Hai 2 distribuzioni linux.
2) Entrambe le distribuzioni hanno la /usr, /home e tutte le dir in un
unica partizione "/", per la precisione una distribuzione usa /dev/hda1,
una distribuzione usa /dev/hdb3
3) l'fstab che compare qui sopra e' relativo alla distribuzione che sta
in /dev/hda1
4) tu hai compilato un nuovo kernel e lo vuoi usare da ENTRAMBE le
partizioni/distribuzioni linux (su questo punto non sono certo di aver
capito bene).
Iniziamo con il tuo /etc/fstab che compare qui.
Come ti hanno gia' fatto notare e' probabile (anzi, considerando la riga
che riguarda lo swap) sicuro che la prima riga sia sbagliata.
Se hai veramente la partizione "/" in /dev/hda1 allora la riga corretta
e'
/dev/hda1     /      reiserfs     defaults   0    1
Per essere certo che la tua / sia veramente li' prova a controllare con
fdisk /dev/hda -> p
Per quanto riguarda il kernel, se veramente lo vuoi usare con entrambe
le distro, allora lo devi copiare 2 volte, ovvero una volta in /boot/
della prima distro, una volta in /boot/ della seconda distro (almeno non
credo che sia possibile configurare lilo per fargli usare gli stessi
file ma per due partizioni / differenti. Tuttavia, non essendo io un
mago di lilo, non posso del tutto escludere che sia impossibile)
Quello che puoi invece condividere e' invece la partizione di swap: puoi
usare la stessa per entrambe le distribuzioni. Per non complicarti
troppo la vita per ora pero' ti consiglio di lasciar stare le cose cosi'
come sono.
Per quanto riguarda il lilo, non avendo piu' il tuo post su come l'hai
configurato, non ti posso essere molto di aiuto. Unico dubbio: non e'
che ne hai 2 (uno per ogni distribuzione lilo), configurati in modo
differente e che per sbaglio hai fatto "lilo" una volta da una distro ed
una volta da un'altra? 
Ciao,
   Marco.
-- 
I've seen things you people wouldn't believe. Attack ships on fire off the 
shoulder of Orion. I watched c-beams... glitter in the dark near Tanhauser Gate.
All those... moments will be lost... in time, like tears... in rain. 
Time... to die
-------------------------------------------------------------------------------------------
Io ne ho viste cose che voi umani non potete immaginarvi. Navi da combattimento 
in fiamme al largo dei bastioni di Orione e ho visto i raggi B balenare nel 
buio vicino alle porte di Tannoiser e tutti quei momenti andranno perduti nel 
tempo come lacrime nella pioggia... è tempo di morire...
Roy Batty (Rutger Hauer), Blade Runner

 cui diverse macchine con architettura != i386.
Sono rari i programmi che *potrebbero* funzionare male non trovando il
System.map corretto (ad esempio dosemu).
E' irrilevante copiarlo in /boot se esiste /usr/src/linux come link agli
stessi sorgenti usati per compilare il kernel in esecuzione (e non
sorgenti con lo stesso nome) perche' klogd e' sufficientemente
intelligente da trovare quello che fa al caso suo.
-- 
Ciao
Gianluca

 mago di lilo, non posso del tutto escludere che sia impossibile)
Ignora questa frase: ci ho pensato un po' su (ma a quest'ora di mattina
il cervello non funziona del tutto correttamente... non che invece nelle
altre ore della giornata la situazione migliori di molto :-) ), e 
per poco non mi sono messo a cantare la famosa canzoncina del Trio
Medusa (quella che fa, all'incirca: "questa e' proprio una gran
c*****a") 
Ho invece ritrovato il tuo post originale sul lilo. Ho quindi capito che
che hai usato /etc/lilo.conf della distribuzione
Debian che hai su /dev/hdb3.
Da quello che ho visto pero' mi sembra di capire che su /dev/hda1 tu hai
una Knoppix.
Non ho pero' capito una cosa: hai lilo in MBR? E' corretta la riga che
dice
root=/dev/hda
Sicuro che invece non sia
boot=/dev/hda 
o anche
root=/dev/hda1 ?
io proverei a modificare /etc/lilo.conf come segue:
# Per kernel su /dev/hda1 di Knoppix
image = /boot/vmlinuz-2.4.20-xfs
  root = /dev/hda1
  initrd = /boot/initrd.gz
  label = knoppix2420
  read-only
# Per il tuo kernel compilato e messo in /dev/hdb3
image = /boot/vmlinuz-2.4.29-31102004
  root = /dev/hdb3
  label = 2429
  read-only
# Per il kernel di Debian
image = /boot/vmlinuz-2.4.18-bf2.4
  root = /dev/hdb3
  label = Debian
  read-only
NOTA: attento agli "/dev". Nel tuo post hai messo "dev/" senza lo slash
iniziale.
Con questo lilo.conf in pratica aggiungi un kernel alla tua Debian-Woody
(entrambe infatti lavorano sulla root in /dev/hdb3).
Se invece vuoi aggiungere lo stesso kernel anche alla Knoppix allora
devi:
1) copiare /lib/modules/2.4.19-31102004 dalla root in /dev/hdb3 anche
alla root di /dev/hda1
2) aggiungere (ma non essendo ancora diventato un mago di lilo non ne
sono certo) nel tuo /etc/lilo.conf di /dev/hdb3
# Per il tuo kernel 2.4.19 per Knoppix
image = /boot/vmlinuz-2.4.29-31102004
  root = /dev/hda1
  label = 2429K
  read-only
Spero di esserti stato utile anche senza essere stato chiaro :-)
(Se mi hai capito sei proprio bravo!)


 irrilevante.
Non se hai bisogno di usare ksymoops nei kernel 2.4, e il campo wchan
di ps e top.  A volte le cose vanno storte ed è necessario capire dove
sono andate storte.
Se si usano più kernel è comodo avere un System.map-`uname -r` in /boot per 
ogni kernel, non costa niente e può tornare utile per cui non è totalmente
irrilevante.

 fdisk /dev/hda -> p
in effetti e' questa, solo che io avevo dimenticato l'1
cmq, problema risolto! è solo che il make menuconfig mi prendeva 
l'ultima versione che avevo modificato, nella quale non c'era il 
supporto a reiser. L'avevo attivato in una configurazione salvata con un 
altro none.
Quando mi sono accorto della c.....a ho ricompilato, ho copiato il 
kernel in /dev/hda1 /boot ho aggiornato lilo e tutto é andato per il meglio.
Grazie a tutti, anche nell'errore è stato possibile imparare qualcosa di 
  più dai vostri suggerimenti.
Marco, proverò a utilizare una partizione di swap comune. Non ci avevo 
mai pensato! interessante! ;-)
Saluti
Bogo