← Back to team overview

sslug-teknik team mailing list archive

Oprydning efter en lidt rodet kernecompilering

 

Jeg har lige compileret en ny kerne (2.6.10 til min FC2), men det gik ikke 
100% efter planen. Jeg havde regnet med at kunne gøre sådan her (som root):

   make mrproper
   make xconfig
   make
   make install

Og det gik også fint indtil make install klagede over at /lib/modules/2.6.10/ 
ikke eksisterede. Jeg kørte (som root)

   mkdir /lib/modules/2.6.10

Og tjekkede at rettighederne for directoryet var sat ligesom de andre 
i /lib/modules. Så kørte jeg make install igen. Det så ud til at gå godt. 
Inden jeg prøvede at boote rettede jeg i title-linien for den nye kerne i 
grub.conf. Men da jeg prøvede at boote min nye kerne fik jeg disse 
fejlmeddelelser:

   mount: error 19 mounting ext3
   pivotroot: pivot_root(/sysroot,/sysroot/initrd/) failed: 2
   umount /initrd/proc failed: 2
   Kernel panic - not syncing: No init found. 
      Try passing init= option to kernel.

Den sidste linie er delt i 2 af mig, den var én linie da jeg læste den på 
skærmen.

Jeg bootede så i min gamle kerne (2.6.8), og søgte i postarkivet på sslug.dk, 
og fandt en bemærkning om at man nogen gange skulle køre en 

   make modules && make modules_install

for at det virker. Det gjorde jeg så, og prøvede endnu en boot, men fik samme 
fejlmeddelelse. Endnu en gang tilbage til 2.6.8, hvor jeg kørte

   make install

igen. Og så kunne jeg boote min 2.6.10 kerne.  :-)

Og så kommer vi (langt om længe) frem til mine spørgsmål:

Jeg har nu 2 entries i grub.conf for min nye kerne:

title Fedora Core (2.6.10)
        root (hd0,5)
        kernel /vmlinuz-2.6.10 ro root=LABEL=/1 rhgb quiet
        initrd /initrd-2.6.10.img
title Fedora Core (2.6.10 with multiple LUNs)
        root (hd0,5)
        kernel /vmlinuz-2.6.10 ro root=LABEL=/1 rhgb quiet
        initrd /initrd-2.6.10.img

De kan begge boote, så mit umiddelbare gæt er at jeg bare kan slette den ene 
af dem. Er det korrekt?

Der ud over er der kun ét 2.6.10-directory i /lib/modules, så det burde vær 
OK.

I /boot er der disse 2.6.10-filer:

-rw-r--r--  1 root root   51252 Jan 29 17:34 config-2.6.10
-rw-r--r--  1 root root  214565 Jan 30 09:58 initrd-2.6.10.img
lrwxrwxrwx  1 root root      17 Jan 30 09:57 System.map -> System.map-2.6.10
-rw-r--r--  1 root root  618736 Jan 30 09:57 System.map-2.6.10
-rw-r--r--  1 root root  618736 Jan 30 08:37 System.map-2.6.10.old
lrwxrwxrwx  1 root root      14 Jan 30 09:57 vmlinuz -> vmlinuz-2.6.10
-rw-r--r--  1 root root 1581434 Jan 30 09:57 vmlinuz-2.6.10
-rw-r--r--  1 root root 1581434 Jan 30 08:37 vmlinuz-2.6.10.old

Her skal jeg vel bare slette *.old filerne, eller hvad?

Og så et sidste spørgsmål: Er der andre steder jeg skal rydde op? F.eks. køre

   make mrproper

i mit kernelsource directory?

Det sidste er vel altid en god idé efter en kernecompilering, lige meget om 
den går efter planen, ikk'?

-- 

        |\     _,,,---,,_       Greetings, Jens
 ZZZzz /,`.-'`'    -.  ;-;;,_
      |,4-  ) )-,_. ,\ (  `'-'  jens@xxxxxxx
     '---''(_/--'  `-'\_)
----------------------------------------------------
Tell me what you need, and I'll tell you how to get along without it.


Follow ups