Solved ogst odroid n64 case
-
Salut tout le monde,
Déjà merci pour ces retours !
J'ai modifié un truc sur les droits des fichiers ExFAT et NTFS il y a quelques mois, je peux regarder si c'est ça (mais je n'ai pas touché aux droits des montages FAT, en revanche). Est-ce que quelqu'un peut me faire un résumé du problème avec l'output du terminal jusqu'au message d'erreur ? cc @kevinnash @Gameroldiesdu57 @Chino @snerge @Evan02
-
-
@Michael-Baudino avec plaisir pour les retours
Alors pour les messages d'erreur ( clé usb en FAT32 ) :
PuTTY =>
2019-09-29 21:49:15 (92.8 MB/s) - 'install_6x.sh' saved [1598/1598]
-sh: ./install_6x.sh: Permission denied
WinSCP =>
La commande '"./install_6x.sh"'
a échoué avec pour code de retour 126 et pour message
-sh: line 36: ./install_6x.sh: Permission denied. -
@kevinnash
tu as bien fait ceci avant de lancer la commande d'installation ?chmod +x install_6x.sh
-
@michael-baudino merci de ta réponse. J'utilise un adaptateur sd/usb pour stocker les roms en externe format fat32 également. Via putty je lance la commande pour le script du tft mais tout comme kevinnash j'ai le droit à PuTTY =>
2019-09-29 21:49:15 (92.8 MB/s) - 'install_6x.sh' saved [1598/1598]
-sh: ./install_6x.sh: Permission denied
Sachant que j'ai essayé également de mettre chmod a+rwx et ça change absolument rien.
-
@acris said in ogst odroid n64 case:
@kevinnash
tu as bien fait ceci avant de lancer la commande d'installation ?chmod +x install_6x.sh
Oui @acris , tout le problème vient de là, il est impossible de modifier les permissions et donc d'exécuter un script sur le stockage externe, que ce soit avec le terminal ou avec WinSCP.
Sur le stockage interne en revanche c'est OK, on peut changer les permissions sans problème.
-
Bon, clairement, il y a un souci avec les droits : la commande
chmod +x install_6x.sh
n'a pas d'effet… du coup, la commande./install_6x.sh
ne fonctionne pasEn attendant qu'on fixe ça (prochaine version), je vous propose de remplacer
chmod +x install_6x.sh && ./install_6x.sh
parbash install_6x.sh
, ça devrait résoudre ce problème (après, il y aura peut-être d'autres choses à mettre à jour dans le script de @littlebalup mais ce premier problème sera déjà contourné ).Donc, je répète, pour lancer le script de @littlebalup , utiliser la commande complète suivante :
wget https://www.dropbox.com/s/1c63n1kakkpylbw/install_6x.sh && bash ./install_6x.sh
Idée pour @littlebalup : si on dit aux gens de lancer ton script avec un
curl -sL https://www.dropbox.com/s/1c63n1kakkpylbw/install_6x.sh | bash
, ça te permettrait de virer lerm -f install_6x.sh
à la fin de ton script. -
Petite rectification : en fait, c'est peu probable qu'on corrige ce problème dans une future version, parce que ça voudrait dire rendre tous les fichiers dans SHARE executables.
Donc je vous conseille d'utiliser le contournement ci-dessus. Je vais modifier le wiki en conséquence dans la journée.
-
Hélas cette manip ne fonctionne pas, en effet le script se lance et tout s'installe bien mais rien ne peut fonctionner car le custom.sh créé n'est pas exécutable sur le support externe.
Du fait sur la 6.1 le custom.sh est inutilisable sur support externe.
A mon avis, il ne s'agit pas de rendre tous les fichiers dans share exécutables ( encore que pourquoi pas ? ) mais de monter le disque externe comme dans Recalbox 6.0 afin de pouvoir changer le chmod sur le support externe.
C'était faisable en 6.0, la commande wget https://www.dropbox.com/s/1c63n1kakkpylbw/install_6x.sh && chmod +x install_6x.sh && ./install_6x.sh modifiait bien le chmod de install_6x.sh et le rendait exécutable.
Quelque chose a bien du changer entre la 6.0 et 6.1 au niveau du montage du disque externe pour que cela ne soit plus possible.
-
Vous avez essayer sur un support en Exfat à la place de Fat32 ? qui est d'ailleurs pas conseillé
-
@acris je viens de formater une sd vierge en exfat,même combat...
-
@Gameroldiesdu57
la partition share sur une microsd est en ext4 quelqu'un a indiqué plus haut que ça fonctionnait.Je parle de stockage externe sur clé usb formaté en exFat à moins que tu utilises le emmc comme stockage interne du systeme et le microsd en support "amovible"
-
@kevinnash Le chmod n'a jamais fonctionné sur un support Fat32 car le FS ne supporte pas la gestion des droits.
Jusqu'en 6.0, les FAT32 etait monté en 777 automatiquement, ce qui pose problèmes avec d'autres soft qui considèrent que le support est "insecure" (le BT par exemple).
Nous cherchons une solution qui pourra satisfaire tout le monde.
Edit: La problématique est la même avec l'exFAT ou le NTFS.
-
@acris J'ai utilisé la carte sd vierge en externe via un adaptateur sd/usb que j'ai formaté en exfat et cela ne marche pas. J'avais installe le script sur une sd en fat32 avec cette adaptateur en version 6.0 et cela fonctionnait.
-
@Bkg2k saurais-tu où se situe le script de montage des FAT32 afin que je puisse le modifier ?
En effet je remettrai bien comme en 6.0 pour pouvoir upgrader en 6.1 car l'ogst sans écran c'est juste pas possible et cond**nation à rester en 6.0
-
@kevinnash il suffit, après le wget, avant de lancer install_6x.sh, de modifier la ligne:
insert=$'\ \ \ \ \ \ \ \ os.system("test -e \'/recalbox/share/system/custom.sh\' && /recalbox/share/system/custom.sh \'%s\' &"%system.name) # load tft logo'
par:
insert=$'\ \ \ \ \ \ \ \ os.system("test -e \'/recalbox/share/system/custom.sh\' && bash /recalbox/share/system/custom.sh \'%s\' &"%system.name) # load tft logo'
Inutile d'aller bidouiller le systeme ou de revenir en 6.0
-
@Bkg2k @kevinnash À mon avis, il faudra aussi modifier
/etc/init.d/S99custom
:AVANT:
#!/bin/bash test -e "/recalbox/share/system/custom.sh" && /recalbox/share/system/custom.sh $1
APRÈS:
#!/bin/bash test -e "/recalbox/share/system/custom.sh" && bash /recalbox/share/system/custom.sh $1
Sinon ta modif ne fonctionnera que pour l'affichage au lancement d'un jeu/émulateur, pas au démarrage.
Mais je n'ai rien testé du tout, j'écris ça au feeling -
Bon, y a pas mal de modifs à faire pour que ça refonctionne au moins sur la SD, que ce soit dans le custom.sh ou le "patch" d'emulatorlauncher. Mais ça devrais le faire. Merci @Michael-Baudino pour les tuyaux. Et oui, si il faut lancer le script via bash, il faudra modifier le S99custom.
-
Merci @littlebalup
On reste dans l'attente de tes modifications, j'ai essayé de m'y coller mais je n'ai pas le niveau ( et de loin he he ) -
Je pense que c'est bon. ça doit aussi fonctionner sur stockage externe. Merci de tester et de faire un retour avant que je mette à jour le wiki.
Nouvelle commande d'installation :curl -sL https://www.dropbox.com/s/9bhrq0bta8aah8o/install_6.1.sh | bash
P.S.: Si vous vous êtes fait une version perso du
custom.sh
, il vous faudra intégrer quelques modifs.
remplacer:modprobe fbtft_device name=hktft9340 busnum=1 rotate=270
par:
modprobe fbtft_device name=hktft9340 busnum=1 rotate=270 force32b=1
Sans ça vous aurez des couleurs dégueulasses à l'écran.
et vous pouvez aussi remplacer:
if [ "$1" != "start" ] && [ "$1" != "stop" ] ; then while [ "$(pidof python)" ]; do # emulatorlaucher is running sleep 1 done if [ "$(pidof ffmpeg)" ] ; then # when emulatorlaucher ends, kill ffmpeg if is running kill -9 "$(pidof ffmpeg)" fi draw_logo $logo_folder $default_logo $default_logo_loop fi
par:
if [ "$1" != "start" ] && [ "$1" != "stop" ] ; then pid="$(pidof -s python)" # look only latest python PID while [ "$(pidof -s python)" = $pid ]; do # emulatorlaucher is running sleep 1 done if [ "$(pidof ffmpeg)" ] ; then # when emulatorlaucher ends, kill ffmpeg if is running kill -9 "$(pidof ffmpeg)" fi draw_logo $logo_folder $default_logo $default_logo_loop fi
ça c'est optionnel mais ça peut prévenir de quelques bugs.