problem s Grubem a /boot partition

Pavel Pivonka pavel.pivonka na centrum.cz
Neděle Listopad 5 02:58:20 CET 2006


Ahoj,
mam takovej problem.
 Mam tu DELLovej server s PERC raidem a SAS HDD. Po te co jsem stahnul
upravene Debianní instalacni CD, ktere ten raid poznalo jsem
nainstaloval OS. Problem je, když zkompiluju kernel a vse nutne dam jako
build-in, tak nenabootoji, protože mi grub řekne, že nemuže najít
soubor, který má v ceste jako kernel. A nejhorší je, že bootuje kernel,
který na hdd není.

viz dále:
v menu.lst je toto
title           Debian GNU/Linux, kernel 2.6.18
root            (hd0,0)
kernel          /boot/bzImage-2.6.18 root=/dev/sda2 ro
#initrd         /initrd.img-2.6.19-rc3-1-486
savedefault


title           Debian GNU/Linux, kernel 2.6.19-rc3-1-486
root            (hd0,0)
#kernel         /vmlinuz-2.6.19-rc3-1-486 root=/dev/sda2 ro
kernel          /boot/vmlinuz-2.6.19-rc3-1-486 root=/dev/sda2 ro
#initrd         /initrd.img-2.6.19-rc3-1-486
initrd          /boot/initrd.img-2.6.19-rc3-1-486
savedefault

title           Debian GNU/Linux, kernel 2.6.19-rc3-1-486 (single-user mode)
root            (hd0,0)
kernel          /vmlinuz-2.6.19-rc3-1-486 root=/dev/sda2 ro single
initrd          /initrd.img-2.6.19-rc3-1-486
savedefault


První sekce je muj novej kernel a druhá instalační, kterej funguje.

Soubory na které se odkazuje instalační kernel ale na hdd neexistují a
když upravím cestu tak aby ukazovaly na symlinky co existují nebo do
/boot na ty soubory tak to píše, že je to nemůže najít

koukni na tohle ls

 ls -la /boot
total 9824
drwxr-xr-x   4 root root    4096 2006-11-04 17:46 .
drwxr-xr-x  21 root root    4096 2006-11-04 23:55 ..
-rw-r--r--   1 root root 1720511 2006-11-04 22:02 bzImage-2.6.18
-rw-r--r--   1 root root   76237 2006-10-30 14:44 config-2.6.19-rc3-1-486
drwxr-xr-x   2 root root    4096 2006-11-04 23:54 grub
-rw-r--r--   1 root root 5171455 2006-11-04 12:13
initrd.img-2.6.19-rc3-1-486
drwx------   2 root root   16384 2006-11-04 12:08 lost+found
lrwxrwxrwx   1 root root      17 2006-11-04 17:20 System.map ->
System.map-2.6.18
-rw-r--r--   1 root root  888256 2006-11-04 22:03 System.map-2.6.18
-rw-r--r--   1 root root  823905 2006-10-30 15:23
System.map-2.6.19-rc3-1-486
-rw-r--r--   1 root root 1304638 2006-10-30 15:23 vmlinuz-2.6.19-rc3-1-486


 ls -la /   
total 80
drwxr-xr-x  21 root root   4096 2006-11-04 23:55 .
drwxr-xr-x  21 root root   4096 2006-11-04 23:55 ..
drwxr-xr-x   2 root root   4096 2006-11-04 13:29 bin
drwxr-xr-x   4 root root   4096 2006-11-04 17:46 boot
lrwxrwxrwx   1 root root     11 2006-11-04 12:10 cdrom -> media/cdrom
drwxr-xr-x  12 root root   4000 2006-11-04 23:07 dev
drwxr-xr-x  54 root root   4096 2006-11-04 23:07 etc
drwxrwsr-x   3 root staff    15 2006-11-04 12:35 home
drwxr-xr-x   2 root root   4096 2006-11-04 12:11 initrd
lrwxrwxrwx   1 root root     32 2006-11-04 12:13 initrd.img ->
boot/initrd.img-2.6.19-rc3-1-486
drwxr-xr-x  11 root root   4096 2006-11-04 13:29 lib
drwx------   2 root root  16384 2006-11-04 12:09 lost+found
drwxr-xr-x   3 root root   4096 2006-11-04 12:10 media
drwxr-xr-x   2 root root   4096 2004-12-15 23:55 mnt
drwxr-xr-x   2 root root   4096 2006-11-04 12:11 opt
dr-xr-xr-x  59 root root      0 2006-11-05 00:06 proc
drwxr-xr-x   4 root root   4096 2006-11-04 23:54 root
drwxr-xr-x   2 root root   4096 2006-11-04 13:29 sbin
drwxr-xr-x   2 root root   4096 2006-11-04 12:11 srv
drwxr-xr-x  11 root root      0 2006-11-05 00:06 sys
drwxrwxrwt   2 root root   4096 2006-11-04 23:07 tmp
drwxr-xr-x  11 root root   4096 2006-11-04 12:11 usr
drwxr-xr-x  13 root root   4096 2006-11-04 12:11 var
lrwxrwxrwx   1 root root     29 2006-11-04 12:13 vmlinuz ->
boot/vmlinuz-2.6.19-rc3-1-486



Kdyz tam ten kernel do / tak to funguje. Napadlo me, že je nejaka divna
/boot partition, ale kdyby nefungovala, tak neuvidi, že jsem mu v ní
dělal změny (např konfigurace Grubu)

Jeste prikladam toto a doufam, že Tě něco napadne. Jsem sice v situaci,
kdy to funguje, ale nejak divně.

 cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/sda2       /               ext3    defaults,errors=remount-ro 0       1
/dev/sda1       /boot           ext3    defaults        0       2
/dev/sda6       /home           xfs     defaults        0       2
/dev/sda5       /var/log        ext3    defaults        0       2
/dev/sda3       none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
asp:~#
asp:~#
asp:~# fdisk -l /dev/sda

Disk /dev/sda: 292.3 GB, 292326211584 bytes
255 heads, 63 sectors/track, 35539 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         122      979933+  83  Linux
/dev/sda2             123        6201    48829567+  83  Linux
/dev/sda3           34567       35539     7815622+  82  Linux swap / Solaris
/dev/sda4            6202       34566   227841862+   5  Extended
/dev/sda5           33959       34566     4883760   83  Linux
/dev/sda6            6202       33957   222950007   83  Linux

Partition table entries are not in disk order
asp:~#
asp:~#
asp:~#
asp:~# cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/sda2       /               ext3    defaults,errors=remount-ro 0       1
/dev/sda1       /boot           ext3    defaults        0       2
/dev/sda6       /home           xfs     defaults        0       2
/dev/sda5       /var/log        ext3    defaults        0       2
/dev/sda3       none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
asp:~#
asp:~#


Když to shrnu, nejsou mi jasné tři věci
1) Proč ten kernel z instalace bootuje, když ten soubor na který se odkazuje neexistuje
2)  Proč ten kernel z instalace nebootuje, když mu dám cestu do /boot na místo neexistujiciho symlinku
3) Proč muj kernel bootuje, pokud je v /, ale pokud je v /boot, tak ho to nenajde. Kdyby /boot byla poškozena,
 tak to nebude zaznamenávat např změny v Grubu, který tam má také svůj konfigurák

Díky za radu

Pavel



Další informace o konferenci Linux