Fichier start.elf not compatible  [RESOLU]

Vous venez de déballer votre Raspberry Pi et vous vous posez des questions ? C'est ici que ça se passe !

Modérateur : Francois

Répondre
Droopyx
Messages : 21
Enregistré le : lun. 3 août 2020 18:45

Fichier start.elf not compatible

Message par Droopyx » mer. 16 sept. 2020 15:42

Bonjour,

Ma config:
Pi4 4G
Ssd Maxtor

J'ai installé une image de retropie sur mon ssd pour qu'il boot directement après avoir mis mon pi4 à jour.
J'ai bien le code 00xf41 qui apparait donc, normalement le pi4 doit booter sur le ssd sans problème de ce coté.

quand je démarre le pi4 il tourne en boucle avec des messages d'erreur et refuse de démarrer. J'ai le message:
"start4.elf not compatible Hash85897c11f4bc0929
Ensuite echec de mise à niveau puis
Erreur 00000044

Je pense qu'il suffit de mettre le fichier start4.elf à jour mais je ne sais pas trop comment m'y prendre.
Je suppose qu'il est sur le ssd. Merci d'avance

Droopyx
Messages : 21
Enregistré le : lun. 3 août 2020 18:45

Re: Fichier start.elf not compatible

Message par Droopyx » mer. 16 sept. 2020 17:53

Complément du message d'erreur

recovery4.elf not found
fixup.dat not found
download from https://raspberrypi.org...

Si j'ai bien compris en gros le fichier start.elf est obsolète du coup il essaye de le mettre à jour
mais il ne trouve pas les fichiers qui automatiseraient cette procédure et demande de le faire manuellement.
Le problème c'est que je n'ai pas accès à retropie (donc la console) sur mon ssd pour faire une mise à jour directement.

J'ai essayé de charger un raspbian sur ma sd card et faire des copies d'un fichier start4.elf depuis une clé usb mais
la copie est refusée car je n'ai pas les droits et quand j'essaye de les changer il me marque que c'est refusé.
Je suis coincé.

Droopyx
Messages : 21
Enregistré le : lun. 3 août 2020 18:45

Re: Fichier start.elf not compatible  [RESOLU]

Message par Droopyx » mer. 16 sept. 2020 23:21

Bon, J'ai trouvé une solution un peu bidouille. :mrgreen: :mrgreen: :mrgreen:

1/ J'ai installé un raspbian sur une sdcard 8Go
2/ Je l'ai lancé via un adaptaeur usb pour voir si mon pi4 pouvait bien booter sur une clé usb
3/ J'ai écrit l'image de retropie 64Go sur mon ssd via W10 avec disk32manager
4/ Comme sur Windows j'ai accès aux fichiers sans histoire de droits et que Boot est accessible j'ai fait mes copies via Windows
5/ J'ai simplement copié tous les fichiers .elf et .dat qui fonctionnaient de Raspbian (clé 8Go) sur mon Ssd dans le boot qui ne fonctionnait pas.
6/ J'ai ensuite rebranché on ssd sur pi4 et a moi les parties endiablées.

Je mets cette solution à dispo car je me suis arraché les cheveux pendant un bon moment donc, si ça peut aider quelqu'un voilà une solution pas
très élégante mais qui a le mérite de fonctionner :D en plus comme je n'ai eu aucune réponse, je me suis dit que c'était pas si évident.
Ce sont parfois les idées les plus simples qui marchent le mieux :lol:

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: Fichier start.elf not compatible

Message par Artemus24 » sam. 26 sept. 2020 16:04

Salut Droopyx.

Surprenant que la première installation de retropie ne fonctionne pas avec un RPi 4B.
As-tu essayé avec RPi 3B+ ? As-tu le même problème ?
Sinon, as-tu vérifié la date de la dernière mise à jour de retropie ?

Quand j'utilise ma RPi 2B avec mon disque dur maxtor (qui n'est pas SSD), j'utilise une carte micro SD de 4G contenant que la partition boot.
Quand j'utilise mon disque dur avec ma RPi 4B / 8G, et que j'effectue une mise à jour, j'effectue aussi la mise à jour de ma carte micro SD.
Sans cela, j'ai un décalage entre la carte micro SD et le disque dur qui fait que je ne peux plus l'utiliser sur ma RPi 2B.

A bien te comprendre, sous retropie, la partition boot est la même que celle de raspbian.
Si cela t'intéresse, je te communique un script bash qui permet de faire la recopie sur une carte micro SD.

Code : Tout sélectionner

#!/bin/bash

UUID="2D91-464A"

FILE1="/mnt/boot/bootcode.bin"
FILE2="/boot/bootcode.bin"

clear
echo -e "\t\t*================================*"
echo -e "\t\t*                                *"
echo -e "\t\t*     Recopie partition \"/boot\"  *"
echo -e "\t\t*                                *"
echo -e "\t\t*================================*\n"
echo -e "\t\tUUID\t\t: $UUID\n"

# ======================================== #
# Vérification l'existence de la partition #
# ======================================== #

if [ -L "/dev/disk/by-uuid/$UUID" ]
then
	DEVICE="$(blkid -U $UUID)"
	DIRECTORY="$(lsblk -n -o MOUNTPOINT $DEVICE)"

	echo -e "\t\tRépertoire\t: $DIRECTORY"
	echo -e "\t\tPériphérique\t: $DEVICE\n"

	if [ "$DIRECTORY" == "/mnt/boot" ]
	then
		echo -e "\t\t\e[31mPartition déjà montée\e[0m\n"
	else
		if [ "$DIRECTORY" != "" ]
		then
			echo -e "\t\t\e[32mPartition a démonter !\e[0m"

			umount $DEVICE

			if [[ $? == 0 ]]
			then
				echo -e "\t\t\e[32mPartition démontée\e[0m"
			else
				echo -e "\t\t\e[31mPartition non démontée\e[0m\n"
				exit 3
			fi
		fi

		mount -t vfat $DEVICE /mnt/boot

		if [[ $? == 0 ]]
		then 
			echo -e "\t\t\e[32mPartition a été montée\e[0m\n"
		else
			echo -e "\t\t\e[31mPartition non montée\e[0m\n"
			exit 2
		fi

# ====================== #
# Vérification des dates #
# ====================== #

		DATE1=`date -r $FILE1 '+%Y-%m-%d %H:%M:%S'`
		DATE2=`date -r $FILE2 '+%Y-%m-%d %H:%M:%S'`

		echo -e "\t\tdate répertoire /mnt/boot : $DATE1"
		echo -e "\t\tdate répertoire     /boot : $DATE2\n"

		if [[ "$DATE1" > "$DATE2" ]]
		then
			echo -e "\t\t\e[31mRecopie déjà effectuée !\e[0m\n"
		else

# ============================================================================= #
# Recopie de la partition "/boot" du disque dur vers celle de la carte micro SD #
# ============================================================================= #

			cd /mnt/boot
			rm -Rf *

			cd /boot
			cp -Rf * /mnt/boot

			echo -e "\t\t\e[32mCopie effectuée !\e[0m\n"
		fi
	fi

# ========================= #
# Démontage de la partition #
# ========================= #

	echo -e "\t\t\e[32mPartition démontée\e[0m\n"

	umount $DEVICE
else
	echo -e "\t\t\e[32mLa carte Micro SD \"$UUID\" (carte N°3) n'est pas installée !\e[0m\n"
	exit 1
fi

exit 0
Le but est de recopier sur la bonne carte micro SD (identification par son UUID), en s'assurant que j'ai bien monté la partition boot.
La recopie s'effectue que si cela est nécessaire.

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

Droopyx
Messages : 21
Enregistré le : lun. 3 août 2020 18:45

Re: Fichier start.elf not compatible

Message par Droopyx » mer. 30 sept. 2020 09:23

bonjour et merci pour ta réponse,

Tout d'abord je m'excuse pour la réponse tardive mais comme c'était résolu via une bidouille,
je ne suis pas revenu voir.

J'ai un ami qui a voulu faire la même chose avec son pi4B et j'ai fait la même opération mais
cette fois, ça coince. Son pi démarre et j'ai un curseur qui clignotte indéfiniment et le Ssd
ne clignote même pas.

J'ai essayé d'échanger les alims au cas ou, les ssd mais rien n'y fait. ca marche sur le miens
mais pas le siens. sa version de bios est de septembre 2020 alors que la mienne est de fin juillet
pourtant. Par contre, j'ai essayé de mettre une image de rétropie (plus petite du coup) sur une
Sd dans un adaptateur et là aussi ça coince. Par contre quand j'ai refait la manip de remettre
les fichiers elf et .dat ça a fonctionné alors que sur le ssd non.

C'est à devenir fou. Pour ton script, je n'ai pas bien compris comment l'utiliser et la finalité exacte,
je suis un noob. J'écris ou ces lignes de code et je le lance comment? (je sais on part de loin dsl) :roll:
Si j'ai bien compris, ça répare le boot du ssd pour qu'il soit pris en compte?

Encore merci pour la réponse.

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: Fichier start.elf not compatible

Message par Artemus24 » mer. 30 sept. 2020 15:53

Salut Droopyx.

Pour utiliser mon script, il faut déjà l'installer quelque part pour l'exécuter.
Chez moi, il est sur mon disque dur, là où en général, je vais la mise à jour de la raspberry.
Par exemple, tu le nommes "recopie.sh".
Tu fais un "chmod +x recopie.sh" afin de le rendre exécutable.

Comme je désire recopier le contenu de la partition "boot" de mon disque dur vers celui de ma carte micro SD, j'ai besoin d'avoir l'identification de cette carte micro SD.
Voici comme s'y prendre.
1) tu fais un "blkid".

2) tu insères ta carte micro SD dans un lecteur.

3) tu fais à nouveau un "blkid".
Par comparaison, tu vois ce qui a été modifié.
Par exemple, la partition de ta carte micro SD se trouve sur "/dev/sda1", voire "/dev/sdb1".
Il y a une donnée qui se nomme "UUID". Cette donnée, tu dois la recopie dans le script, là où j'ai mis le mien :

Code : Tout sélectionner

UUID="2D91-464A"
3) dans le répertoire "/mnt", tu vas créer le répertoire "/boot".
Cela va servir quand le script va monter la partition "boot" de la carte micro SD, puisque tu fais la recopie depuis ton disque dur.

4) tu lances le script.
Il y a plusieurs cas qui peuvent arriver.

4-a) la carte micro SD n'est pas montée.
--> le programm sort tout de suite.

4-b) la carte micro SD est déjà montée.
Comme je ne sais pas comment elle a été monté, et bien je la démonte.
Puis je l'a remonte en faisant l'association avec le répertoire "/mnt/boot".

4-b-1) la partition "boot" de ton disque dur est plus récent que celle de ta carte micro SD, alors il y a une recopie.
4-b-2) la partition "boot" de ton disque dur est plus ancien que celle de ta carte micro SD, alors il n'y a aucune recopie.

C'est tout !

Pourquoi une procédure aussi complexe ? Pour éviter de faire des conneries, car je suis très tête en l'air !!!

Pourquoi ai-je besoin de recopier la partition "boot" sur ma carte micro SD ?
Je me sers de cette carte micro SD quand j'utilise ma RPi 2B, qui ne peut pas booter directement sur le disque dur.
Pour ma RPi 3B et RPi 4B,je n'ai pas besoin de passer par cette carte micro SD, puisque je peux booter directement sur le disque dur.

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

Répondre

Retourner vers « Débutants »