# [grub] pb pour utiliser les labels root=LABEL=

## gaga

Bonjour,

Je suis en mode "pétage de pile" car ça fait 3 semaines que les UUID / LABEL me gonflent.

Actuellement j'ai un serveur avec 8 disques durs sous Archlinux, et évidemment à chaque démarrage la partition root n'est plus la même.

Je précise que j'ai voulu faire de même sur Gentoo, les symptômes sont identiques.

cfdisk /dev/sda

 *Quote:*   

> 
> 
> sda1    --------      Amorce  --------    Primaire   --------  Linux ext3 --------  [/boot] --------  106,93
> 
> sda2    --------        (null)    --------    Primaire   --------  Linux ext3 --------  [/]       --------  41940,71
> ...

 

les uuid...

 *Quote:*   

> # ls -l /dev/disk/by-uuid/
> 
> lrwxrwxrwx 1 root root 10 aoû  6 08:12 509fc370-4c08-4776-bddf-d2c81d0baee2 -> ../../sda2
> 
> lrwxrwxrwx 1 root root 10 aoû  6 08:12 5b203cab-529a-4147-bfbd-df35e5eb2325 -> ../../sda4
> ...

 

Ce que j'ai tenté de faire :

AVEC LES LABELS :

 *Quote:*   

> tune2fs -L / /dev/sdXY

 

/etc/fstab

 *Quote:*   

> LABEL=/         /        ext3    defaults        1 1

 

/boot/grub/menu.lst

 *Quote:*   

> 
> 
> title Gentoo
> 
>         root (hd0,0)
> ...

 

AVEC LES UUID :

J'ai regardé dans /dev/disk/by-uuid/ et j'ai récupéré le uuid correspondant à la partition /

/etc/fstab

 *Quote:*   

> UUID=509fc370-4c08-4776-bddf-d2c81d0baee2 /                       ext3    defaults        1 1
> 
> 

 

/boot/grub/menu.lst

 *Quote:*   

> 
> 
> title Gentoo
> 
>         root (hd0,0)
> ...

 

J'ai donc voulu mettre en place des 

- LABEL => il trouve pas ma partion root + kernel panic

- des UUID => mm chose

pourtant, une fois le système lancé, je peux monter les partitions avec les LABEL "ex : mount -L /boot /boot" ou les UUID : aucun souci.

Pourquoi diable, le root=LABEL=/ ou root=UUID=XXX-YYY-....    ne fonctionne pas au boot !!   :Twisted Evil:   :Twisted Evil:   :Twisted Evil: 

D'après moi, c'est clairement au niveau du noyau qu'il y a un souci, mais je vois pas ce que j'ai raté.

Faut-il quelque chose de spéciale ? un initrd peut-être ? une option inconnue dans le noyau ?

Je précise que j'ai essayé de mettre en place ce système sous Gentoo avec un seul disque, mais également sous Archlinux (avec le noyau par défaut), sans succès.

Autre souci gonflant : d'après les howto rencontrés, je vois régulièrement la possibilité d'utiliser la touche <tab> pour lister les partitions, et donc faciliter le reste du processus. Chez moi, si je fait <tab>, il me fait une VRAI tabulation....   çi koi çi bourdel ?  encore un truc qui m'échappe.

Encore un détail pénible à la longue: la commande "find" ne donne rien (pas très pratique quand on a 8 disques)

 *Quote:*   

> grub> find /boot/grub/stage1
> 
> find /boot/grub/stage1
> 
> Error 15: File not found

 

C'est effectivement plein de "petits" détails, mais alors qu'est ce que c'est rageant quand on passe des heures sur des c****** de ce genre.

Merci d'avance pour votre aideLast edited by gaga on Thu Aug 06, 2009 8:22 am; edited 1 time in total

----------

## ppg

Honnetement je ne sais pas, mais la solution m'intéresse j'ai jamais réussi à booter sur un label avec grub.

----------

## gaga

Ahhh  je ne suis pas le seul, je me sens déjà mieux   :Very Happy: 

----------

## netfab

D'après ce topic :

 *Quote:*   

> 
> 
> You have to have an initramfs (initrd) image, that was built by genkernel, loaded in order to get this support. The kernel itself does not, (and won't according to the kernel devs), support this syntax.
> 
> 

 

Jamais testé.

----------

## ppg

Hum mais c'est bizzard parce qu'avec archlinux gaga devrait avoir un initramfs ; et donc pouvoir booter sur son label /. Je me trompe ?

----------

## gaga

 *Quote:*   

> You have to have an initramfs (initrd) image, that was built by genkernel, loaded in order to get this support. The kernel itself does not, (and won't according to the kernel devs), support this syntax. 

 

hum, je n'avais pas vu ce topic. Je vais testé ça dès ce soir.  

Merci

 *Quote:*   

> Hum mais c'est bizzard parce qu'avec archlinux gaga devrait avoir un initramfs ; et donc pouvoir booter sur son label /. Je me trompe ?
> 
> 

 

oui sous Archlinux j'ai un sorte de initramfs.... c'est soit disant le initramfs du futur, appelé mkinitcpio

mais j'ai réussi à booter uniquement avec un root=/dev/sdXY, jamais avec un Uuid ou Label

----------

## gaga

Je viens juste de voir ceci : 

http://wiki.archlinux.org/index.php/Persistent_block_device_naming

dernière ligne, il dit

 *Quote:*   

> One users experience (10MAR07): root=LABEL=root did not work for me (ARCH 2.6.20.2-1 kernel), /dev/disk/by-label/root worked just fine.

 

je vous tiens au courant

----------

## xaviermiller

C'est quand même chouette de voir les gens revenir de Arch vers Gentoo  :Wink: 

De mon côté, j'ai pu jouer avec LABEL grâce à l'initramfs de genkernel.

----------

## RaX

Oui moi aussi via "genkernel --disklabel ..." ça marche bien.

dans mon grub par contre je fait un root=/dev/ram0 real_root=UUID=xxxxxx

Bonne journée.

----------

## GentooUser@Clubic

En effet si tu utilises un initrd genkernel faut remplacer root par real_root mais root=/dev/ram0 n'est pas (plus ?) nécessaire. Chez moi :

```
# (0) Gentoo Linux

menuentry "Gentoo Linux" {

set root=(localvg-boot)

linux /kernel doscsi domdadm dolvm real_root=/dev/mapper/localvg-root real_resume=/dev/mapper/localvg-swap video=uvesafb:1600x1200-32@75,mtrr:3,ywrap splash=verbose,theme:natural_gentoo console=tty1 quiet

initrd /initramfs

}

```

perso j'utilise pas les UUID (les noms de volume de lvm sont assez clairs) mais pour que les UUID marchent faut avoir blkid dans son initrd, donc sous Gentoo ajouter --disklabel où decommenter la ligne # DISKLABEL="yes" dans /etc/genkernek.conf et ensuite configurer correctement son bootloader (real_root, chargement de l'initrd...)

Sous arch j'ai cherché, j'ai pas trouvé de hooks spécifiques pour avoir les labels donc si un 

```
zcat /boot/kernel26.img | cpio -t | grep blkid
```

 ne retourne rien je dirais que c'est mort (a moins de créer son propre hook).

Y'a quelques temps j'ai essayé de faire mon propre initrd, ça n'a rien donné d'utilisable mais j'ai appris pas-mal de trucs  :Cool: 

----------

## DidgeriDude

Quelques recherches sur le net semblent indiquer la nécessité d'avoir un initrd, avec busybox compilé en static dedans.

Au-delà de ça, pas la moindre idée sur la manière de le faire, ni si cela est suffisant !

----------

## GentooUser@Clubic

Faut aussi que le script /sbin/init de l'initrd utilise blkid pour monter les partitions.

----------

## gaga

j'ai un peu avancé à propos de Archlinux :

 *Quote:*   

> title  Arch Linux UUID [/boot/vmlinuz26]
> 
> root   (hd2,1)
> 
> kernel /vmlinuz26 ro vga=773 root=/dev/disk/by-uuid/989f09a9-265d-4f76-9807-9a56fb32a01a edd=off debug
> ...

 

il faut mettre le chemin complet et ça passe   :Very Happy: 

Pour la Gentoo, je verrais ce week-end si j'ai le temps.

Encore merci

----------

