Salut à tous,
Bon voilà j’aurai besoin d’un petit coup de pouce comme énoncé dans le titre, si toutefois c’est faisable…
Je suis sous Sid sur du BTRFS, donc pour profiter de la souplesse des sous-volumes, j’ai installé en parallèle de Debian une Fedora.
J’ai gardé le GRUB installé par Debian, et il faudrait que je ponte le grub.cfg de Fedora de manière à ce que, quelle que soit la MàJ d’un côte comme de l’autre, le menu GRUB le soit toujours également (sous-entendu à jour)…
Pour celà, j’ai crée un sous-volume pour /boot à la racine de ma partition BTRFS, dans lequel j’ai pour l’instant deux sous-volumes (debian et fedora) et qui sont montés sur /boot en fonction du système démarré… Et pour avoir le chaînage, dans chaque distribution sous /boot j’ai crée un dossier pour l’autre distribution dans lequel je monte l’autre sous-volume…
Bref pour donner un exemple plus concret au cas où ce ne serait pas forcément clair pour tout le monde, mon “partitionnement” sur la partition BTRFS se présente comme suit :
/dev/sda1 (BIOS-boot)
/dev/sda2 (EFI)
/dev/sda3 (partition-récup)
/dev/sda4 (swap)
/dev/sda5 (chiffrée LUKS)
|
|--- /dev/mapper/linux (partition BTRFS)
|
|--- @boot
| |--- @debian (contient ce que contient le chemin /boot pour Debian)
| |--- @fedora (contient ce que contient le chemin /boot pour Fedora)
|
|--- @containers
|--- @debian
| |--- @fsroot (contient la racine de Debian)
| |--- @home
| | ...
|
|--- @fedora
| |--- @fsroot (contient la racine de Fedora)
| |--- @home
| ...
Exemple, en lançant Debian le montage se fait comme suit :
/ (sous-volume /@debian/@fsroot)
|--- /bin
|--- /boot (sous-volume /@boot/@debian)
|--- /efi (/dev/sda2)
|--- /fedora (sous-volume /@boot/@fedora)
|--- /grub
| ...
|--- /data
|--- /dev
|--- /etc
| ...
Donc ça c’est la solution provisoire (où peut-être définitive si ma question n’a pas de solution…).
Ce que je prévoyais (prévois) de faire au départ, c’était un seul sous-volume @boot contenant des dossiers “debian” et “fedora” (éventuellement ajouter d’autres dossiers ultérieurement pour d’autres installations en dur…) et faire le montage suivant :
/ (sous-volume /@debian/@fsroot)
|--- /bin
|--- /boot (sous-volume /@boot)
|--- /debian (contenant tout ce que contient /boot sous Debian)
| |--- /grub
| |...
|
|--- /efi (/dev/sda2)
|--- /fedora (contenant tout ce que contient /boot sous Fedora)
| |--- /grub
| |...
| ...
|
|--- /data
|--- /dev
|--- /etc
| ...
Ce montage est plus simple pour une question de maintenance, mais le problème, que je rencontre, est que je ne sais pas comment dire au système d’installer les fichiers courants du kernel (config*, System.map*, vmlinuz*, …) dans un autre chemin que le chemin habituel “/boot”…
Pour le grub j’utilise la commande :
# grub-install --boot-directory=/boot/debian /dev/sda (par exemple pour Debian)
Mais au delà un “update-grub” même avec l’option “-o” pour spécifier le chemin du fichier “grub.cfg” ne sait pas remplir ce dernier complètement étant donné qu’il ne trouve pas les fichiers courants du kernel à leur emplacement habituel…
Donc voilà la question est là : est-il possible de configurer le chemin où vont se trouver les fichiers du kernel, de grub, l’initrd, etc… pour mettre tout çà dans un sous-dossier de “/boot” selon le schéma ci-dessus?