Pagina 1 di 1

Slack 12.1 kernel -generic-smp ed ext2 ??

Inviato: lun 16 giu 2008, 16:07
da Luci0
Ho scoperto un mezzo bug ...

Ho installato una 12.1 su un vecchio notebook (Acer Travelmate 514TXV Celeron 466Mhz 64Mb RAM e 6.4Gb hdd) e ho avuto la malaugurata idea di installare utilizzando la filesystem ext2. L' fatto di proposito per evitare di utilizzare il kernel-huge. Pensavo di mettere il kernel-generic, senza utilizzare initrd risparmiando in questo modo qualche Mb di RAM... invece ..

Avviando il 2.6.24.5-generic-smp senza inirtd il kernel non é in grado di riconoscere correttamente le partizioni ... ho creato un initrd fittizio ( in pratica senza moduli ) mkinitrd -c -k 2.6.24.5-smp -m ext2 -f ext2 -r /dev/hda2 ma neanche così riesce ad avviarsi ...
Allora ho provato a dargli i moduli per ext3 ricreando l' intrd con .. mkinitrd -c -k 2.6.24.5-smp -m ext3 -f ext2 -r /dev/hda2, gli passo i moduli ma specifico che la filesystem é comunque ext2, anche qui errore
Ovviamente dà errore anche passandogli il parametro -f ext3 ...
Alla fine ho avviato con il dvd di installazione e convertito la filesystem da ext2 ad ext3, in questo modo la cosa ha funzionato .

In pratica con la slackware 12.1 non é possibile avviare un sistema con ext2 se non si utilizza il kernel-huge ... la cosa é seccante, anche perché lo sfigato utente che ha un cesso di PC con poca memoria e CPU super lenta, é costretto a compilarsi il kernel per risparmiare qualche qualche briciola di RAM !!

Non ho be capito perché il kernel-generic si comporti in un modo tanto stupido, sicuramente é il modo con cui é stato compilato ma cosa é stato cambiato mi sfugge!

N.B. ho provato solo con i kernel 2.6.24.5-smp

Re: Slack 12.1 kernel -generic-smp ed ext2 ??

Inviato: lun 16 giu 2008, 17:27
da conraid

Re: Slack 12.1 kernel -generic-smp ed ext2 ??

Inviato: lun 16 giu 2008, 18:53
da urka58
Avviando il 2.6.24.5-generic-smp senza inirtd il kernel non é in grado di riconoscere correttamente le partizioni ... ho creato un initrd fittizio ( in pratica senza moduli ) mkinitrd -c -k 2.6.24.5-smp -m ext2 -f ext2 -r /dev/hda2 ma neanche così riesce ad avviarsi ...
Scusa, ma cosa significa l'immagine RAM senza moduli? Il FS ext2 è compilato come modulo caricabile, come segnalato da Conraid. Se non viene inserito nell'immagine RAM come può essere caricato al boot? Magari mi sfugge qualcosa...
Ciao

PS Anche il driver mbcache è configurato come modulo caricabile, anche se non sono sicuro sia necessario per ext2. Prova ad inserirlo nel RAM disk. Può darsi che non venga inserito automaticamente nell' immagine da mkinitrd

Re: Slack 12.1 kernel -generic-smp ed ext2 ??

Inviato: lun 16 giu 2008, 22:01
da Luci0
Ok nel config c'é ext2 compilato come modulo ... anche se nel README.initrd si intuiva di no

Codice: Seleziona tutto

2.  Why do I need an initrd?

The usual reason to use an initrd is because you need to load kernel 
modules before mounting the root partition.  Usually these modules are 
required to support the filesystem used by the root partition (ext3, 
reiserfs, xfs),
.. ma allora perché non ha funzionato e dov' é che ho sbagliato .... indagherò !

EDIT

Adesso funziona anche con ext2 ... e forse avevo sbagliato a scrivere qualcosa nel comando per generare l' initrd ... chiedo scusa del falso allarme :oops:
Comunque non sono tanto convinto ... e io sono testardo !

EDIT 2
Non contento di aver sprecato tempo con un notebook così obsoleto ... ho provato a riprodurre il bug ( se si può definire tale ) provando ad installare il kernel-generic non smp e cercando di ripetere (anche gli errori) quello che avevo fatto per generare l' initrd ...
Ho rincreato a mano i link a vmlinuz al config e Sytem.map usando il kernel 2.6.24.5-generic e poi creato l' inirtd con il comando

Codice: Seleziona tutto

mkinitrd -c -k 2.6.24.5-smp -m ext2 -f ext2 -r /dev/hda2
.. ed ecco il messaggio del piantamento ...

Codice: Seleziona tutto

No kernel modules found for Linux 2.6.24.5
mount: mounting /dev/hda2 on /mnt failed: No such devices
EDIT 3

Ho provato ad eseguire per filo e per segno le indicazioni del file README.initrd ma per il kernel 2.6.24.5 (non smp) ed il modulo ext2 ma il problema del boot rimane, credo che il file inirtd.gz creato con mkinitrd con etx2 per qualche motivo non funziona ... e che quindi quando ho scritto il primo messaggio forse non avevo bevuto troppo ... il bug rimane aperto :-(

EDIT 4
Il problema si presenta perché lo script load_kernel_modules va a cercare i moduli (dentro l' immagine inirtd) nella directory /lib/modules/2.6.24.5/ ma in realtà esiste la /lib/modules/2.6.24.5-smp/ e dentro ci sono i moduli corrispondenti, mentre nell' initrd-tree ci sono quelli giusti ... a questo punto il problema dovrebbe essere mkinitrd ...
... che é passato dalla 1.3.2-2 alla 1.3.2-3... ma anche così nulla di fatto ... sarà bene controllare il lilo.conf

EDIT 5

Risolto ... morale quando si é stanchi é meglio lasciar perdere !!!