Multiboot avec un os daphile pas reconnu par grub2

Bonjour.

J’installe en multiboot l’os Daphile qui est un serveur audio.
Un sujet similaire dont je suis l’auteur a déjà été traité ici : multiboot-avec-un-os-pas-reconnu-par-grub2-t49645.html?hilit=daphile

Pour installer Daphile il faut créer deux partitions en ext4 qu’il faut nommer DaphileBoot et DaphileData
Ce qui me semble bizarre c’est que j’ai l’impression qu’elles sont dans de la partition étendue alors qu’il me semble avoir fait deux partitions primaires en début de disque.

Les partitions sont faites :

# fdisk -l

Disque /dev/mmcblk0 : 29,1 GiB, 31272730624 octets, 61079552 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x554e1899

Device         Boot    Start      End  Sectors  Size Id Type
/dev/mmcblk0p1 *     4454400 19902463 15448064  7,4G 83 Linux
/dev/mmcblk0p2      19902464 61079551 41177088 19,7G  5 Extended
/dev/mmcblk0p3          2048  2068479  2066432 1009M 83 Linux
/dev/mmcblk0p4       2068480  4454399  2385920  1,1G 83 Linux
/dev/mmcblk0p5      19904512 21874687  1970176  962M 82 Linux swap / Solaris
/dev/mmcblk0p6      21876736 61077503 39200768 18,7G 83 Linux

Les entrées de la table de partitions ne sont pas dans l'ordre du disque.
Disque /dev/mmcblk0boot1 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Disque /dev/mmcblk0boot0 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Disque /dev/sda : 3,9 GiB, 4126670848 octets, 8059904 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x68c2e658

Device     Boot Start    End Sectors  Size Id Type
/dev/sda1  *        0 403455  403456  197M 17 Hidden HPFS/NTFS

/dev/mmcblk0p3 et /dev/mmcblk0p4 sont DaphileBoot et DaphileData. C’est sur DaphileBoot qu’il faut démarrer.

parted -l me donne ça :

# parted -l
Error: Invalid partition table - recursive partition on /dev/sda.
Ignore/Cancel? ^C                                                         
Model:  USB DISK 2.0 (scsi)
Disk /dev/sda: 4127MB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags: 

Error: /dev/mmcblk0boot0: unrecognised disk label
Model: Generic SD/MMC Storage Card (sd/mmc)                               
Disk /dev/mmcblk0boot0: 4194kB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags: 

Error: /dev/mmcblk0boot1: unrecognised disk label
Model: Generic SD/MMC Storage Card (sd/mmc)                               
Disk /dev/mmcblk0boot1: 4194kB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags: 

Model: MMC HBG4e (sd/mmc)
Disk /dev/mmcblk0: 31,3GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type      File system     Flags
 3      1049kB  1059MB  1058MB  primary   ext4
 4      1059MB  2281MB  1222MB  primary   ext4
 1      2281MB  10,2GB  7909MB  primary   ext4            boot
 2      10,2GB  31,3GB  21,1GB  extended
 5      10,2GB  11,2GB  1009MB  logical   linux-swap(v1)
 6      11,2GB  31,3GB  20,1GB  logical   ext4

/etc/grub.d/40_custom est renseigné :

# cat /etc/grub.d/40_custom 
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Daphile" {
   insmod chain
   insmod ext2
   set root=(hd0,1)
   chainloader +1
}

Daphile s’installe correctement et m’est proposé comme entrée au boot mais j’obtiens un message d’erreur (invalid signature) si je boote dessus au démarrage.

Je ne comprends pas l’erreur.

A+

Bonjour.

Il fallait juste choisir set root=(hd0,3)au lieu de set root=(hd0,1).
Je n’ai pas encore bien compris pourquoi grub voyait la partition DaphileBoot en hd0,3 alors que c’est la première partition sur le premier disque dur que j’ai faite. Il y a quelque chose qui m’échappe dans la structure de ce disque dur.

# cat /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Daphile" {
   insmod chain
   insmod ext2
   set root=(hd0,3)
   chainloader +1
}

C’est peut-être la première partition si on considère sa position sur le disque (ce qui n’a strictement aucune importance), mais dans la table de partition c’est la troisième et c’est tout ce qui compte. On voit bien que pour fdisk elle s’appelle /dev/mmcblk0p3 et pour parted elle a le numéro 3. Il en est de même pour GRUB, heureusement.