Os-prober ne trouve pas tous les OS ?

Voilà, depuis longtemps je me distrais avec BeOS qui est devenu Haiku.

Mon problème que soit j’utilise virtualbox pour XP et/ou Haiku.
Bon il se fait que de temps en temps je dois encore utiliser XP en direct et tester Haiku sans virtualbox.

Pas de problème , Grub, via os-prober me trouve bien XP mais pas Haiku. Ces 2 OS sont sur un disque dur différent de celui de Debian.
J’ai bien résolu le problème en customisant 40_custom et donc au démarrage j’ai bien 3 entrées Debian, XP et Haiku.

40_custom

menuentry "Haiku Alpha on WDC 160 GB" { set root=(hd0,3) chainloader +1 }

Ma question est pourquoi os-prober ne trouve pas Haiku?

Salut,

Question à deux balles … :033

Il est installé! L’as tu lancé … au moins ?

# os-prober

et mis à jour de grub2

# update-grub2

Il existe un script en /usr/lib/os-probes/mounted/83haiku.
Le résultat aboutirait en échec ou à ce que tu as déjà accompli : un chainload.

#!/bin/sh
# Detects Haiku on BeFS partitions.

. /usr/share/os-prober/common.sh

partition="$1"
mpoint="$2"
type="$3"

# Weed out stuff that doesn't apply to us
case "$type" in
        befs|befs_be) debug "$partition is a BeFS partition" ;;
        *) debug "$partition is not a BeFS partition: exiting"; exit 1 ;;
esac

if head -c 512 "$partition" | grep -qs "system.haiku_loader"; then
        debug "Stage 1 bootloader found"
else
        debug "Stage 1 bootloader not found: exiting"
        exit 1
fi

if system="$(item_in_dir "system" "$mpoint")" &&
        item_in_dir -q "haiku_loader" "$mpoint/$system" &&
        (item_in_dir -q "kernel_x86" "$mpoint/$system" ||
                item_in_dir -q "kernel_x86_64" "$mpoint/$system")
then
        debug "Stage 2 bootloader and kernel found"
        label="$(count_next_label Haiku)"
        result "$partition:Haiku:$label:chain"
        exit 0
else
        debug "Stage 2 bootloader and kernel not found: exiting"
        exit 1
fi

Detects Haiku on BeFS partitions

Befs est-il supporté par ton noyau ? Le module befs est-il chargé ?
Est-ce que tu arrives à monter la partition haiku sous debian ?

extrait de kconfig du module befs

os-prober a parfois du mal avec les distros donc l’arborescence est différente (ex: fedora)
le fait de monter au préalable la partition où se trouve l’OS recherché aide en général os-prober a trouver son chemin.

J’essaie assez bien d’autres OS et donc relancer update,…install ,…grub suivant mais besoin m’est courant.

la customisation de 40_custom me configure correctement le grub de démarrage et donc pas de problème pour accéder à Haiku.

pour info le retour de

[quote]Generating grub.cfg …
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-2.6.32-5-amd64
Found initrd image: /boot/initrd.img-2.6.32-5-amd64
Found Microsoft Windows XP Professional on /dev/sda1
done
[/quote]
Donc merci particulièrement à ceux qui ont bien compris que ce n’est que os-prober qui ne répond pas correctement.

Monter ma partition pour le moment est impossible, le gestionnaire de disque ne reconnaît pas la partition et la considère comme inconnu, mais donne bien le type: BeOS bfs 0xeb sur /dev/sda3.
Je vais regarder les propositions dans /lib… et répondrai.

Bon le fichier 83haiku n’existant pas chez moi, je l’ai créé, rendu exécutable et changé en root.

L’update-grub n’a rien vu de plus.
Je vais chercher pour monter la partition /dev/sda3

Pas besoin : il est appelé automatiquement par un update-grub.
Après, il est évident que cet update-grub est lui nécessaire !

J’ai vérifié, j’ai bien les befs.mod ou befs_be.mod et befs.ko dans boot/grub ou …lib/modules.
Donc ce serait de ce côté qu’il y aurait problème de non détection.
Je vais voir du côté du forum Haiku.

Résolu pour Haiku

Solution:
[ul]

[quote]root@msi:/home/nicnac# mount -t befs /dev/sda3 /media/Haiku
root@msi:/home/nicnac# os-prober
/dev/sda1:Microsoft Windows XP Professional:Windows:chain
/dev/sda3:Haiku:Haiku:chain

SURPRISE…

root@msi:/home/nicnac# update-grub
Generating grub.cfg …
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-2.6.32-5-amd64
Found initrd image: /boot/initrd.img-2.6.32-5-amd64
Found Microsoft Windows XP Professional on /dev/sda1
Found Haiku on /dev/sda3
done
[/ul]

Plus qu’à rebooter

OK, plus qu’à supprimer l’entrée via 40_custom car maintenant j’ai 2 entrées pour Haiku.
Merci à tous pour votre aide. Super la communauté.