Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ce Tuto est divisé en trois parties :
Depuis Wheezy, Debian gère le Btrfs lors du processus d'installation. Il y a trois méthodes au moins pour installer Debian sur un système de fichiers Btrfs :
On se place ici dans le cas où vous avez un système déjà bootable (par exemple Debian sur une partition ext4 qui boote avec Grub). Je suppose que vous avez de l'espace sur votre disque pour créer une partition de 20Go environs en Btrfs. (le but étant de tester)
Si vous utilisez un disque vierge, c'est pareil au niveau de l'installation, par contre Grub ne gère pas les disques Btrfs sans table de partition (mkfs.Btrfs /dev/sda). Il vous faut créer un table des partitions avec un MBR et juste une partition primaire sur tout le disque (ou avec un swap aussi si vous voulez).
Dans le cas où il y aurais déjà des données ou un système d'exploitation dans le volume Btrfs cette méthode marche aussi.
Rebootez sur le CD ou l'USB d'installation.
Allez dans les Options Avancées et choisissez l'Installation Expert (graphique ou pas)
Faites l'installation comme normalement jusqu'au partitionnement.
Choisir la langue Configurer le clavier Détecter et monter le CD Charger des composants d'installation à partir du CD Détecter le réseau Configurer le réseau Créer les utilisateurs et choisir les mots de passe Configurer l'horloge Détecter les Disques
Une fois les disques détectés :
Exécuter un shell (ligne de commande)
On monte le volume Btrfs dans /mnt
mount -t btrfs -o ..options.. /dev/sdaX /mnt
On va créer les subvolumes où l'on désire installer Debian :
cd /mnt
btrfs subvolume create debian
cd debian
btrfs subvolume create root
btrfs subvolume create home
Si vous êtes adepte d'un /usr séparé ajoutez le subvolume correspondant. Après c'est une histoire d'organisation.
On monte les subvolumes dans /target :
cd /
mkdir -p /target
mount -t btrfs -o ..options..,subvol=debian/root /dev/sdaX /target
mkdir /target/home
mount -t btrfs -o ..options..,subvol=debian/home /dev/sdaX /target/home
(umount /mnt)
cat /proc/self/mountinfo
exit
La dernière commande devrais vous donner la liste des volumes montés y compris les subvolumes.
Et on se lance pour l'installation du système de base (qui va s'installer dans /target donc…)
Installer le système de base
Normalement l'installateur va se plaindre que vous n’êtes pas passés par l'étape “Partitionner les disques” Choisissez “Revenir en arrière” jusqu’à qu'il lâche l'affaire (2 fois) et installe le système de base.
Et voilà ! le système s'installe et le reste de l'installation peut se faire normalement.
Grub est maintenant capable d'ajouter lui même les options de montage dans grub.cfg. Donc si vous installez un système tout neuf il n'y aura pas de soucis, il s'occupera de détecter que le /boot est dans un subvolume, écrira dans le MBR et tout ira bien.
cd /subvolume/racine/
mv /boot /boot-old
mkdir /boot
chattr -c /boot
cp --reflink -R /boot-old/* /boot/
rm -R /boot-old
L'option –reflink va forcer la duplication des données sur le disque lors de la réecriture dans le /boot sans compression.
Ceci dit je vais quand même expliquer ici comment configurer le grub.cfg, pour tous les autres cas et au cas où vous fassiez un erreur.
Avant de vous lancer soyez sur que vous avez bien lu les tutoriels suivants :
Dans le cas ou vous voudriez que votre “vieux” système continue de booter depuis le mbr et que son grub.cfg s'occupe de faire booter le “nouveau” système sur Btrfs :
Toujours dans l'installateur Debian installez grub. Mais n'installez pas le programme de démarrage GRUB sur le secteur d'amorçage !
Installer le programme de démarrage GRUB sur le secteur d'amorçage ?
-> Non
puis..
Périphérique où sera installé le programme de démarrage
Laissez le champ vide
De cette façon on va pouvoir utiliser directement la partie concernant le boot du “nouveau” système du grub.cfg dans le “vieux” grub.cfg.
Terminer l'installation
Redémarrez votre “vieux” système
Ouvrez le grub.cfg du nouveau système :
mount /dev/sdaX -o ..options.. /mnt
cd /mnt/debian/root/boot/grub
mousepad grub.cfg
Copiez la partie après ### BEGIN …
menuentry 'Debian GNU/Linux, avec Linux 3.2.0-4-amd64' --class debian --class gnu-linux --class gnu --class os { load_video insmod gzio insmod part_gpt insmod Btrfs set root='(hd0,gpt3)' search --no-floppy --fs-uuid --set=root 9201243d-1559-4b27-8973-070aeefa1079 echo 'Chargement de Linux 3.2.0-4-amd64 ...' linux /debian/root/boot/vmlinuz-3.2.0-4-amd64 root=UUID=9201243d-1559-4b27-8973-070aeefa1079 ro rootflags=subvol=debian/root quiet echo 'Chargement du disque mémoire initial ...' initrd /debian/root/boot/initrd.img-3.2.0-4-amd64 }
Il faut que vous pensiez à modifier/vérifier les paramètres suivants :
Si vous n'avez pas installé Grub et n'avez donc pas de grub.cfg vous pouvez utiliser le schéma ci dessus en prenant soin de l'adapter à votre système
Ouvrez 40_custom de votre “vieux” système et collez y le menuentry précédent dûment modifié. Attention à ne pas effacer les premières lignes !
nano /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 'Debian GNU/Linux, avec Linux 3.2.0-4-amd64' --class debian --class gnu-linux --class gnu --class os { load_video insmod gzio insmod part_gpt insmod Btrfs set root='(hd0,gpt3)' search --no-floppy --fs-uuid --set=root 9201243d-1559-4b27-8973-070aeefa1079 echo 'Chargement de Linux 3.2.0-4-amd64 ...' linux /debian/root/boot/vmlinuz-3.2.0-4-amd64 root=UUID=9201243d-1559-4b27-8973-070aeefa1079 ro rootflags=subvol=debian/root quiet echo 'Chargement du disque mémoire initial ...' initrd /debian/root/boot/initrd.img-3.2.0-4-amd64 }
chmod +x /etc/grub.d/40_custom
update-grub
nano /mnt/debian/root/etc/fstab
#l'entrée pour la racine UUID=a69d9182-f4c7-4276-b35d-7d5f9bd50a57 / Btrfs rw,noatime,ssd,discard, autodefrag,subvol=debian/root 0 0 #l'entrée pour le home UUID=a69d9182-f4c7-4276-b35d-7d5f9bd50a57 /home Btrfs rw,noatime,ssd,discard, autodefrag,subvol=debian/home 0 0 #swap et tmpfs swap... tmpfs /tmp tmpfs default 0 0 #Je vous conseille de monter le volume Btrfs à la racine quelque part afin d'y avoir accès facilement UUID=a69d9182-f4c7-4276-b35d-7d5f9bd50a57 /home/Btrfs Btrfs rw,noatime,ssd,discard, autodefrag,nodev,nosuid,noexec,subvolid=0 0 0
Et voilà ! Au redémarrage vous aurez une entrée “Debian GNU/Linux, avec Linux 3.2.0-4-amd64” dans votre menu Grub et ça devrait booter !!