Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Installation de grub - Problème lors de l'accès à /boot
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
Garko
n00b
n00b


Joined: 16 Mar 2003
Posts: 57
Location: Lausanne, Suisse

PostPosted: Fri Mar 21, 2003 5:05 pm    Post subject: Installation de grub - Problème lors de l'accès à /boot Reply with quote

Bonjour,

J'installe une machine à partir du liveCd 1.4.rc3 stage 1 et je rencontre un problème lors de l'installation de Grub.
J'ai suivi les opérations indiqué dans la doc en anglais mais lors du premier reboot de la machine Grub m'a renvoyé une erreur de type 2 (Bad file or directory type) j'ai alors redémarrer à nouveau avec la disquette de démarage Grub que j'avais faite selon les instruction de la doc pour refaire l'opération d'écriture sur le MBR (faite une première fois après l'emerge, comme indiqué dans la doc).

Une fois sous le prompt de Grub si je fait "root (hd0,0)" puis que je lence un "setup (hd0)" il me renvoie une erreur identique (à savoir : Bad file or directory type).

J'ai peu constater que (hd0,0)/boot est un répertoire valide mais que le répertoir (hd0,0)/boot/grub ne l'est pas. Se dernier existe bien dans (hd0,0)/boot, on le voie grace lors d'un tab pour compléter le chemin... mais il est traité comme un fichier et non pas un répertoire.

Après avoir refait toutes ces opération plusieurs fois, j'ai tenté de suivre également les différentes instructions d'installation que donne le manuel de Grub ainsi que le Howto d'installation de celui-ci.

Donc à savoir que mes partitions sont faite comme ceci :
ext3 /dev/hda3 /
ext2 /dev/hda1 /boot
ext3 /dev/hdb1 /home

j'ai lancé les commande suivante depuis le prompt Grub (lancé depuis le système chrooter ainsi que la disquette):
root (hd0,0)
setup (hd0)

J'ai également tenté de lancé Gentoo directement depuis la disquette de Grub mais après avoir fait :
root (hd0,0)
kernel (hd0,0)/boot/bzImage root=/dev/hda3
boot

il tente de décompressé Linux et il me dit "invalid compressed format (err=2)"

voila, si quelqu'un aurrai une solution ou une piste, je suis preneur.
_________________
Garko

"Je ne peux plus envoyer d'e-mail, internet est il plein ?"
Back to top
View user's profile Send private message
px
Guru
Guru


Joined: 26 Sep 2002
Posts: 497
Location: Metz, France

PostPosted: Fri Mar 21, 2003 7:55 pm    Post subject: Reply with quote

où se trouve ton fichier bzImage?
C'est quelle version du grub?

2 : Bad file or directory type
This error is returned if a file requested is not a regular file, but something like a symbolic link, directory, or FIFO.

Je pense que le probleme viens que grub ne trouve pas le /boot/bzImage, envoi ton fichier /boot/grub/menu.lst

avant de lancer grub, verifie que les partition sont bien montées, que tout les fichiers sont presents (bzImage dans le /boot par exemple).
_________________
Nous autres, mordus d'informatique, préférons par-dessus tout passer notre temps à bidouiller nos ordinateurs, plutôt que les utiliser pour faire quelque chose de productif. [Dave Barry]
Back to top
View user's profile Send private message
Garko
n00b
n00b


Joined: 16 Mar 2003
Posts: 57
Location: Lausanne, Suisse

PostPosted: Sat Mar 22, 2003 12:09 am    Post subject: Reply with quote

Mes partitions :

Quote:

# cfdisk /dev/hda

Disk Drive: /dev/hda
Size: 8455200768 bytes, 8455 MB
Heads: 255 Sectors per Track: 63 Cylinders: 1027

Name Flags Part Type FS Type [Label] Size (MB)
-------------------------------------------------------------------------------------------
hda1 Boot Primary Linux ext2 98.71
hda2 Primary Linux swap 509.97
hda3 Primary Linux ext3 7838.70


Quote:

# mount
/dev/hda3 on / type ext3 (rw,noatime)
/dev/hdb1 on /home type ext3 (rw)
/dev/hda1 on /boot type ext2 (rw)
tmpfs on /dev/shm type tmpfs (rw)


Ma partition boot :

Quote:

# ls -al /boot/
total 1882
drwxr-xr-x 3 root root 1024 Mar 21 16:56 .
drwxr-xr-x 16 root root 4096 Mar 21 18:45 ..
lrwxrwxrwx 1 root root 1 Mar 20 20:05 boot -> .
-rw-r--r-- 1 root root 954409 Mar 22 00:37 bzImage
drwxr-xr-x 2 root root 1024 Mar 21 17:30 grub


Quote:

# ls -al /boot/grub/
total 205
drwxr-xr-x 2 root root 1024 Mar 21 17:30 .
drwxr-xr-x 3 root root 1024 Mar 21 16:56 ..
-rw-r--r-- 1 root root 7744 Mar 21 08:39 e2fs_stage1_5
-rw-r--r-- 1 root root 7440 Mar 21 08:39 fat_stage1_5
-rw-r--r-- 1 root root 6784 Mar 21 08:39 ffs_stage1_5
-rw-r--r-- 1 root root 224 Mar 21 16:00 grub.conf
-rw-r--r-- 1 root root 8352 Mar 21 08:39 jfs_stage1_5
-rw-r--r-- 1 root root 6976 Mar 21 08:39 minix_stage1_5
-rw-r--r-- 1 root root 9344 Mar 21 08:39 reiserfs_stage1_5
-rw-r--r-- 1 root root 33856 Mar 21 17:30 splash.xpm.gz
-rw-r--r-- 1 root root 512 Mar 21 08:39 stage1
-rw-r--r-- 1 root root 102116 Mar 21 08:39 stage2
-rw-r--r-- 1 root root 6432 Mar 21 08:39 vstafs_stage1_5
-rw-r--r-- 1 root root 9064 Mar 21 08:39 xfs_stage1_5


Ma configuration de Grub :

Quote:

# cat /boot/grub/grub.conf
default 0
timout 5

title=Gentoo Linux
root (hd0,0)
kernel /boot/bzImage root=/dev/hda3


Quote:

# grub --version
grub (GNU GRUB 0.92)


maintenant si je lance grub :

Quote:

# grub

grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83

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 (hd0)"... 16 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/boot/grub/stage2
/boot/grub/grub.conf"... succeeded
Done.

grub> quit


maintenant je reboot ma machine SANS disquette de boot Grub :

Quote:

GRUB loading, please wait...
Error 2



maintenant je reboot ma machine AVEC disquette de boot Grub :

Quote:


grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83

grub> setup (hd0)
checking if "/boot/grub/stag1" exists... no
checking if "/grub/stag1" exists... no

Error 2: Bad file or directory type

grub>


La partition boot est monté, je peut voir depuis grub le contenu (j'utilise la commande root comme je pourrai utilisé nimporte quel autre pour pouvoir utiliser la complétion sur (hd0,0)/ par l'utilisation de la touche TAB) :

Quote:

grub> root (hd0,0)/
Possible files are: boot grub bzImage

grub> root (hd0,0)/grub
Error 1: Filename must be either an absolute pathname or blocklist

grub> root (hd0,0)/grub/
Error 2: Bad file or directory type


"root (hd0,0)/grub " (notez l'espace après /grub) suivi de TAB me montre que la complétion de /grub n'est pas possible tout comme
"root (hd0,0)/grub/" qui montre que /grub n'est pas un directory.
_________________
Garko

"Je ne peux plus envoyer d'e-mail, internet est il plein ?"
Back to top
View user's profile Send private message
px
Guru
Guru


Joined: 26 Sep 2002
Posts: 497
Location: Metz, France

PostPosted: Sat Mar 22, 2003 12:51 pm    Post subject: Reply with quote

a premiere vue cela m'a l'air bon, tout du coté des permissions et partitions, définitions des numero dans le grub...

enfin dans le menu.lst:
root (hd0,0) te place dans la partition de boot
kernel /bzImage serait mieux que kernel /boot/bzImage

si cela ne marche pas essaye de mettre toujours dans le menu.lst:
kernel (hd0,0)/bzImage
_________________
Nous autres, mordus d'informatique, préférons par-dessus tout passer notre temps à bidouiller nos ordinateurs, plutôt que les utiliser pour faire quelque chose de productif. [Dave Barry]
Back to top
View user's profile Send private message
ghoti
Advocate
Advocate


Joined: 30 Dec 2002
Posts: 3634
Location: Belgium

PostPosted: Sun Mar 23, 2003 12:07 am    Post subject: Reply with quote

px wrote:
kernel /bzImage serait mieux que kernel /boot/bzImage
En effet !
A noter que pour essayer de rendre les choses plus intuitives, certaines distribs (SuSE) utilisent une astuce qui permet de rendre valable la syntaxe kernel /boot/bzImage : il suffit de créer dans /boot un lien symbolique "boot" pointant sur le répertoire courant :
Code:
cd /boot
ln -s boot .
de manière à obtenir quelque chose qui ressemble à:
Code:
bigben boot # ls -l

lrwxrwxrwx    1 root     root            1 2003-01-26 03:26 boot -> .
-rw-r--r--    1 root     root      1084908 2003-03-15 23:18 bzImage-2.4.20-gentoo-r1
drwxr-xr-x    2 root     root         4096 2002-12-17 23:47 grub
-rw-r--r--    1 root     root        96530 2003-01-19 00:12 initrd

Le "/boot" dans la config de grub fera alors référence au lien symbolique et non au répertoire "/boot" sur lequel est montée la partition.
Eventuellement, cette méthode peut éviter les prises de tête. Quoi que ... ;)
Back to top
View user's profile Send private message
px
Guru
Guru


Joined: 26 Sep 2002
Posts: 497
Location: Metz, France

PostPosted: Sun Mar 23, 2003 3:52 am    Post subject: Reply with quote

pour un noob je trouve qu'il se demerde pas trop mal ;)

Sinon au pire install un lilo... C'est peut-etre plus ancien, la config un peu lourde, mais ca va vite et le resultat est le meme. Le seul inconveignant, ou inconvaignant (pb de francais a 5h du mat ;) ) c'est qu'apres avoir installé un noyau ou changé le lilo.conf de tapper lilo... Tu peux sinon utiliser le make install du kernel pour qu'il detecte si tu utilise lilo et te proposé de le lancer...

genre:
make dep && make clean bzImage modules modules_install && cp arch i386/boot/bzImage /boot && cp System.map /boot && make install

C'est pas génial comme ligne mais ca a le merite de marcher dans tout les cas... tu peux encore rajouter un uname -r qq part... mais ca doit etre utile pour une appli sur 1000 :D
_________________
Nous autres, mordus d'informatique, préférons par-dessus tout passer notre temps à bidouiller nos ordinateurs, plutôt que les utiliser pour faire quelque chose de productif. [Dave Barry]
Back to top
View user's profile Send private message
ghoti
Advocate
Advocate


Joined: 30 Dec 2002
Posts: 3634
Location: Belgium

PostPosted: Sun Mar 23, 2003 7:51 am    Post subject: Reply with quote

px wrote:
pour un noob je trouve qu'il se demerde pas trop mal ;)
C'est pour moi que tu dis ça ? :D
Disons qu'en 7 ans de pratique, on retient tout de même l'une ou l'autre bricole... ;)
Quote:
Le seul inconveignant, ou inconvaignant (pb de francais a 5h du mat ;) )
"Inconvénient" c'est pas mal non plus ;)
Mais grub a aussi un gros avantage : c'est son mini-shell qui permet d'interrompre le boot pour bricoler tout à loisir.
Perso, lilo, m'en faut plus!
Back to top
View user's profile Send private message
Garko
n00b
n00b


Joined: 16 Mar 2003
Posts: 57
Location: Lausanne, Suisse

PostPosted: Sun Mar 23, 2003 11:36 am    Post subject: Reply with quote

A savoir que la version 1.4rc3 de Gentoo ajoute le liens symbolique ./boot dans le répertoire boot :-)

Mais mon problème viens pas du fait que il n'arrive pas a lire le kernel, mais du fait que il ne peut pas entrer dans le répertoire ./grub pour y lire les fichiers grub.conf, stage1, stage2, ect... Il concidère le fichier ./grub comme un fichier au lieu d'un réperoire.

Je vais tenter de mettre lilo... mais pas certain que ca marche pasque si je lance directement le kernel depuis une disquette de boot grub (ca j'arrive a en faire une :D) il me fait une erreur de type 1 sur la décompression du kernel.

Je n'ai aucune erreur lors de la compilation de celui-ci et j'ai regadé la config sous tout les angles pour vois se qui pourrai ne pas aller. Je continue ma chasse au système qui démarre :p je ne laisserai pas la petite voie dans ma tête qui dit "Gentoo, s'est plus fort que vous" changer négativement le sens de cette phrase ;-)
_________________
Garko

"Je ne peux plus envoyer d'e-mail, internet est il plein ?"
Back to top
View user's profile Send private message
px
Guru
Guru


Joined: 26 Sep 2002
Posts: 497
Location: Metz, France

PostPosted: Sun Mar 23, 2003 2:16 pm    Post subject: Reply with quote

il n'y avait pas que le prob du 5h du mat, il y avait aussi l'alcool... D'ailleur c'est dit j'arrete de picoler, et je vais faire marche mon ldap : )

7 ans... ca me laisse reveur... : )
_________________
Nous autres, mordus d'informatique, préférons par-dessus tout passer notre temps à bidouiller nos ordinateurs, plutôt que les utiliser pour faire quelque chose de productif. [Dave Barry]
Back to top
View user's profile Send private message
Garko
n00b
n00b


Joined: 16 Mar 2003
Posts: 57
Location: Lausanne, Suisse

PostPosted: Sun Mar 23, 2003 3:18 pm    Post subject: Reply with quote

Tu a raison, la fatique et l'accool s'est pas bien... la preuve j'ai enfin réussi a résoudre mon problème et mon système marche a merveille....

et oui... je suis un gros boulet... Mon disque botable (hda) fait 8Gb... et etait configuré en... Normal. Je l'ai passé en LBA... et pouf tout va pour le mieux.

Rhaaa... que s'est con.
_________________
Garko

"Je ne peux plus envoyer d'e-mail, internet est il plein ?"
Back to top
View user's profile Send private message
px
Guru
Guru


Joined: 26 Sep 2002
Posts: 497
Location: Metz, France

PostPosted: Sun Mar 23, 2003 4:11 pm    Post subject: Reply with quote

En tout cas c'est cool si tout marche bien maintenant : )
_________________
Nous autres, mordus d'informatique, préférons par-dessus tout passer notre temps à bidouiller nos ordinateurs, plutôt que les utiliser pour faire quelque chose de productif. [Dave Barry]
Back to top
View user's profile Send private message
DuF
Advocate
Advocate


Joined: 09 Dec 2002
Posts: 2687
Location: Paris

PostPosted: Sun Mar 23, 2003 4:22 pm    Post subject: Reply with quote

Quelqu'un pourrait m'expliquer pourquoi ça foirait en normal et pas en LBA ?
Je ne connais pas trop comment fonctionne tout ça et comme je suis curieux, si qqn peut m'éclairer ;)
Back to top
View user's profile Send private message
ghoti
Advocate
Advocate


Joined: 30 Dec 2002
Posts: 3634
Location: Belgium

PostPosted: Sun Mar 23, 2003 9:04 pm    Post subject: Reply with quote

DuF wrote:
Quelqu'un pourrait m'expliquer pourquoi ça foirait en normal et pas en LBA ?
Une explication risquée : ça vaut ce que ça vaut ;)
Pour atteindre un secteur du disque on fournit au contrôleur le n° du cylindre, de la tête et du secteur.
Le contrôleur ide convertit ça en un index donnant la position du secteur dans la liste des secteurs.
Le mode "normal" ne reconnaît que 504 Mo (1024 cyl x 16 têtes x 63 secteurs x 512 bytes = 528482304).

Les disques actuels contiennent plusieurs milliers de cylindres mais le BIOS n'est capable que d'en traiter 1024.
Par contre, il peut traiter jusqu'à 256 têtes.
Le mode LBA utilise cette astuce pour contourner la limitation du BIOS.
Par ex., un disque de 1 Go (2048 cyls, 16 têtes, 63 secteurs) est présenté comme (1024 cylindres, 32 têtes, 63 secteurs), ce qui revient mathématiquement au même.
Seul l'algorithme de conversion utilisé par le contrôleur est différent pour obtenir le n° séquentiel du secteur.

Si on en revient à Linux, celui-ci n'utilise pas le BIOS et se fie en principe à la géométrie du disque. (voir le cfdisk donné par Garko)
Constatant qu'il a affaire à un disque de 8 Go, il utilise automatiquement le mode LBA.

Lorsque Garko a installé Grub, il était sous Linux. Donc, LBA était actif
Par conséquent, Grub a enregistré l'adresse de la partition boot en notation LBA.

On reboote sur le disque...
Cependant, on est maintenant tributaire du BIOS, donc en mode normal (Linux n'est pas encore lancé).
La partie de grub stockée dans le MBR essaie de trouver le début de la partition et présente l'adresse du premier secteur au contrôleur IDE.
Pas de chance : elle est en notation LBA et le contrôleur l'interprète comme "normale".
Résultat : le secteur renvoyé est n'importe quoi et bien sûr grub ne trouve pas ses "stage".

Par contre, si on active le LBA au niveau du BIOS, tout rentre dans l'ordre ...
Back to top
View user's profile Send private message
Nectroom
n00b
n00b


Joined: 16 Nov 2002
Posts: 59
Location: Belgium

PostPosted: Sun Mar 23, 2003 10:24 pm    Post subject: Reply with quote

Plus clair que ça :D

[img:9f2dcd02c9]http://www.salsapaca.com/dumont/images/chapeau-panama2.gif[/img:9f2dcd02c9]
Back to top
View user's profile Send private message
DuF
Advocate
Advocate


Joined: 09 Dec 2002
Posts: 2687
Location: Paris

PostPosted: Mon Mar 24, 2003 12:24 am    Post subject: Reply with quote

Effectivement chapeau, c'est limpide et précis et je comprends mieux cette histoire de 16 têtes et 32 têtes qui m'a toujours intrigué sans comprendre pourquoi !
Merci ghoti !
Back to top
View user's profile Send private message
px
Guru
Guru


Joined: 26 Sep 2002
Posts: 497
Location: Metz, France

PostPosted: Mon Mar 24, 2003 1:41 am    Post subject: Reply with quote

Chapeau en effet
_________________
Nous autres, mordus d'informatique, préférons par-dessus tout passer notre temps à bidouiller nos ordinateurs, plutôt que les utiliser pour faire quelque chose de productif. [Dave Barry]
Back to top
View user's profile Send private message
sergio
Apprentice
Apprentice


Joined: 11 Jun 2002
Posts: 265
Location: Clermont Ferrand, France

PostPosted: Thu Mar 27, 2003 4:42 pm    Post subject: Reply with quote

ghoti wrote:
On reboote sur le disque...
Cependant, on est maintenant tributaire du BIOS, donc en mode normal (Linux n'est pas encore lancé).
La partie de grub stockée dans le MBR essaie de trouver le début de la partition et présente l'adresse du premier secteur au contrôleur IDE.
Pas de chance : elle est en notation LBA et le contrôleur l'interprète comme "normale".
Résultat : le secteur renvoyé est n'importe quoi et bien sûr grub ne trouve pas ses "stage".

Par contre, si on active le LBA au niveau du BIOS, tout rentre dans l'ordre ...


Pour contrer ce comportement il suffit de placer la partition "/boot" au début du disque concérné (hda1) et le début de la partition racine tout de suite après (numéro du premier cylindre inférieur à 1024). Normalement ça suffit à leurrer grub et lilo (qui a le même problème que grub au demeurant)...

A+
Back to top
View user's profile Send private message
px
Guru
Guru


Joined: 26 Sep 2002
Posts: 497
Location: Metz, France

PostPosted: Thu Mar 27, 2003 6:11 pm    Post subject: Reply with quote

c plus embetant avec fdisk de definir la partition root en 2e partition, Ca demande de savoir exactement quelle taille on veut utiliser, je sais que pour toute mes machines je fais en premier le /boot ensuite le swap et j'aloue le reste pour le root, ca ne fais que d'appuyer 2 fois sur entrée consécutivement. Si le probleme viens juste d'un reglage du bios, vaut mieux regler le bios plutot que de passer par de la bidouille... ;)
_________________
Nous autres, mordus d'informatique, préférons par-dessus tout passer notre temps à bidouiller nos ordinateurs, plutôt que les utiliser pour faire quelque chose de productif. [Dave Barry]
Back to top
View user's profile Send private message
ghoti
Advocate
Advocate


Joined: 30 Dec 2002
Posts: 3634
Location: Belgium

PostPosted: Thu Mar 27, 2003 8:27 pm    Post subject: Reply with quote

sergio wrote:
Pour contrer ce comportement il suffit de placer la partition "/boot" au début du disque concérné (hda1) et le début de la partition racine tout de suite après (numéro du premier cylindre inférieur à 1024). Normalement ça suffit à leurrer grub et lilo (qui a le même problème que grub au demeurant)...
Je ne suis pas persuadé que cela changerait quelque chose.
D'ailleurs, la partition /boot de Garko se trouve bel et bien en hda1. Si ta proposition était exacte, les stages auraient été trouvés et le noyau aurait au moins du se charger.
Ce n'est pas le cas ...
Au demeurant, la partition racine et le swap ne sont sollicités qu'après le chargement du noyau.
A ce moment, Linux ne dépend plus du BIOS. Par conséquent, leur emplacement importe peu (du moins au niveau de la "reconnaissance")
Il est exact que les anciennes versions de lilo avaient un problème au-delà du cylindre 1024 mais ce n'est plus le cas.
Quant à grub, à ma connaissance, il n'a jamais souffert de cette limitation.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum