PDA

View Full Version : Compilare il Kernel per poi installarlo su un'altra macchina


Gica78R
16-04-2005, 00:06
Ciao!
Ho un vecchio 486 su cui ho installato Slack 9.1 e il kernel 2.4 (quello predefinito), ma ora vorrei sostituirlo con il 2.6.10. Ho provato a configurare e compilare il nuovo kernel (modulare) direttamente sul 486, ma dopo 13 ore di compilazione stava ancora a meta' (ho solo 12 MB di Ram)! Quindi ho pensato di compilare il kernel su una macchina piu' veloce e poi copiarlo sul 486. Cosi' ho configurato e compilato un kernel monolitico con le funzioni essenziali, l'ho copiato sul 486 in /boot assieme al relativo file System.map (serve?), ho riconfigurato lilo e ho riavviato. La macchina parte, il kernel viene caricato, ma cerca ancora di caricare i moduli del vecchio 2.4 :(
Inoltre, se faccio uname -a mi dice ancora che il kernel utilizzato e' il 2.4. Ho pensato che il problema fosse dovuto al fatto che sul 486 non c'era tutto l'albero dei nuovi sorgenti, cosi' ce l'ho copiato (prendendolo direttamente dalla directory del pc piu' veloce su cui avevo compilato), ho aggiunto il link /usr/src/linux affinche' puntasse a tale albero, e ho riavviato; non e' cambiato nulla.
Il pc pero' funziona tranquillamente, almeno in apparenza. L'unica anomalia e' relativa ai messaggi di errore stampati a video durante il boot, quando tenta di fare modprobe con i vari moduli. Che si puo' fare?

Gica :cool:

VegetaSSJ5
16-04-2005, 01:02
secondo me i kernel della serie 2.6.x sono troppo nuovi per un 486! io metterei al max un 2.4.x. per far caricare il nuovo kernel devi aggiungere nel lilo.conf la riga appropriata del tipo
image= /boot/vmlinuz-2.4.30
root= ...
label= Linux-2.4.30

e poi non dimenticare che devi lanciare lilo.

Gica78R
16-04-2005, 11:03
e poi non dimenticare che devi lanciare lilo.
Come volevasi dimostrare... in effetti mi ero dimenticato di lanciare lilo, quindi il kernel in esecuzione era effettivamente il 2.4...
Dopo aver effettivamente aggiornato lilo, pero', al reboot il sistema si bloccava proprio sul bootloader. Non capivo come mai, ho provato a ripristinare la vecchia configurazione col vecchio kernel, ma lilo non ne voleva piu' sapere di partire.
Ho quindi compilato ed installato grub (un' oretta e mezza buona :muro: ) ma il problema proseguiva anche con questo, solo che almeno grub segnala il tipo di errore che incontra... Errore 18, il disco e' troppo grande ed il BIOS non riesce ad indirizzare il file di avvio (piu' o meno, forse non ho usato tutti i termini giusti). A questo punto mi sono messo a reinstallare Slack prevedendo una partizione dedicata alla directory /boot da sistemare all'inizio del disco. Quando avro' finito, riprovero' col kernel 2.6.10 :)

Gica

Gica78R
16-04-2005, 15:11
Ho sistemato la faccenda bootloader, ora il sistema parte anche con il kernel 2.6.10 monolitico, pero' ci sono ancora alcuni problemini...

Da dmesg
Probing IDE interface ide0...
hda: SAMSUNG WNR-31601A (1600MB), ATA DISK drive
hdb: LION OPTICS CORPORATION XC-200AI CD-ROM, ATAPI CD/DVD-ROM drive
Probing IDE interface ide1...
ide1: Wait for ready failed before probe !
Probing IDE interface ide2...
ide2: Wait for ready failed before probe !
Probing IDE interface ide3...
ide3: Wait for ready failed before probe !
Probing IDE interface ide4...
ide4: Wait for ready failed before probe !
Probing IDE interface ide5...
ide5: Wait for ready failed before probe !
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: max request size: 128KiB
hda: 3145968 sectors (1610 MB) w/108KiB Cache, CHS=3121/16/63
hda: cache flushes not supported
Ma soprattutto:
version 0 swap is no longer supported. Use mkswap -v1 /dev/hda4

Avro' omesso o sbagliato qualcosa durante la configurazione?

Con il vecchio kernel (quello installato direttamente durante l'installazione di Slack), comunque, non filava certamente tutto liscio. Sempre da dmesg:
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
hda: SAMSUNG WNR-31601A (1600MB), ATA DISK drive
hdb: LION OPTICS CORPORATION XC-200AI CD-ROM, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: attached ide-disk driver.
hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
hda: task_no_data_intr: error=0x04 { DriveStatusError }
hda: 3145968 sectors (1611 MB) w/108KiB Cache, CHS=3121/16/63
hdb: attached ide-cdrom driver.
hdb: ATAPI 2X CD-ROM drive, 120kB Cache
Uniform CD-ROM driver Revision: 3.12
Partition check:
hda: hda1 hda2 hda3 hda4
SCSI subsystem driver Revision: 1.00
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
C'e' da dire che comunque il disco e il lettore CDROM funzionano :confused:
In tutti e due i casi, pero', e nonostante il kernel 2.6.10 lo abbia compilato come monolitico, ci sono sempre errori relativi a modprobe durante l'avvio :(
Boh, non e' che devo andare a modificare anche qualche script di avvio?

wubby
16-04-2005, 15:38
module-init-tools è installato?

Gica78R
16-04-2005, 19:45
module-init-tools è installato?
Come si fa per vedere se e' installato?
E' un comando?

Cercando con find trovo i seguenti files:

- /var/log/packages/module-init-tools-0.9.14-i486-2
- /var/log/scripts/module-init-tools-0.9.14-i486-2

piu' un file analogo in /usr/docs (che conterra' la documentazione...)

E' quello che trovo in /var/log/scripts/, vero? Che ci devo fare?

Grazie,
Gica

dobro
17-04-2005, 20:34
Ciao una domanda , come ti gira la slack 9.1 sul 486 ?
La usi da console o ci hai messo un'interfaccia tipo fluxbox ?

VegetaSSJ5
17-04-2005, 20:43
visto che hai un kernel monolitico allora non devi caricare nessun modulo. cmq, a parte il fatto che io ti consiglio un kernel molto modulare con installate staticamente solo le opzioni indispensabili, i moduli che il sistema carica all'avvio si trovano nel file /etc/rc.d/rc.modules
nella cartella rc.d ci sono tutti i files di avvio, esaminali per ottimizzare al massimo il tuo sistema (per quanto possibile con un 486!;)). ti ripeto il consiglio di un kernel modulare.

inoltre mi pare che con i kernel 2.6.x ci voglia il pacchetto aggiornato di module-init-tools. se quel pc è collegato ad internet ti consiglio di aggiornare tutto il sistema con swaret. altrimenti installa la slackware 10.1.

Gica78R
17-04-2005, 20:46
Ciao una domanda , come ti gira la slack 9.1 sul 486 ?
La usi da console o ci hai messo un'interfaccia tipo fluxbox ?

Moooooolto lentamente! Ma non e' per colpa del 486, il problema e' la memoria, solo 12MB (di cui 4 acquistati per strada durante un mercatino dell'antiquariato :p )
Non uso interfaccia grafica, ma ce l'ho installate. Quando ho tentato di farla partire (fluxbox, credo), s'e' inchiodata (giustamente, direi). Forse se riuscissi a liberare un po' di memoria eliminando la roba inutile, potrei riuscire... Ad esempio, per ora ho eliminato (editando /etc/inittab) tutti i terminali tranne due; non so se si puo' fare altro, sono ancora un po' incapace :D
Ah, il kernel monolitico che ho compilato e' abbastanza snello... 1,2 MB, ma credo ci siano altre cosette che si possano eliminare, anzi ci sono sicuramente. Pero' mi sa che nel frattempo ho escluso qualcosa di essenziale :confused:

Ciao,
Gica :cool: