# [boot] lilo/RAID/Sata : kernel panic [resolu]

## deja_pris

Bonjour à tous.

Apres avoir terminé les 11 premières étapes du handbook pour installer un système gentoo sur mon laptop (toshiba satellite A100-788, centrino duo T2250, 2go ddr2, HD sata 100go, ati radeon X1400...), j'ai redémarré pour tester mon install d'une part et finaliser cette install d'autre part (en faire une station de travail digne de ce nom quoi...).

Je me heurte malheuresement à un problème au boot : j'ai le message d'erreur "error loading operating system" qui s'affiche.

Je précise que j'ai un systeme W$XP d'installé, j'en ai besoin pour faire fonctionner mon imprimante multifonctions lexmark.

Pour les infos voici en vrac :

- mon plan de partitionnement

```
Disk /dev/sda: 100.0 GB, 100030242816 bytes

255 heads, 63 sectors/track, 12161 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1               1        1913    15366141    7  HPFS/NTFS

/dev/sda2   *        1914        1918       40162+  83  Linux

/dev/sda3            1919       12070    81545940    5  Extended

/dev/sda4           12071       12161      730957+  82  Linux swap / Solaris

/dev/sda5            1919        4351    19543041   83  Linux

/dev/sda6            4352       12070    62002836   83  Linux
```

Partition sda1 primaire avec w$ dessus, boot sur sda2, systeme sur sda5, donnees sur sda6, swap sur sda4.

- mon fstab

```
# <fs>                  <mountpoint>    <type>          <opts>          <dump/$

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.

/dev/sda2               /boot           ext2            noauto,noatime  1 2

/dev/sda5               /               ext3            noatime         0 1

/dev/sda6               /mnt/data       ext3            defaults,user   0 1

/dev/sda4               none            swap            sw              0 0

/dev/cdroms/cdrom0      /mnt/cdrom      auto            noauto,user     0 0

#/dev/fd0               /mnt/floppy     auto            noauto          0 0

# NOTE: The next line is critical for boot!

none                    /proc           proc            defaults        0 0

none                    /dev/shm        tmpfs           nodev,nosuid,noexec   $

# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for

```

- mon grub.conf

```
default 0

timeout 10

#splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux

root (sd0,1)

kernel /boot/kernel-genkernel-x86-2.6.18-gentoo-r6 root=/dev/ram0 init=/linuxr$initrd /boot/initramfs-genkernel-x86-2.6.18-gentoo-r6

# Uniquement pour démarrer un autre système.

#title=Windows XP

#rootnoverify (hd0,0)

#makeactive

#chainloader +1
```

J'ai essayé de mettre un bootflag sur ma partition windows et d'activer les bouts de code correspondants dans grub.conf en sortant les #, rien n'y fait.

J'ai également testé quelques trucs trouvés sur google, ca n'a pas résolu mon problème.

Si quelqu'un a une idée je suis preneur.

Merci !!

----------

## Ezka

Si j'ai bien compris Grub ne se lance c'est ça ? 

Il y a certainement une erreur avec ton Grub, lorsque ton BIOS passe la main à Grub il n'a pas l'air de le trouver ; bilan : error loading operating system

Depuis un liveCD essaye de réinstaller grub :

```
grub-install /dev/sda2
```

----------

## deja_pris

Ca n'a pas très bien marché...

Apres avoir monté sda 2 et 5, proc et tout le tralala comme décrit dans le handbook, j'ai chrooté, suis entré dans le nouvel environnement, et enfin ai lancé ta commande.

Voila le résultat :

```
# grub-install /dev/sda2

Probing devices to guess BIOS drives. This may take a long time.

df: Warning: cannot read table of mounted file systems

df: Warning: cannot read table of mounted file systems

Could not find device for /boot: Not found or not a block device.
```

Depuis plus qu'un fichier nommé device.map dans sda2, plus de grub.conf...

Dans device.map (je ne sais pas ce que c'est, j'ai ca :

```
(fd0)   /dev/fd0

(hd0)   /dev/sda
```

Ca ne m'avance pas trop...

J'ai peut etre loosé en chrootant avant de lancer la commande...

----------

## Martin.

Essaie de relancer grub-install après avoir fait :

cp /proc/mounts /etc/mtab

----------

## deja_pris

```
 # grub-install /dev/sda2

    GNU GRUB  version 0.97  (-1214174124K lower / -1214174124K upper memory)

 [ Minimal BASH-like line editing is supported.  For the first word, TAB

   lists possible command completions.  Anywhere else TAB lists the possible

   completions of a device/filename. ]

grub> root (hd0,4)

 Filesystem type is ext2fs, partition type 0x1

grub> setup  --stage2=/boot/grub/stage2 --prefix=/boot/grub (hd0,1)

 Checking if "/boot/grub/stage1" exists... yes

 Checking if "/boot/grub/stage2" exists... yes

 Checking if "/boot/grub/e2fs_stage1_5" exists... yes

 Running "embed /boot/grub/e2fs_stage1_5 (hd-1213841988,-1213842512)"... failed (this is not fatal)

 Running "embed /boot/grub/e2fs_stage1_5 (hd-1213841988,-1213842512)"... failed (this is not fatal)

 Running "install --stage2=/boot/grub/stage2 /boot/grub/stage1 (hd-1213841988,-1213842464) /boot/grub/stage2 p /boot/grub/menu.lst "... failed

Error 0: Error while parsing number

grub> quit

```

Voilà ce que ca me dit...

J'ai fait mon install avec un stage 3, peut etre est-ce une information d'importance...

Je vais retenter d'installer grub comme indiqué dans le saint handbook.

Merci de votre aide.

----------

## deja_pris

Bon, apparament grub ne kiffe pas vraiment que je désigne mes partitions par sdx...

J'ai tenté l'installation automatique de grub, meme message d'erreur que précédemment.

Ensuite j'ai tenté l'installation manuelle, voila le résultat :

```
grub>

      root (sd0,1)

Error 1: Error while parsing number

grub>

grub> root (sd0,1)

      root (hd0,1)

 Filesystem type is ext2fs, partition type 0x1

grub>

      setup (hd0)

 Checking if "/boot/grub/stage1" exists... yes

 Checking if "/boot/grub/stage2" exists... yes

 Checking if "/boot/grub/e2fs_stage1_5" exists... yes

 Running "embed /boot/grub/e2fs_stage1_5 (hd-1213825604)"... failed (this

is not fatal)

 Running "embed /boot/grub/e2fs_stage1_5 (hd-1213825604,-1213826128)"... f

ailed (this is not fatal)

 Running "install /boot/grub/stage1 (hd-1213825604) /boot/grub/stage2 p /b

oot/grub/menu.lst "... failed

Error 1: Error while parsing number

grub>

grub> setup (hd0)

      setup (sd0)

Error 1: Error while parsing number

grub>

```

(j'ai quelques petits problèmes d'affichage dans mon terminal...)

----------

## nost4r

Elle est montée ta partition /boot?

----------

## Martin.

 *deja_pris wrote:*   

> Apres avoir monté sda 2 et 5, proc et tout le tralala

 

----------

## deja_pris

Oui, ma partition est montée.

J'ai essaye de voir ce que je trouvais du cote du Sata, mais rien de plus.

----------

## man in the hill

SAlut,

Colle la sortie de :

```
fdisk -l
```

@ +

----------

## deja_pris

```
ubuntu@ubuntu:~$ fdisk -l

ubuntu@ubuntu:~$ sudo fdisk -l

Disk /dev/sda: 100.0 GB, 100030242816 bytes

255 heads, 63 sectors/track, 12161 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1        1913    15366141    7  HPFS/NTFS

/dev/sda2            1914        1918       40162+  83  Linux

/dev/sda3            1919       12070    81545940    5  Extended

/dev/sda4           12071       12161      730957+  82  Linux swap / Solaris

/dev/sda5            1919        4351    19543041   83  Linux

/dev/sda6            4352       12070    62002836   83  Linux

```

Voilà, en espérant que ca peut t'aider.

----------

## truz

Je crois que Grub ne distingue pas les IDE/SATA/SCSI, donc déjà ne pas mettre

```
root (sd0,1)
```

dans ton grub.conf mais

```
root (hd0,1)
```

 l'indication de ta racine système sera passée en option au kernel avec 

```
kernel /boot/<ton kernel> <tes options> root=/dev/sda5
```

Dans le pseudo-shell grub, que donne cette commande ?

```
grub> find /boot/grub/stage1
```

edit: poste aussi ton device.map

----------

## man in the hill

 *deja_pris wrote:*   

> Voila le résultat :
> 
> ```
> # grub-install /dev/sda2
> 
> ...

 

Vérifie que toutes tes partitions son nikel (les partoches ne doivent pas être montées) ...

```
fsck -a device
```

----------

## truz

Moi ce qui m'inquiète ce sont ces nombres négatifs en lieu et place de (hd0,1)

 *deja_pris wrote:*   

> 
> 
> ```
>  Running "embed /boot/grub/e2fs_stage1_5 (hd-1213841988,-1213842512)"... failed (this is not fatal)
> 
> ...

 

----------

## deja_pris

@ Man in the Hill :

```
root@ubuntu:~# fsck -a /dev/sda2

fsck 1.38 (30-Jun-2005)

/dev/sda2: clean, 41/10040 files, 5900/40160 blocks

root@ubuntu:~# fsck -a /dev/sda5

fsck 1.38 (30-Jun-2005)

/dev/sda5: clean, 227958/2443200 files, 522068/4885760 blocks

root@ubuntu:~# fsck -a /dev/sda6

fsck 1.38 (30-Jun-2005)

/dev/sda6: clean, 11/7750848 files, 276034/15500709 blocks
```

@ truz :

pseudo shell grub :

```
grub> find /boot/grub/stage1

 (hd0,1)

 (hd0,4)
```

device.map : dans un des posts précédents :

```
(fd0)   /dev/fd0

(hd0)   /dev/sda

```

edit : @truz : j'avais deja essayé la manip de mettre root (hd0,1), sans résultat

----------

## truz

Ton problème ressemble à ce bug #18657 pour l'instant sans réponse. Peux-tu essayer de ré-émerger grub, voire si ça résout rien d'installer grub-static.

edit: le problème c'est que le stage 1 de Grub n'est même pas installé dans le MBR, sinon tu aurais un autre message que "error loading operating system" qui lui vient du BIOS. Le fichier de conf /boot/grub/grub.conf n'est donc même pas lu car ça survient après le stage 2, il ne sert à rien pour l'instant de le modifier, mon message pour dire de mettre "hd0" au lieu de "sd0" te sera utile, mais plus tard...  :Wink: 

edit2: si grub-static n'y change rien, tu peux tenter LILO...

----------

## _Seth_

Je plussoie truz : les loader linux marchent très bien dans la plupart des cas... mais quand ça plante, mieux vaut tester autre chose. A priori, tu as bien suivi la doc d'install, fait tout ce qu'il fallait, donc si grub ne fonctionne pas, alors qu'il est configuré correctement :  tente avec lilo  :Wink: 

Au cas où, j'ai eu un pb similaire en installant un cluster y'a pas longtemps (c'était des senyo 800M) : sur 10 machines, il y en a une pour laquelle ni grub grub ni lilo ne fonctionnait. Le loader s'installait correctement mais au boot, le bios ne trouvait pas d'OS. A priori, c'est un problème sur le contrôleur SATA. Shit happens.

----------

## deja_pris

UP !  :Smile: 

Bon, grub static n'a rien résolu à mon problème, j'ai donc entrepris d'installer LILO.

J'ai suivi le manuel, jusqu'à la dernière étape où je dois faire 

/sbin/lilo

Voila le message d'erreur qui en ressort :

```
 /sbin/lilo

Warning: LBA32 addressing assumed

Warning: '/proc/partitions' does not match '/dev' directory structure.

    Name change: '/dev/dm-0' -> '/dev/evms/sda1'

Warning: Name change: '/dev/dm-1' -> '/dev/evms/sda2'

Warning: Name change: '/dev/dm-2' -> '/dev/evms/sda4'

Warning: Name change: '/dev/dm-3' -> '/dev/evms/sda5'

Warning: Name change: '/dev/dm-4' -> '/dev/evms/sda6'

Added gentoo *

6 warnings were issued.
```

Je vois pas trop ce qui se passe, je vais essayer de booter histoire de voir si j'ai toujours la même chose. Avec un peu de chance, le message d'erreur au boot sera différent   :Twisted Evil: 

Pour info, dans /proc/partitions j'ai ca :

```
major minor  #blocks  name

   8     0   97685784 sda

   8     1   15366141 sda1

   8     2      40162 sda2

   8     3          1 sda3

   8     4     730957 sda4

   8     5   19543041 sda5

   8     6   62002836 sda6

   7     0     637480 loop0

 252     0   15366141 dm-0

 252     1      40162 dm-1

 252     2     730957 dm-2

 252     3   19543041 dm-3

 252     4   62002836 dm-4

```

A+

Edit : message d'erreur différent au boot  :Smile: 

lilo se charge bien, le boot démarre correctement, puis au bout d'un moment j'ai ca :

```
VFS : Cannot open root device "100" or unknown block (1,0)

Please append a correct "root=" boot option

Kernel panic not syncing:VFS:unable to mount root fs on unknown block (1,0)
```

Mon lilo.conf :

```
boot=/dev/hda        # Installe LILO dans le MBR.

prompt               # Permet à l'utilisateur de sélectionner une autre entr�$

timeout=50           # Délai de 5 secondes avant de démarrer l'entrée par d�$

default=gentoo       # Définit l'entrée par défaut.

# Sans genkernel

#image=/boot/kernel-2.6.12-gentoo-r10

#  label=gentoo       # Nom que nous avons attribué à cette entrée

#  read-only          # Démarre avec root en lecture seulement. Ne pas modifie$

#  root=/dev/hda3     # Endroit où se trouve le système de fichier root

# Avec genkernel

image=/boot/kernel-genkernel-x86-2.6.18-gentoo-r6

  label=gentoo

  read-only

  root=/dev/ram0

  append="init=/linuxrc ramdisk=8192 real_root=/dev/sda5 udev"

  initrd=/boot/initramfs-genkernel-x86-2.6.18-gentoo-r6

```

La j'ai pas trop le temps de me mettre dessus, mais y'aura un up ce soir.

Merci de votre aide en tout cas.

----------

## _Seth_

Apparement c'est les /dev/dm-* qui foutent le bordel et qui troublent lilo. Les /dev/dm-* sont des devices raid, donc sans doute tu peux essayer de desactiver le raid dans ton bios ou dans ton noyau (à moins que tu en ais besoin).

----------

## deja_pris

Bin je sais pas trop ce que c'est les devices RAID (bin ouais, ma spécialité à moi c'est l'agriculture, ne l'oublions pas...), alors je suis allé voir ce que c'etait,et visiblement c'est un truc pour faire marcher plusieurs disques durs (physiques) en parallèle, chose dont je ne me sers pas a priori.

Je vais donc tester ca.

edit : ah bin tiens, le multi-device support (RAID & LVM) n'est pas activé dans mon noyau :/. Je vais voir dans mon bios...

----------

## deja_pris

Rien dans mon bios concernant le RAID. Je vais tenter de le mettre a jour histoire de voir si ca fait avancer le schmilblick... Sauf si c'est une mauvaise idee, auquel cas merci de me prevenir  :Smile: .

Sinon j'ai essaye de voir si je pouvais modifier /proc/partitions (ca doit etre mal mais bon qui ne tente rien...), pas moyen.

Et puis pour troller un ptit coup : lilo c'est moche.

----------

## julroy67

Pour Grub j'avais le même problème à peu de choses près, tu aurais pas mis 'custom-cflags' dans ton USE, car chez moi, c'est ce qui faisait merdouiller Grub, mes cflags sont trop aggressifs pour lui.

----------

## ghoti

Bon, et si on reprenait le problème depuis le début ?

En effet, jusqu'ici, il y a a eu à mon avis pas mal de confusions et d'incompréhensions qui ont donné lieu à des conseils peut-être pas toujours judicieux.

Et puis, on ne sait vraiment plus où on en est ...  :Sad: 

Ce que je retiens jusqu'ici :

- comme on l'a signalé plus haut, le message initial "error loading operating system" n'a rien à voir avec grub : c'est un message du BIOS qui signale qu'il ne trouve pas de disque bootable, c'est-à-dire que le MBR (master boot record) du disque maïtre ne contient pas de code d'amorce. On n'a donc même pas encore parlé de grub ni, à fortiori, de linux.

Les choses s'arrêtent donc là.

- il a été question d'installer grub dans /dev/sda2. Si c'est bien le but, il faut alors un autre bootloader dans le MBR qui fasse le "chainload" vers /dev/sda2. C'est imaginable si on veut, par exemple, utiliser le bootloader de xp pour gérer l'ensemble du système.

Mais dans le cas normal, on souhaite que ce soit grub qui assume cette tâche. Il faut donc l'installer dans /dev/sda (et pas /dev/sda2 !)

- Il me semble qu'il y a une certaine confusion générale entre ce qui se trouve dans le répertoire /boot (notamment /boot/grub ...), l'installation de grub sur un secteur de boot et la procédure de boot proprement dite.

- GRUB n'a à priori rien à voir avec linux - du moins, il n'est pas spécifiquement développé pour Linux : au contraire de lilo, sa vocation est d'être universel (GRand Unified Bootloader, comparé à LInux LOader).

Grub est bien plus puissant et souple que lilo et peut assumer des situations auxquelles lilo est incapable de faire face, notamment dans la reconnaissance et la gestion des disques.

Il n'est pas raisonnable en 2007 de conseiller lilo plutôt que grub ! (du moins, c'est l'avis que je tire d'une longue expérience des 2 softs  :Wink:  )...

- Pour preuve de cette indépendance grub-linux, la syntaxe de désignation des périphériques est totalement différente (et je suis d'accord que c'est la principale source de confusion pour le débutant !)

- Apparemment, la compil du noyau a été faite avec genkernel.

Mauvais genkernel

Laisser tomber genkernel

Faire son noyau à la mimine si on veut y comprendre un petit quelque-chose (détection de périphériques RAID par exemple ...)

Bon, alors, premières choses à faire :

- Vérifier si la config du kernel ne contient pas de choses inutiles (support du RAID ...  :Wink:  )

Vérifier aussi que les options indispensables au démarrage sont compilées en dur : support du chipset de la CM, du contrôleur du disque de démarrage et du fs de la partition racine de linux. Dans un premier temps, laisser tomber toutes les fioritures du genre splash, framebuffer et initramfs : linux n'en n'a pas besoin !

- Installer Grub correctement (ne pas utiliser grub-install, c'est pour les tap..tes !) :

 *Quote:*   

> $ grub
> 
> # On se place sur la partition contenant les fichiers de grub.
> 
> # "root" n'a à priori rien à voir avec un homonyme linux, bien que, en effet, il puisse s'agir  (par hasard) de la partition racine "/" de linux !!! (==> source de confusion)
> ...

 

Voilà : si on pouvait déjà se mettre d'accord sur ces points-là, on aurait déjà pas mal avancé !  :Wink: 

----------

## deja_pris

Merci beaucoup pour ce post, qui en plus de m'apprendre beaucoup me permettra (je l'espere) de finaliser mon install.

Cependant je pars en voyage d'études en Pologne dans exactement 48 minutes, sans PC (aaaaaaargl   :Crying or Very sad:  ) il me va donc etre difficile de donner des suites rapidement...

Plus de nouvelles dans une quinzaine de jours.

Merci beaucoup et à plus tard.

----------

## truz

Faut dire à la décharge de tout le monde que c'est pas évident le système de boot d'un pc: que le gestionnaire de boot peut être installé dans la MBR et aussi dans le Boot Sector des partitions primaires, et que ça n'a rien à voir avec la partition/répertoire /boot, et qu'on peut mettre des loaders en cascade (le mystérieux chainloader pour booter windows)  :Confused:   ! A ce sujet je conseille la doc Booting with Grub qui explique plein de ces petites choses.

Si j'ai proposé (en désespoir de cause) LILO, c'est qu'il me semblait que Grub ne voulait pas du tout s'installer sur sa machine (testé sur sda2, mais je vois pas pourquoi ça marcherait mieux sur la MBR). Peut-être des cflags trop aggressifs comme le suggère julroy67 ?

Pour tout le reste je suis entièrement d'accord avec ghoti  :Smile: 

Bon voyage deja_pris  :Very Happy: 

----------

## deja_pris

Deterrement d'un vieux topic, histoire de mettre resolu, j'ai tout recommencé en suivant bien comme il faut le manuel et en installant grub dans /dev/sda, ca marche au poil. 

Merci à tous ceux qui ont pris la peine de me répondre.

----------

