Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    Utiliser un disque dur formaté en btrfs

    Recalbox Général
    utiliser dur formaté btrfs
    2
    8
    359
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Salokyn
      Salokyn last edited by

      Bonjour,

      J'ai tenté de brancher un disque dur formaté en btrfs sur ma recalbox (RPi4) mais ce FS n'est pas supporté, bien que le module soit présent.

      J'ai essayé de charger manuellement le module : ça fonctionne !

      modprobe btrfs
      
      mount /dev/sda1 /mnt
      
      df /mnt
      Filesystem           1K-blocks      Used Available Use% Mounted on
      /dev/sda1            4883769344 926809392 3955353200  19% /mnt
      

      Serait-ce compliqué de charger ce module au démarrage pour pouvoir utiliser mon disque en external storage ?

      Zing 1 Reply Last reply Reply Quote 0
      • Zing
        Zing Global moderator Translator @Salokyn last edited by

        @salokyn Testez avec la BÊTA 8 :
        https://forum.recalbox.com/topic/25352/recalbox-8-0-beta

        Si cela ne fonctionne pas, postez-le sur le fil de discussion officiel BETA 8 afin que les développeurs puissent vérifier la possibilité de déployer cette fonctionnalité dans la prochaine version.

        Se a minha resposta foi útil, por favor, dê um voto positivo, clicando na seta para cima logo abaixo da resposta, ao lado de "citar".
        If my answer was helpful, please give a positive feedback by clicking the up arrow below the answer, next to "quote".

        1 Reply Last reply Reply Quote 0
        • Salokyn
          Salokyn last edited by

          Merci,

          Je vais donc faire un snapshot btrfs de mon volume recalbox avant de passer à la beta 😊

          Je vous tiens au courant.

          1 Reply Last reply Reply Quote 0
          • Salokyn
            Salokyn last edited by

            Est-ce qu'un beta8 testeur pourrait vérifier si le module est chargé par défaut svp ?

            grep btrfs /proc/modules
            
            1 Reply Last reply Reply Quote 0
            • Salokyn
              Salokyn last edited by

              J'ai posté ici : https://forum.recalbox.com/topic/25352/recalbox-8-0-beta/169

              Merci

              1 Reply Last reply Reply Quote 1
              • Salokyn
                Salokyn last edited by

                Du coup, j'essaie avec le custom.sh, mais j'ai un soucis lors du redémarrage d'ES après avoir monté les partitions (voir ci-dessous).

                J'avais déjà un dossier /recalbox sur ce disque avec des roms et des sauvegardes. Je vais les conserver.

                D'abord, sous un autre système linux car recalbox n'embarque pas le package btrfs-progs, créer un subvolume btrfs pour les répertoires roms et saves qu'on pourra monter directement dans /recalbox/share/roms et /recalbox/share/saves

                Mettons que le disque soit monté sur /mnt/

                cd /mnt
                
                # On renomme les dossier roms et saves existants
                mv recalbox/roms recalbox/roms.orig
                mv recalbox/saves recalbox/saves.orig
                
                # Création des subvolumes
                btrfs subvolume create recalbox/roms
                btrfs subvolume create recalbox/saves
                
                # Copie des roms vers les subvolumes
                cp -r --reflink recalbox/roms.orig/* recalbox/roms
                cp -r --reflink recalbox/saves.orig/* recalbox/saves
                

                Ensuite le custom.sh :

                #!/bin/sh
                
                # UUID du disque
                UUID=3b767376-9bda-4c33-96f3-6fc922a21fd0
                
                case "$1" in
                start)
                  # Charger le module btrfs si ce n'est pas déjà fait
                  if ! (lsmod|grep -q btrfs); then
                    modprobe btrfs
                  fi
                  
                  # Attendre la disponibilité du disque
                  while [ ! -e /dev/disk/by-uuid/"$UUID" ]; do
                     sleep 1
                  done
                  
                  mount -t btrfs -o subvol=recalbox/roms  /dev/disk/by-uuid/"$UUID" /recalbox/share/roms
                  mount -t btrfs -o subvol=recalbox/saves /dev/disk/by-uuid/"$UUID" /recalbox/share/saves
                  
                  # Redémarrer ES (ça coince ici !)
                  /etc/init.d/S*emulationstation restart
                  ;;
                stop)
                  umount /recalbox/share/roms
                  umount /recalbox/share/saves
                  ;;
                esac
                
                exit $?
                

                Problème : le redémarrage d'ES avev /etc/init.d/S*emulationstation restartme colle un écran noir puis rien. Je dois redémarrer ES depuis l'interface web pour que ça fonctionne.

                Vous auriez un tuyau pour ceci ?

                Salokyn 1 Reply Last reply Reply Quote 0
                • Salokyn
                  Salokyn @Salokyn last edited by

                  @salokyn said in Utiliser un disque dur formaté en btrfs:

                  Problème : le redémarrage d'ES avev /etc/init.d/S*emulationstation restart me colle un écran noir puis rien. Je dois redémarrer ES depuis l'interface web pour que ça fonctionne.

                  Il suffit d'attendre un peu avant de redémarrer ES :

                  #!/bin/sh
                  
                  # UUID du disque
                  UUID=3b767376-9bda-4c33-96f3-6fc922a21fd0
                  
                  case "$1" in
                  start)
                    # Charger le module btrfs si ce n'est pas déjà fait
                    if ! (lsmod|grep -q btrfs); then
                      modprobe btrfs
                    fi
                  
                    # Attendre la disponibilité du disque
                    while [ ! -e /dev/disk/by-uuid/"$UUID" ]; do
                       sleep 1
                    done
                  
                    mount -t btrfs -o subvol=recalbox/roms  /dev/disk/by-uuid/"$UUID" /recalbox/share/roms
                    mount -t btrfs -o subvol=recalbox/saves /dev/disk/by-uuid/"$UUID" /recalbox/share/saves
                  
                    # Attendre un peu
                    sleep 5
                  
                    # Redémarrer ES
                    /etc/init.d/S*emulationstation restart
                    ;;
                  stop)
                    umount /recalbox/share/roms
                    umount /recalbox/share/saves
                    ;;
                  esac
                  
                  exit $?
                  
                  Zing 1 Reply Last reply Reply Quote 0
                  • Zing
                    Zing Global moderator Translator @Salokyn last edited by

                    @salokyn Voyez si cela vous aide :
                    https://wiki.recalbox.com/fr/tutorials/system/modification/add-your-own-startup-script

                    Se a minha resposta foi útil, por favor, dê um voto positivo, clicando na seta para cima logo abaixo da resposta, ao lado de "citar".
                    If my answer was helpful, please give a positive feedback by clicking the up arrow below the answer, next to "quote".

                    1 Reply Last reply Reply Quote 0
                    • Locked by  admin admin 
                    • First post
                      Last post

                    Want to support us ?

                    79
                    Online

                    90.3k
                    Users

                    26.3k
                    Topics

                    181.8k
                    Posts

                    Copyright © 2021 recalbox.com