Installationsscript startet nicht

Hallo!

Ich versuche von Linux aus mit der Kommandozeilen-Methode /e/OS auf ein Nothing-CMF1 Phone zu bringen. Im Prinzip bin ich auch schon relativ weit gekommen: (Device_Lock_state: unlocked, => FASTBOOT MODE); Nur beim allerletzten Schritt, wenn ich das Kommando

chmod +x flash_tetris_factory.sh && ./flash_tetris_factory.sh

lt. Beschreibung starte, bekomme ich folgende Fehlermeldung:

INFO: You are using a Linux distribution.
INFO: Looking for connected device(s)…
factory.common: line 84: /nano/buero/so/test/eos_tetris/bin-linux-x86/fastboot: cannot execute binary file: Exec format error

WARNING: No CMF Phone 1 found in fastboot mode.
WARNING: Make sure that a CMF Phone 1 is connected.

Do you want to look for a CMF Phone 1 again? [(Y)es/(n)o]:

Hab’s schon von 2 verschiedenen Linux-Rechnern probiert, immer das gleiche Problem. Ist übrigens Debian-Linux. Hat wer eine Idee, was da die Probleme macht?

Gruß, Roman

PS: das Bild zeigt den derzeitigen Status am Handy

Habe das Posting wohl unabsichtlich in die Rubrik “HOWTOs” gegeben. Eigentlich wollte ich es in die Rubrik “Benutzer/Hilfe” haben. Kann man das noch verschieben?

​​​

​​​​​​​​​

Was hat denn dein Linux-Computer für eine Architektur ?

Poste mal die Ausgabe von

uname -r
cat /proc/cpuinfo

und

file /nano/buero/so/test/eos_tetris/bin-linux-x86/fastboot

2 Likes

Hallo, das hier wären die ausgaben

roman@olinuxino2:~$ uname -r
5.10.105-olimex
roman@olinuxino2:~$ file /nano/buero/so/test/eos_tetris/bin-linux-x86/fastboot
/nano/buero/so/test/eos_tetris/bin-linux-x86/fastboot: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, not stripped
roman@olinuxino2:~$

und noch eine info:

roman@olinuxino2:~$ uname -m
armv7l

und noch eine:

roman@olinuxino2:~$ cat /proc/cpuinfo
processor       : 0
model name      : ARMv7 Processor rev 4 (v7l)
BogoMIPS        : 45.47
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 4

processor       : 1
model name      : ARMv7 Processor rev 4 (v7l)
BogoMIPS        : 45.47
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 4

Hardware        : Allwinner sun7i (A20) Family
Revision        : 0000
Serial          : 00020664

Hab’s aber wie gesagt auch an einem anderen Linux-Rechner (sehr alt, andere Architektur) probiert - ähnliche Fehlermeldung nur teilweise in deutsch; dort ist ein älteres debian oben; und der Prozessor dürfte irgendwas mit x86 sein …

Das kann nicht funktionierren. Du hast eine Kiste mit arm-Architektur und in dem Installations-Bundle sind nur binaries für Linux x86/64, Mac und Windows enthalten. Du brauchst die passende Architektur, damit fastboot ausgeführt werden kann.

2 Likes

Ok - der andere Rechner hat wohl ein 32-Bit-Prozessor … also auch nichts; schade

roman@luna:~$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 8
model name      : Pentium III (Coppermine)
stepping        : 6
microcode       : 0x8
cpu MHz         : 797.901
cache size      : 256 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fdiv_bug        : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pse36 mmx fxsr sse
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips        : 1595.80
clflush size    : 32
cache_alignment : 32
address sizes   : 36 bits physical, 32 bits virtual
power management:

roman@luna:~$ uname -m
i686
roman@luna:~$

Hallo!

Hab’s nun auf einem 3. Rechner mit Intel(R) Xeon(R) CPU E3-1245 V2 probiert; lt. meiner Recherche sollte dieser Rechner auf einer x-86 Architektur basieren

→ habe extra die Live-Version von Alpine-Linux dafür gebootet und das Paket “android-tools” dazu installiert

Leider wieder erfolglos → Fehlermeldung siehe Bild bitte.

Bin schon leicht am verzweifeln. Was mache ich noch falsch? Das CMF1-Phone ist im FASTBOOT MODE (siehe auch Bild weiter oben vom 1. Beitrag … Status des Smartphones)

Die Fehlermeldung ist leider nicht vollständig lesbar. Ist im Verzeichnis /mnt/bin-linux-x86/ das binary fastboot vorhanden ?

Wenn ja gebe mal

ldd /mnt/bin-linux-x86/fastboot

ein. Vllt sind einige Bibliotheken nicht vorhanden. Wenn Software nicht mit einem Paketmanager (apt, rpm, …) installiert wird, werden die Abhängigkeiten nämlich nicht autom. aufgelöst.

Die CLI Flash-Skripte haben in den Unterverzeichnissen ihr eigenes fastboot mit dabei (Verzeichnisse bin-darwin, bin-linux-x86, …). Wenn das nicht passt, muss das jeweilige Flash-Skript ggfs. angepasst werden, damit Dein installiertes fastboot verwendet wird.

Beispiel Fairphone 3:

cat factory.common
.
.

# Operating system checks and variable definition
os_checks() {
  case "$(uname -s 2> /dev/null)" in
    Linux|GNU/Linux)
      echo "INFO: You are using a Linux distribution."
      FASTBOOT_BIN="${ROOT_DIR}/bin-linux-x86/fastboot"
      ;;
    msys|MINGW*)
      echo "INFO: You are using MinGW on Windows."
      FASTBOOT_BIN="${ROOT_DIR}/bin-msys/fastboot.exe"
      ;;
    Darwin)
      echo "INFO: You are using MacOS."
      FASTBOOT_BIN="${ROOT_DIR}/bin-darwin/fastboot"
      ;;
    *)
      echo "ERROR: Unsupported operating system (${OSTYPE})."
      echo "ERROR: Only GNU/Linux, MacOS and MinGW on Windows are currently supported."
      abort_now
      ;;
  esac
}

.
.

Da müsste ggfs. die Zeile

FASTBOOT_BIN="${ROOT_DIR}/bin-linux-x86/fastboot"

mit

FASTBOOT_BIN="<Pfad zum systemeigenen fastboot>"

ersetzt werden. Den Pfad bekommt man durch Eingabe von

which fastboot

heraus.

1 Like

@msp - Danke für deine Hilfe - alleine wär’ ich komplett aufgeschmissen …

aktueller Stand:

das Problem von gestern konnte ich tatsächlich lösen, indem ich wie von dir vorgeschlagen im Script factory.commonden Pfad zu fastboot neu eingegeben habe;

Jetzt ist die Routine zwar gestartet (zu Beginn kamen Warnungen, die ich wegen des schnellen Ablaufes nicht genau lesen konnte); nach kurzer Zeit gab es dann einen Stillstand bei “super 9/42”

Ich wartete ca. 40min, aber es ging nichts weiter. Also hab’ ich abgebrochen und nochmals gestartet, um die Warnungen zu sehen, die zu Beginn kommen: er möchte scheinbar Dateien in eine Partition mit Partitionsgröße 0 hineinkopieren:

Was ist hier nun wieder das Problem?

Das Smartphone kommt nun übrigens nach einem normalen Einschalten in eine Art Boot-Schleife; Unterbrechen kann ich die nur, wenn ich VOL+ und POWER gleichzeitig drücke. Ich bin dann mal in den Recovery-Mode gegangen und wollte es auf Werkseinstellungen zurücksetzen - geht leider nicht mehr … siehe Bild (Meldung unten)

Jetzt ist guter Rat teuer, nicht wahr? Lässt sich das noch retten?

Gruß, Roman

Im Recovery könntest Du probieren, das /e/OS per adb sideload zu installieren.

Teile mit size=0 sind übrigens normal. Das Kopieren der super partition (und einiger anderer) sollte allerdings vollständig durchlaufen.

Und noch etwas wichtiges: Ein vernünftiges USB-Kabel (nicht der Mist, der mit in jedem Karton dabei ist) sollte in jedem Fall zum Einsatz kommen.

2 Likes

Und welche Datei nehme ich da für den sideload?

Einfach die zip-Datei: IMG-e-4.0-a14-20260610633982-official-tetris.zip, welche für mein Device anzuwenden ist, oder entpacken und irgend welche Teile davon?

URL: https://ota.ecloud.global/official/tetris/e-4.0-a14-20260610633982-official-tetris.zip

Und nach dem Download mit

md5sum e-4.0-a14-20260610633982-official-tetris.zip

prüfen, ob der Hash mit 697392328e3a6c28cd0d9da131d7b431 überein stimmt.

Alle OTAs hier.

2 Likes

MD5-Summe wurde überprüft; leider dennoch eine Fehlermeldung: Value too large …

root@olinuxino2:/nano/buero/so/test/eos_tetris_sideload# adb devices
List of devices attached
0010934AV000194 sideload

root@olinuxino2:/nano/buero/so/test/eos_tetris_sideload# adb sideload e-4.0-a14-20260610633982-official-tetris.zip
adb: failed to stat file e-4.0-a14-20260610633982-official-tetris.zip: Value too large for defined data type
root@olinuxino2:/nano/buero/so/test/eos_tetris_sideload#

Was kann ich da noch machen?

Habe übrigens die zip-Datei lt. Ihrem Link verwendet; diese ist nicht exakt die gleiche, auf die ich komme, wenn ich der Anleitung von /e/OS folge: dort beginnt der Dateiname mit IMG_e……. (der Rest der Bezeichnung ist gleich wie bei Ihrem Link) und die Dateigröße ist ~2.9GB; Dateigröße bei ihrem Link ~2.5GB

Die sind auch nicht gleich. Die mit dem IMG ist die für die CLI Installation und die anderen für den systemeigenen Updater bzw. sideload.

Der Fehler liegt an dem Linux bzw. adb, das Du benutzt. Da gibt es wohl möglicherweise noch die Beschränkung auf 2GB. Eigentlich ist die schon seit Jahren aufgehoben.

2 Likes

@msp - vielen herzlichen Dank für die Hilfe!!

ich konnte die zip-Datei nun mit adb sideloadhochladen und habe /e/OS bereits gestartet; ich hab’ jetzt nicht mein permanet installiertes Debian, sondern das aktuelle Alpine-Linux (Live-System) dafür verwendet. Dieses hatte offensichtlich keine Probleme mit der Dateigröße. Wie gesagt - alleine hätt’ ich das nicht geschafft.

Könnte man eigentlich gleich von vornherein die Methode mit sideload verwenden und sich die Command-Line-Methode damit also ersparen? Also ich meine damit: zuerst nur Bootloader entsperren, und dann gleich in den Recovery-Mode gehen und sideloaden?

Gruß aus AT,

Roman

Mit akt. Debian - bspw. bookworm od. trixie hatte das mit dem fastboot CLI-Skript sofort geklappt.

Den “Umweg” über sideload und recovery bin ich bspw. bei iodéOS beim FP3 auch gegangen, weil dort das Skript fehlerhaft war und man nur das recovery booten konnte. Aber egal - /e/OS ist drauf und alles gut.

1 Like