Flashen unter Linux mit Virtualbox - aber kein root?

  • 8 Antworten
  • Letztes Antwortdatum
S

sven-ola

Ambitioniertes Mitglied
24
Update scheint funktioniert zu haben (Anleitung hier aus dem Forum https://www.android-hilfe.de/forum/...des-root-accounts.4401-page-4.html#post-43705, aber der "su"-Befehl geht einfach nicht. Das hier hab' ich dabei mitgeschrieben:

Hab' kein Windows (nur Firma, aber da wird nichts installiert). Also WinXP SP2 unter Virtualbox, ist'n Ubuntu Intrepid mit LXDE. Im Galaxy erstmal unter Einstell-> Telefoninfo-> Weitere Einstell.-> Verwendung nur als Massenspeicher aussschalten.

Virtualbox (nur die GUI!) starten und Galaxy per USB anschließen. Die virtuelle Maschine ändern, USB2 aktivieren und einen USB-Filter hinzufügen: "Qualcomm Android" (damit wird das Telefon automatisch mit der virtuellen Maschine verbunden wenn man es einsteckt). Aus dem Filter alle Einträge bis auf die Hersteller-ID und die Geräte-ID löschen. Das Telefon ändert während kurz vor dem Update irgend eine Sub-ID und der Flash-Vorgang wird nicht fortgesetzt.

WinXP danach starten und als Admin anmelden. XP-Geräte-Blase zeigt sich an und sagt: keine Treiber. OK - das ist ja soweit normal unter Windows.

Download:
Support - Phone Software Update - New PC Studio - Samsung Mobile
(da gibts ein "New_PC_Studio_1.2.0.IG2.exe").

Installation (klappte bei mir nicht auf Anhieb, erst den "Windows Installer Dienst" starten (ich hab' viele Dienste ausgeschaltet). Jedenfalls im Installer unbedingt "Englisch" auswählen (die deutsche Version kommuniziert nicht korrekt mit dem Download-Server, Chinesische Zeichen in einem der HTTP-GET-Header, heruntergeladene Datei ist aber egal - DE/EN dieselbe). Danach im Geräte-Manager den unbekannten USB-Treiber gelöscht, das Galaxy abgezogen und das Windows neu gestartet.

Nach dem Start als Admin angemeldet. Man beachte das neue Icon im Infobereich der Taskleiste. Jetzt das Galaxy anschließen. Große Treiberinstallationsorgie, die hoffentlich mit "Kann jetzt verwendet werden" abgeschlossen wird. Das Taskleistensymbol bietet "New PC Studio öffnen" (NPC) an.

Im NPC erstmal das Handbuch überspringen ([x] oben rechts). Man beachte den Gnuffel oben rechts, da steht "Gerät suchen" drauf und es sollte einen Kreis drumherum anzeigen. Da klickt man drauf. Es sollte ein Dialog "Suche abgeschlossen" anzeigen, bei mir genau 4 grüne USB-Icons und ein blaues Bluetooth-Icon. Wenn es gut aussieht das erste USB-Device auswählen und OK. Auf dem NPC-Desktop muss jetzt ein "GT-I7500" Icon angezeigt werden.

Jetzt das "NPSMitsBinaryUpgrade.exe" suchen (C:\Programme\Samsung) und parallel zum NPS starten. Das zeigt einen Hinweis, den mit [weiter] beantworten. Das geht auch, wenn das Update bereits auf dem Galaxy drauf ist. Geladen wird dabei:

http://fus.samsungmobile.com/Phone_Binary/6/GT-i7500I7500VIAIG6I7500XXIG8I7500XXIG8_500.zip.enc

(Zu Fuss geht das auch, md5sum ist dann 09a06e45feaca22d66f46206fe06b5ab)

Nach dem Download nicht weitermachen sondern erstmal was laden und auspacken:
http://files.getdropbox.com/u/1002975/ANDROID/GALAXY/ROOT SAMSUNG GALAXY for GERMAN.zip
md5sum ist 0d58325edec3228c8adceb4a0609bd3d

Das ZIP-Kennwort ist "hdblog.it". Original-Tar Datei unter C:\Dokumente*\Admin*\Andendungsdaten\Samsung heraussuchen und durch die Tar-Datei aus dem Zip-Archiv tauschen. Darauf achten, dass die orginale Tar-Datei woanders hin geschoben oder gelöscht wird.

Update weiterlaufen lassen. Fertig. Baseband=I7500XXIG8.

Bei mir gab es beim zweiten mal eine Virtualbox-Fehlermeldung wegen dem USB-Anschluss. Aber das war erst, nachdem das Update schon gelaufen war.

Aber leiderleider: der "su" Befehl tut nix (Permission denied). Jemand noch einen Tipp?
 
OK - ich bin zu doof und längst root. Man kann den "su" Befehl nur nicht direkt auf dem Gerät mit der ConnectBox eingeben. Es geht nur mit dem adb. Falls es jemand interessiert, hier meine Notizen dazu.

Kurzbeschreibungen gibt es hier:
receptorBlog Using adb on Samsung Galaxy with Fedora 11
how to use adb tool on SAMSUNG GALAXY? - Android Developers | Google Groups

Download:
Android 1.5 SDK, Release 3 | Android Developers (ZIP for Linux)
http://dl.google.com/android/android-sdk-linux_x86-1.5_r3.zip

cd /opt
sudo unzip ~/Desktop/andro*
sudo chown -R $(id -u) andro*

Erstmal was lesen: firefox /opt/andro*/documentation.html

Dann evnt. die ~/.bashrc anpassen und /opt/andro*/tools in den PATH aufnehmen (bei mir in /etc/bash.bashrc.local einfach 'export PATH=${PATH}:/opt/android-sdk-linux_x86-1.5_r3/tools/' einbauen, evnt. geht auch ~/.bashrc). Jedenfalls muss nach einem Neustart der Shell/des Terminals das hier etwas sinnvolles ausgeben: 'adb --help 2>&1 | less' sagt 'Android Debugging Brigde...'

Nun eine neue udev-Regel anlegen. Also etwa sowas (Details Developing on a Device | Android Developers und die google-msg (siehe oben).
sudo sh -c 'echo SUBSYSTEM==\"usb\", SYSFS{idVendor}==\"04e8\", MODE=\"0666\" > /etc/udev/rules.d/50-android.rules && chmod +x /etc/udev/rules.d/50-android.rules'
sudo /etc/init.d/udev force-reload

Das adb ersetzen mit:

cd /opt/andro*/tools && sudo mv adb adb.orig
wget http://floe.butterbrot.org/external/adb.gz && gunzip adb.gz && md5sum adb && chmod +x adb
(md5sum zeigt: 4459870b4be60af5eb83c13572c3e353)

Jetzt die Probe. Auf dem Galaxy EInstellungen -> Telefoninfo -> Weitere -> Nur als Massenspeicher auf "aus" sowie Einstellungen -> Anwendungen -> Entwicklung -> USB-Debugging auf "ein". Dann einfach einloggen mit "adb shell". Zum Nachweis, dass man root ist einfach "id" eingeben.
 
Du musst Dir noch den Befehl "su" anlegen, entweder wie receptor schreibt, eine Datei hochladen, oder wie hdblog.it schreibt die vorhandene Shell umkopieren.

Dann noch die richtigen Rechte setzen... fertig! Steht aber auch schon in einem der drei bis vier anderen "how-to root galaxy" threads.

EDIT:
Code:
1) mount /dev/block/mtdblock1 /system
2) cat /system/bin/sh > /system/bin/su
3) chmod 4755 /system/bin/su
4) /system/bin/reboot
 
sven-ola schrieb:
Das adb ersetzen mit:

cd /opt/andro*/tools && sudo mv adb adb.orig
wget http://floe.butterbrot.org/external/adb.gz && gunzip adb.gz && md5sum adb && chmod +x adb
(md5sum zeigt: 4459870b4be60af5eb83c13572c3e353)
Oh man, hättest das nicht früher schreiben können??? :D:D:D Ich hab's grad selber mühsam rausgefunden und einen Thread dazu erstellt: https://www.android-hilfe.de/forum/samsung-galaxy-i7500.21/adb-unter-linux.4457.html

Konnte Google das nicht gleich ins SDK mit reinpacken bzw. aktualisieren? Grummel...

ABer dafür geht's jetzt :)
 
Hmmtja - in Foren muss man leider viele "Hilfehilfe"-Texte lesen, bevor man die relevanten Facts erwischt. Ich hab' mal den Hack untersucht, der ist eigentlich ganz einfach. Im Kernel ist nur die initrd geändert, und da drin ist wiederum genau eine Datei unterschiedlich:

sven-ola@pcacer:~/Desktop/Android$ diff -r initrd.orig/ initrd.hacked/
diff -r initrd.orig/default.prop initrd.hacked/default.prop
4c4
< ro.secure=1
---
> ro.secure=0
6c6
< ro.debuggable=0
---
> ro.debuggable=1

Wen es interessiert: das *.tar auspacken. Da ist eine Datei "kernel" drin. Dann den Inhalt der initrd anzeigen mit "dd if=kernel bs=1 skip=$((0x01e7800)) | gunzip -c | cpio -t" (extrahieren: -t gegen -i austauschen).

Den Offset habe ich aus dem Vergleich zwischen dem Original-Samsung-Kernel und der Version aus i7500viaig6-cl36788-o2 modified.tar.

Ich wollte mich selbst nur beruhigen, das die gehackte Version nicht zuviele Unterschiede (oder gar Malware) enthält. Ich würde sagen: Danke Samsung für das offene System <ggg>

350d0211678ced38da926b8c9ffa4fac android-sdk-linux_x86-1.5_r3.zip
db262bfbed408bc95aa65ae72e79fca3 dropbear
a62014ab64b2a253d72f271210922973 dropbearkey
96e860e2d8d4e98f7135de43875c3e15 GT-i7500I7500VIAIG6I7500XXIG8I7500XXIG8_500.zip
09a06e45feaca22d66f46206fe06b5ab GT-i7500I7500VIAIG6I7500XXIG8I7500XXIG8_500.zip.enc
4ae4ccf08a0e515d08907534ed9d888a I7500VIAIG6-CL36788-O2.tar
e34d651448cc3bf0ee26e76a88284182 kernel.hacked
87dbf3f9aba17da4a96eaac2872625b2 kernel.orig
d41d8cd98f00b204e9800998ecf8427e md5sums.txt
4c29214d6896f92b7c5ff6d244b309b5 New_PC_Studio_1.2.0.IG2.exe
0d58325edec3228c8adceb4a0609bd3d ROOT SAMSUNG GALAXY for GERMAN.zip
dffe9406e486b14e5edd6d3c692e41bb su.zip

// Sven-Ola
 
sven-ola schrieb:
Ich wollte mich selbst nur beruhigen, das die gehackte Version nicht zuviele Unterschiede (oder gar Malware) enthält. Ich würde sagen: Danke Samsung für das offene System <ggg>

Wie oder wer hat denn diese Originalfirmware GT-i7500I7500VIAIG6I7500XXIG8I7500XXIG8_500.zip.enc entschluesselt. Mich interessiert ebenfalls was da so drin ist und welche Unterschiede zum &quot;gehackten&quot; Image bestehen. Welche Datenstruktur hat denn das Image selbst? grüße frazz
 
Die Datei wurde durch die Samsung-Software entschlüsselt und entpackt. Das daraus resultierende TAR wurde temporär gespeichert und auf das Handy geschoben. Da man diesen Schritt aber bestätigen musste, konnte man das TAR zwischenzeitlich modifizieren.
 
alles klar, danke.

frazz
 

Ähnliche Themen

F
Antworten
3
Aufrufe
1.677
email.filtering
E
L
Antworten
5
Aufrufe
3.193
wanschi
W
L
Antworten
2
Aufrufe
2.250
lordpa
L
Zurück
Oben Unten