Recalbox Forum

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

    Gestion multiboot et script recalbox-part.sh

    Recalbox Général
    multiboot script
    2
    5
    1611
    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.
    • Pi-Druid
      Pi-Druid last edited by Pi-Druid

      Bonjour,

      En remplacement de mon mediacenter RPi3 sous recalbox avec kodi, j'envisage une solution multiboot avec 3 os distinct : Recalbox 4.1, Kodi et Debian Jessie. J'utilise pour cela Odroid-Multiboot (lien github) de loboris et le résultat est bluffant grâce à cet outil.

      Cependant, je rencontre une difficulté qui a nécessité pas mal vraiment beaucoup d'investigation (je découvre encore et toujours 😛 ) à savoir :

      • recalbox ne fonctionne qu'en stand-alone (kodi étant embarqué), il interprète donc la partition servant au share (/recalbox/share) comme étant la suivant de celle de boot/

      Afin de permettre recalbox de fonctionner (enfin jusqu'à présent tout fonctionne...), j'ai modifié la fonction suivante (certainement optimisable) :

      • fichier : /recalbox/script/recalbox-part.sh
      determine_default_share_part() {
           XSHARE=$(lsblk -o name,label | grep SHARE | cut -d ' ' -f 1 | cut -d '-' -f 2)
           echo "/dev/$XSHARE"
      
      #   BOOTPART=$(determine_boot_part)
      #   XBOOT=$(echo "${BOOTPART}" | sed -e s+'^.*\([0-9]\)$'+'\1'+)
      #
      #   # check that it is a number
      #   if ! echo "${XBOOT}" | grep -qE '^[0-9]$'
      #   then
      #       return 1
      #   fi
      #
      #   XSHARE=$(expr ${XBOOT} + 1)
      #   echo "${BOOTPART}" | sed -e s+"${XBOOT}$"+"${XSHARE}"+
      }
      

      Ainsi, le point de montage /recalbox/share est réalisé en recherchant la partition s'appelant SHARE

      Pour vous donner une idée du résultat, voici

          sdb                                                  29G
          +-sdb1    vfat   /media/ben/sduserdata sduserdata     1G
          +-sdb2    ext4   /media/ben/system     RECALBOX     384M
          +-sdb3                                                8M
          +-sdb4
             +-sdb5 ext4   /media/ben/recalbox   SHARE          2G
             +-sdb6 ext4   /media/ben/sdoelec    sdoelec        2G
             +-sdb7 ext4   /media/ben/sdlinux1   sdlinux     23,5G
      

      RECALBOX contient l'ensemble du contenu de l'image RECALBOX (boot/ +overlay par la suite) et SHARE le point de montage décrit ci-dessus

      Et j'ai configuré mon /boot/recalbox-boot.conf pour accéder au NAS :

      sharedevice=NETWORK
      sharenetwork_smb1=ROMS@IP_NAS:PATH_NAS:username=USER,password=PASS
      
      1. Pensez-vous que cette modification est pertinente, à ajuster ou à éviter ?
      2. Pensez-vous que le nom de cette partition est varialisable ? bref, que l'on précise dans recalbox-boot.conf le nom de la partition a utiliser pour le share ?
      3. Ai-je oublié autre choses ?
      4. Ai-je le droit de publier un lien externe vers Odroid.com (pour détailler l'ensemble) ? ou, plus tard, vers mon blog (pour les mêmes raisons) ?

      Je suis preneur de toute remarque ou conseil également 😛

      Substring 1 Reply Last reply Reply Quote 0
      • Substring
        Substring @Pi-Druid last edited by

        @Pi-Druid yo ! Alors plusieurs remarques :

        • c'est un script que je dois réécrire poyr une grosse nouveauté que j'ai dans les cartons
        • le nom de la partition : ca ne marchera peut être pas parce que de mémoire, ce n'est pas tout le temps SHARE, mais ausdi share ... Et oui, case sensitive ... Me semble que c'est en minuscule sur l'image par noobs maid en majuscule par le .img ... Youpi ...
        • dans le recalbox-boot.conf, pk pas oui. Mais le grand Dieu de recalbox aurait tendance à dire : faut que ce soit user friendly, et éviter l'edition manuelle

        Mais oui, il y a des pistes d'amelioration. La première etant de faire comme chez odroid justement : regarder où est l'espace libre sur la sd quand on crée le share.

        Historiquement je ne sais pas pk on n'utilise pas les label de partition. Et il y a 2 écoles opposées dans le monde linux sur ce sujet.

        Former dev - Please reply with @substring so that i am notified when you answer me
        Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

        1 Reply Last reply Reply Quote 0
        • Pi-Druid
          Pi-Druid last edited by

          @Substring Hello !

          Tout d'abord, merci beaucoup pour ton retour.

          Effectivement, il semble y avoir pas mal à faire. En creusant un peu plus, la modification que je proposais n'est pas entièrement viable pour recalbox 4.1 (la version utilisée lors de la rédaction du post initial n'était pas conforme. Depuis, je constate des problèmes)

          • La partition SHARE est recréée lorsqu'elle n'est pas trouvée visiblement (je perds donc son contenu à chaque démarrage).
          • Je me rends compte également que la partition boot/ n'est pas correctement identifiée non plus.

          A priori, pour pouvoir envisager recalbox en "vrai" multiboot, une des pistes serait de revoir en profondeur les scripts :

          • /etc/init.d/S04mountboot
          • /etc/init.d/S11share

          Pour le coup...

          • /recalbox/scripts/recalbox-part.sh ne serait plus utile
          • idem pour /recalbox/scripts/recalbox-mount.sh
          • à chaque mise à jour c'est le risque de perdre ses données

          Je vais étudier cela plus en détail dans les prochains jours, mais je suis preneur de toute autre option (ou conseil), mon objectif reste avant tout d'avoir un vrai multiboot linux / kodi / retrogaming sur Odroid C2 avec la possibilité de procéder indépendamment à la monté de version de chacun.

          Substring 1 Reply Last reply Reply Quote 0
          • Substring
            Substring @Pi-Druid last edited by

            @pi-druid il y a une autre grosse difficulté supplémentaire dans les cartons : squashfs. J'ai bien avancé sur le sujet, et une des difficultés restantes concerne l'identification du share, parce quedans ce cas / est monté sur /dev/loop0 hahaha

            La suggestion que je peux te faire : identifier l'espace libre de la sd ou clé usb (attention : / peut etre sur /dev/sdN, /dev/loopN, /dev/mmcblp[01]) et ecrire dans le recalbox-boot.conf le device créé pour le share.

            Encore une difficulté dans un myltiboot : recalbox mange tout l'espace restant ...

            De quoi faire ... Et tu marches sur des oeufs

            Former dev - Please reply with @substring so that i am notified when you answer me
            Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

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

              Ah au fait, je viens de lire irc : pas (encore) delsblk mais il y a blkid qu'on utilise déjà. Je ne sais pas s'il y a une différence fondamentale entre les 2

              Former dev - Please reply with @substring so that i am notified when you answer me
              Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Want to support us ?

              89
              Online

              98.7k
              Users

              28.1k
              Topics

              187.0k
              Posts

              Copyright © 2021 recalbox.com