|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Aug 2001
Città: MILANO SUD
Messaggi: 1531
|
ricompilazione del kernel: e poi?
ho ricompilato il kernel, per la red hat 8.0 (ho scaricato il kernel 2.4.20). ho ricompilato il kernel ed ho costruito una nuova immagine.
L'idea è quella di mantenere (e non sostituire) la vecchia immagine del kernel per poter avviare a mio piacimento linux con una versione del kernel piuttosto che con l'altra. il boot loader installato è GRUB ed è montato sull'MBR dell'hd, non sulla partizione di boot, anche perchè sull'hd ho anche w2000. ebbene: non mi è chiaro cosa fare per dire a grub di lanciare opzionalmente la nuova versione del kernel. ho inizialmente montato l'immagine nuova del kernel sulla partizione di boot e ho modificato il file di configurazioen di GRUB presente sulla partizione di boot... ma GRUB non è montato lì, è montato sull'MBR, e giustamente non si accorge delle variazioni del suo file di configurazione sulla partizione di boot. La prima domanda è, con quale comando di GRUB riesco ad aggiornare effettivamente il menù di avvio dl sistema (in modo che non presenti solo le voci DOS e Linux, ma anche una voce che lanci Linux col nuovo kernel?) La seconda domanda è: per avviare il sistema con il nuovo kernel ho bisogno anche di un nuovo file di inizializzazione (insomma l'init del sistema)... ma come cavolo faccio a costruirlo? va bene il vecchio, quello per il vecchio kernel? GRAZIE |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Aggiornare GRUB è molto semplice, tutto sta ad editare il file di configurazione "giusto". Sulla mdk (credo anche sulla Redhat) è /boot/grub/menu.lst, basta aggiungere la voce relativa al nuovo kernel, e riavviare. Non occorre riscrivere l'mbr, come avviene con lilo.
Nota che, se non usi un kernel fornito dalla Redhat, devi sostituire il formato LABEL= per indicare la partizione di root. V. ad es. qui
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Aug 2001
Città: MILANO SUD
Messaggi: 1531
|
mhh... quindi non è necessario utilizzare comandi esoterici come con LILO?
io una modifica al file di configurazione (o presunto tale!!)l'ho fatta, ma non ho notato nessunissima variazione. può darsi però che abbia sbagliato file (mi pare avesse un altro nome... ![]() ad ogni modo stasera tenterò. ma per quanto riguarda il file initrd-2.4.20.img come cavolo lo creo? cioè, ho perso una qualche fase di compilazione del kernel e non è stato generato alcun file di "init" oppure c'è un qualche trucco a me sconosciuto? stasera comuqne provo! |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
L'initrd puoi anche non usarlo, se compili staticamente nel kernel (e _non_ come modulo) tutto il necessario per montare la partizione di root (driver per il file system di root, in particolare).
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Aug 2001
Città: MILANO SUD
Messaggi: 1531
|
Quote:
se invece avessi la necessità di montare come moduli alcuni componenti, dovrei editare manulamente il fiel di init? |
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
L'initrd serve per caricare i moduli necessari per montare la partizione di root; normalmente le distribuzioni lo usano in quanto il sistema operativo potrebbe essere installato su dispositivi moto diversi (scsi, raid ecc.) e quindi per non creare una immagine del kernel enorme, settano l'initrd in maniera appropriata a seconda dell'hw su cui il sistema deve partire. Ma se ti ricompili un kernel personalizzato, non c'è più alcun motivo per usarlo. Esistono anche altri usi per l'initrd, ma il suo scopo principale è far sì che il kernel possa montare la sua root. Il resto sono "giochetti cosmetici".
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Aug 2001
Città: MILANO SUD
Messaggi: 1531
|
ho controllato. ho modificato esattamente il file menu nella directory /boot/grub, ma non è successo niente!!!!
sembra proprio che GRUB, per il fatto di risiedere sull'MBR, abbia da qualche parte un altro file di configurazione. qualcuno ha qualche idea? |
![]() |
![]() |
![]() |
#8 | |||
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quote:
Quote:
Sulla mia Mandrake lo script usato dal programma di setup per installare grub è stato salvato come /boot/grub/install.sh: Codice:
grub --device-map=/boot/grub/device.map --batch <<EOF install (hd0,0)/grub/stage1 d (hd0) (hd0,0)/grub/stage2 p (hd0,0)/grub/menu.lst quit EOF Controlla se sul tuo computer esiste uno script simile, almeno puoi risalire a quale sia il file di menu. Mi sembra molto strano, comunque, che non sia stato utilizzato il nome "standard" per tale file.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|||
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Aug 2001
Città: MILANO SUD
Messaggi: 1531
|
ok, grazie. ora tenterò.
comunque che il file di configurazione non sia lo stesso lo assicura anche la circostanza che, indipendentemente dalle mie modifiche, il file menu.lst, non abbia la struttura corretta (per esempio le etichette dei vari SO avviabili non corrispondono ai nomi effettivamente visualizzati nel menu di boot). per inciso la mia distribuzione è la RH8.0 |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Ok prendo atto che la RH ha sentito la necessità di cambiare anche questo standard
![]()
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Aug 2001
Città: MILANO SUD
Messaggi: 1531
|
a proposito di RH... io sono 2 settimane che cerco in tutti i modi di installare i driver per linux della NVIDIA, ma ogni volta ho errori di compilazione, installazione dell'rpm e così via.
a tua avviso è un problema dei diver o... della RH, che forse non ha installato proprio tutto quello che avrebbe dovuto installare? Possibile che alcune librerie della RH siano bacate o non perfettemanet compatibili, magari colla versione del kernel, o con la versione del gcc installata? Nella disperazione sto valutando l'idea di installare un'altra distribuzione... |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Errori di compilazione -> ti mancano i sorgenti del kernel
Errori di installazione del driver rpm precompilato -> stai usando il pacchetto errato, devi scegliere quello che coincide _esattamente_ con la versione del tuo kernel e della tua distribuzione
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Aug 2001
Città: MILANO SUD
Messaggi: 1531
|
ho controllato l'esistena dei sorgenti... e li ho installati (almeno credo... come lo verifico con esattezza?)
pare sia necessario installare anche alcuni header(?) per quanto riguarda l'rpm... più di usare la versione per RH8.0 architettura athlon , kernel standard, non so che fare |
![]() |
![]() |
![]() |
#14 | |||
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quote:
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|||
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Aug 2001
Città: MILANO SUD
Messaggi: 1531
|
Quote:
magari non è il motivo vero, ma in effetti è una possibilità che non avevo preso in considerazione. proverò stasera. chissa che non sia la volta buona. |
|
![]() |
![]() |
![]() |
#16 |
Member
Iscritto dal: Aug 1999
Messaggi: 112
|
scaricaricati i src.rpm
e usa il comando rpmbuild per compilarli, te li metto sotto /usr/src/redhat/rpm... non ricordo e poi poi rpm -i nome_pack per installarli. ricorda di modificare il file di conf di X come da README! |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:57.