2007-10-01, 20:14
#13
Modulerna tillhör kärnan och brukar ligga någonstans kring /lib/modules/`uname -r`
Hur dom laddas, automatiskt eller via någon konfigurationsfil beror på konfiguration av kärnan.
(uname -r kan användas för att ta reda på vilken version av kärnan man kör, har jag för mig(har inte tillgång till linux just nu)
Med kärnan brukar jag avse enbart själva bzImage( som brukar bli till efter make och som sedan kopieras till /boot) och inte modulerna, System.map men det är möjligt att jag är helt ute och cyklar.
/proc/config.gz är en gzippad kopia av den .config som användes för att kompilera den kärna som just nu körs. Mao ser den olika ut beroende på vilken kärna du bootat och kör. Men /proc/config.gz finns enbart om detta valts i konfigurationen för aktuell kärna.
Det är ganska smidigt att utgå från /proc/config.gz när man vill laborera med konfigurationen kring kärnan, t ex ändra eller lägga till något.
Ungefär såhär något kan det se ut för mig om jag skall uppgradera till en ny version av kärnan eller bara ändra lite och testa lite, göra en ny kärna osv.
cd /usr/src/linux-<version>
make mrproper # rensa bort onödiga filer
zcat /proc/config.gz > .config #kopiera existerande konfiguration
make menuconfig # använder sig av .config, dvs existerande konfiguration
make
# och eventuellt
make modules_install # moduler behöver alltså inte kopieras manuellt
# kopiera bzImage och System.map till /boot och ev döpa om dom och symlänka samt ändra i lilo.conf och köra lilo -v
Här står förresten lite kort om /proc/config.gz
http://www.linuxinsight.com/proc_config.gz.html
Så ett tips kan vara: om kärna A fungerar och denna startat och det finns en /proc/config.gz utgå då ifrån denna när du kompilerar kärna B
Hur dom laddas, automatiskt eller via någon konfigurationsfil beror på konfiguration av kärnan.
(uname -r kan användas för att ta reda på vilken version av kärnan man kör, har jag för mig(har inte tillgång till linux just nu)
Med kärnan brukar jag avse enbart själva bzImage( som brukar bli till efter make och som sedan kopieras till /boot) och inte modulerna, System.map men det är möjligt att jag är helt ute och cyklar.
/proc/config.gz är en gzippad kopia av den .config som användes för att kompilera den kärna som just nu körs. Mao ser den olika ut beroende på vilken kärna du bootat och kör. Men /proc/config.gz finns enbart om detta valts i konfigurationen för aktuell kärna.
Det är ganska smidigt att utgå från /proc/config.gz när man vill laborera med konfigurationen kring kärnan, t ex ändra eller lägga till något.
Ungefär såhär något kan det se ut för mig om jag skall uppgradera till en ny version av kärnan eller bara ändra lite och testa lite, göra en ny kärna osv.
cd /usr/src/linux-<version>
make mrproper # rensa bort onödiga filer
zcat /proc/config.gz > .config #kopiera existerande konfiguration
make menuconfig # använder sig av .config, dvs existerande konfiguration
make
# och eventuellt
make modules_install # moduler behöver alltså inte kopieras manuellt
# kopiera bzImage och System.map till /boot och ev döpa om dom och symlänka samt ändra i lilo.conf och köra lilo -v
Här står förresten lite kort om /proc/config.gz
http://www.linuxinsight.com/proc_config.gz.html
Så ett tips kan vara: om kärna A fungerar och denna startat och det finns en /proc/config.gz utgå då ifrån denna när du kompilerar kärna B