Page 1 sur 1

[Grub2/Burg] Boot d'Arch depuis le Grub d'une autre distrib

Publié : lun. 29 août 2011, 09:57
par Tromzy
Bonjour à tous !

J'ai installé Archlinux sur quelques une de mes machines, et à chaque fois, je suis confronté au même problème : chacune de ces machines a déjà une distro Linux installée (Chakra, basée sur Arch) et contient donc déjà un bootloader (Burg).

À la fin de l'installation d'Arch, je ne choisis aucun bootloader, je boote ensuite sur Chakra et je fais un sudo update-burg, qui me détecte donc la présence d'Arch. Seulement, je ne peux pas booter car Burg se trompe au niveau de la ligne root=/dev/sdx.

Par exemple, il écrit root=/dev/sda3 dans le fichier /etc/defaut/burg et pour pouvoir booter, je dois modifier ça en root=/dev/sda4. J'ai modifié à la main le fichier /boot/burg/burg.cfg, mais comme je sais que c'est une très mauvaise idée :non: , je cherche à savoir s'il y a un moyen plus "propre" de modifier la config de Burg (définitivement, histoire que ça ne saute pas à chaque update-burg). Je pense que la réponse se trouve dans le fichier /etc/burg.d/30_os-prober , seulement je ne sais pas quoi modifier là-dedans, quelqu'un pourrait-il m'éclairer ? :)

Je vous remercie d'avance et longue vie à Archlinux. :wink:

Re: [Grub2/Burg] Boot d'Arch depuis le Grub d'une autre dist

Publié : lun. 29 août 2011, 11:23
par FoolEcho
Burg est basé sur grub2, je crois ?
Tromzy a écrit :J'ai modifié à la main le fichier /boot/burg/burg.cfg, mais comme je sais que c'est une très mauvaise idée :non:
Mauvaise... p't'êt'e ben qu'oui, p't'êt'e ben qu'non... C'est selon si c'est toi qui fait la mise à jour de burg et du menu ou si le système te le fait automatiquement (... Chakra étant jadis basé sur Arch, elle ne devrait pas faire... mais je ne sais pas). Mais comme tu le dis, ça serait plus propre de ne pas toucher au burg.cfg puisque susceptible d'être écrasé.
Maintenant, si c'est comme pour grub2, tu dois pouvoir ajouter des entrées manuellement au niveau d'un "40_custom" ou quel que soit son nom...

Sinon, tu dois pouvoir passer par les labels ou les uuids pour désigner la partition racine aussi...

Aussi, pour finir, la solution du chaînage (ma préférée) : tu installes le grub d'Arch sur sa propre partition /boot ou / et tu rajoutes une entrée dans burg pour le chainloader (avantage: zéro maintenance / pas besoin de retoucher la configuration de burg à l'avenir / lisibilité: chaque système se gère indépendamment / si installation d'un autre système à la place: rien à faire... ; inconvénient: enchaînement de menu de démarrage -- peut se compenser en réduisant/supprimant l'affichage du menu).

Re: [Grub2/Burg] Boot d'Arch depuis le Grub d'une autre dist

Publié : lun. 29 août 2011, 11:58
par Tromzy
Merci pour ta réponse. Oui Burg est basé sur Grub 2.

Le coup du 40_custom c'est pas bête, mais je sais pas si je saurais faire. ^^

Pour les UUID, en fait, bizarrement, c'est bien ce que j'avais fait lors de l'installation d'Arch, ça n'a pas empêché Burg de s'emmêler les pinceaux. :D

J'avais pensé au chainloader lors de l'installation, puis je me suis dit que ce serait mieux d'avoir un seul bootloader, mais j'avais pas prévu que ça déconnerait... Du coup, c'est peut-être ce que je vais faire...

Re: [Grub2/Burg] Boot d'Arch depuis le Grub d'une autre dist

Publié : lun. 29 août 2011, 12:58
par avi3000
bonjour,
j'utilise une autre méthode qui est fort pratique quand on installe de nombreuses distributions.

J'installe grub2 sur une autre partition et je le gère manuellement, ce qui doit fonctionner également avec burg.
quand j'ai installé arch je n'ai pas installé grub 0.97, j'ai ajouté arch à mes entrées de menu.

avec grub2

Code : Tout sélectionner

grub-install --root-directory=/media/partition_du_grub_manuel /dev/sda
le grub.cfg qui contient les options

Code : Tout sélectionner

insmod vbe
insmod ext2
insmod gfxterm
insmod gettext
insmod jpeg

set locale_dir=/boot/grub/locale
set lang=fr

loadfont /boot/polices/unicode.pf2
set gfxmode="1366x768x32;1280x800x32;1024x768x32;800x600x32;640x480x32;1366x768;1280x800;1024x768;800x600;640x480"
terminal_output gfxterm
set color_normal=blue/black
set color_highlight=yellow/black

background_image /boot/grub/adrianasage.jpeg
configfile /boot/grub/mes_distrib.cfg
le mes_distrib.cfg qui contient les différentes entrées

Code : Tout sélectionner

menuentry "Fred" {
set linuxversion='-2.6.38-8-generic'
set uuid=96e1c2fa-2cb4-4c03-b173-xxxxxxxxxx
search.fs_uuid $uuid root
linux	'/boot/vmlinuz'$linuxversion root=UUID=$uuid ro quiet splash
initrd	'/boot/initrd.img'$linuxversion
}

menuentry "gros toutou" {
set kernelfile='/grostoutou/vmlinuz'
set uuid=2244-1500
search.fs_uuid $uuid root
linux  $kernelfile pmedia=usbHD pfix=ram psubdir=grostoutou root=uuid=$uuid
initrd /grostoutou/initrd.gz
}

menuentry "wary 5.1.2" {
set kernelfile='/wary512/vmlinuz'
set uuid=2244-1500
search.fs_uuid $uuid root
#linux  $kernelfile pmedia=usbHD pfix=ram psubdir=wary512 root=uuid=$uuid
linux  $kernelfile pfix=ram pmedia=usbHD
initrd /wary512/initrd.gz
}

menuentry "puppeee" {
set kernelfile='/puppeee/vmlinuz'
set uuid=2244-1500
search.fs_uuid $uuid root
linux  $kernelfile pmedia=usbHD psubdir=puppeee root=uuid=$uuid
initrd /puppeee/initrd.gz
}
menuentry "linuxmint 9 fluxbox iso" {
set isofile=/linux-iso/linuxmint-9-fluxbox-cd-i386.iso
loopback loop $isofile
linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed $parms_ubuntu$isofile
initrd (loop)/casper/initrd.lz
}

menuentry "windows 7 / Vista" {
insmod ntfs
search.file /bootmgr root
chainloader  +1
}

menuentry "windows XP" {
insmod ntfs
search.file /ntldr root
drivemap -s (hd0) ${root}
chainloader  +1
}

menuentry "Autres configurations" {
configfile /boot/grub/autres.cfg
}

menuentry "Reboot" {
insmod reboot
reboot
}

Re: [Grub2/Burg] Boot d'Arch depuis le Grub d'une autre dist

Publié : lun. 29 août 2011, 13:10
par FoolEcho
Tromzy a écrit :Le coup du 40_custom c'est pas bête, mais je sais pas si je saurais faire. ^^
À priori (connais pas grub2), il faut juste y recopier tes entrées (pareil pour chainloader, tu as l'exemple avec grub2 et windows, mais ça ne change rien: https://wiki.archlinux.org/index.php/GRUB2#Dual-booting)... Tu as des exemples avec ce que montre avi3000.

Cependant, du temps où j'avais plusieurs distributions, je privilégiais toujours le chaînage (ce qui permettait de faire tourner la/les distribution(s) test(s) sans jamais toucher au menu.lst du système principal après la première configuration ou à chaque changement de kernel -- en plus si tu veux faire du double chaînage, c'est plus simple).

Re: [Grub2/Burg] Boot d'Arch depuis le Grub d'une autre dist

Publié : lun. 29 août 2011, 13:19
par avi3000
>À priori (connais pas grub2)

faut apprendre, c'est l'avenir.

Syslinux n'est pas mal non plus.

Re: [Grub2/Burg] Boot d'Arch depuis le Grub d'une autre dist

Publié : lun. 29 août 2011, 13:34
par FoolEcho
avi3000 a écrit :faut apprendre, c'est l'avenir.
«Difficult to see. Always in motion is the future.» :mrgreen:
Je ne suis pas geek dans l'âme, j'intègre les changements très progressivement (voire jamais) et je passe beaucoup (trop) de temps à analyser avant de m'y mettre. On en a déjà parlé sur un autre sujet: je trouve intéressant l'aspect modulaire de grub2 pour la configuration, mais grub demeure davantage KISS (et plus léger).

PS: merci d'utiliser la balise quote plutôt que ">".

Re: [Grub2/Burg] Boot d'Arch depuis le Grub d'une autre dist

Publié : lun. 19 sept. 2011, 15:01
par Tromzy
Je remonte un peu ce topic. :D

J'ai suivi vos conseils, j'ai viré le fichier /etc/burg/d/30_os-prober (le renommer l'exécutait quand même), et j'ai mis mes entrées d'OS en dur dans le fichier /etc/burg.d/40-custom. Ça a l'air de bien fonctionner, sauf que quand je check le fichier /boot/burg/burg.cfg généré par la commande update-burg, je vois la chose suivante pour Arch :

Code : Tout sélectionner

menuentry "Arch Linux [/boot/vmlinuz-linux] (on /dev/sda7)" --class arch --class os --group group_/dev/sda7 {
	savedefault
	insmod ext2
	set root='(hd0,5)'
	search --no-floppy --fs-uuid --set 366eed44-ac61-4b7f-b51c-934391a7505e
	linux /vmlinuz-linux resume=/dev/disk/by-uuid/48cde944-0fef-452e-a182-e8ac711c4f5a resume=/dev/disk/by-uuid/48cde944-0fef-452e-a182-e8ac711c4f5a root=/dev/sda7 ro quiet splash
	initrd /initramfs-linux.img
Pourquoi la ligne "resume=..." est-elle présente deux fois à la suite ? J'ai bien vérifié, dans mon fichier 40_custom, elle n'y est qu'une fois...

Re: [Grub2/Burg] Boot d'Arch depuis le Grub d'une autre dist

Publié : lun. 19 sept. 2011, 15:36
par Tromzy
Problème résolu, il me suffisait de l'enlever de l'entrée du fichier 40_custom pour qu'elle ne se génère qu'une fois. :)

Re: [Grub2/Burg] Boot d'Arch depuis le Grub d'une autre dist

Publié : lun. 19 sept. 2011, 16:01
par tuxce
Au lieu de modifier ou supprimer un fichier (qui reviendra à la prochaine mise à jour) dans /etc/burg.d, il vaut mieux configurer /etc/default/burg:

Code : Tout sélectionner

GRUB_DISABLE_OS_PROBER=true