Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Mobi-Forum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

driftking007

Fortgeschrittener

Beiträge: 237

Handy: ViewSonic V350 (ULTIMATE ROM 2.0 dev. Edition)

Wohnort: Deutschland

Danksagungen: 78

  • Nachricht senden

1

Freitag, 23. März 2012, 15:55

[HOW-TO] [V350] Firmware Modifizieren / Build Umgebung einrichten

Guten Tag. Ich freue mich immer sehr über Tutorials, die einem das Leben um einiges erleichtern. Daher schreibe Ich nun für euch eines, um einen kleinen Einstieg in die Modifikation von Firmwares zu geben.

Im 2. Post beschreibe Ich kurz, wie Ihr den SourceCode für Android herunterladet und euer System einrichtet, sodass Ihr ein eigenes System "bauen" könnt.

Betriebssystem
Android besitzt einen Linux Kernel. Daher empfehle Ich euch, eure Arbeiten auch unter einem Linux-System wie z.B. Ubuntu (32 Bit) (http://www.ubuntu.com/) auszuführen. Ubuntu könnt Ihr ganz einfach als 2. Betriebssystem neben Windows laufen lassen (Dual-Boot) oder in einer Virtuellen Maschine. Wobei zweiteres teils zu Fehlern führen kann und umständlicher in der Einrichtung ist.

Einrichtung des Betriebssystems
Bevor Ihr anfangt zu modden, müssen noch einige zusätzliche Programme installiert werden. Ganz wichtig ist JAVA (JDK), welches ihr bei Ubuntu im "Softwarecenter" findet. Zusätzlich könnt ihr auch noch den Android SDK (http://developer.android.com/sdk/index.html) herunterladen und installieren, dieser ist aber nicht zwingend notwendig.
Installiert zusätzlich bitte zuerst auch alle Sicherheits- und Systemupdates. Ihr werdet benachrichtigt, wenn neue Updates zu Verfügung stehen.

Nötige Programme
Um die Firmware zu entpacken und zu modifzieren, braucht ihr einige Tools. Die Grundlage bietet die "A688/A60/A88 Tools" Sammlung. Diese könnt Ihr hier -> http://snowwolf725.blogspot.de/2010/04/a688a60a88.html herunterladen.
Ladet euch dann eine Firmware herunter, die Ihr modifizieren wollt.

Erster Start
Ihr habt nun Eure Firmware im ".nb0" Format. Um diese zu entpacken müsst Ihr die ".nb0" in den "...\A688_Tools_V3.6\RomUnpackTools_Win" Ordner kopieren.
Nun müsst Ihr den "Terminal" öffnen. Wer noch nicht die Grundkenntnisse für den Terminal besitzt, der kann mithilfe von Google sich Tutorials für die Befehle heraussuchen. Ein Teil der Befehle werde ich hier aber auch erklären :)

cd ...\A688_Tools_V3.6\RomUnpackTools_Win -> Den Ordner wechseln
java -Xmx512M -jar nb0-utils.jar unpack firmware.nb0 firmware -> Java Anwendung -512MB Erweiterung -JAVA Anwendung -Benutzte Anwendung -Befehl (entpacken) -Datei, die entpackt werden soll -Entpackungsort


Schließt danach den Terminal.Die Firmware ist nun in den Ordner "\firmware" entpackt worden. Dort findet Ihr nun eine Menge unbekannter Dateien. Wichtig für die Modifizierung sind aber nur folgende Dateien: "FAD-0-4350-4100-system.img" und "FAD-4027-011-splash.img". Kopiert euch beide Dateien in einen anderen Ordner. Macht gegebenenfalls eine Sicherheitskopie.


System.img entpacken
Um die System.img zu entpacken müsst ihr zuerst das Tool "unyaffs" aus dem "A688/A60/A88 Tools" (...\A688_Tools_V3.6\RomUnpackTools_Linux) in den persönlichen Ordner kopieren. Der Persönliche Ordner ist der Ordner, welche beim Start des Terminals als Startordner definiert ist.
Dann müsst ihr einen neue Ordner "system" anlegen. Das sieht folgendermaßen im Terminal aus:

mkdir system ->Makedirectory Ordnername
cd system -> Changedirectory Ordnername

Kopiert nun das Programm "unyaffs" in den Ordner "\system" und gebt dem Programm Rechte zum ausführen.

chmod a=rwx unyaffs -> Rechte für ALLE auf Read, Write, eXecutalbe setzen für die Datei "unyaffs"

Nun wird die system.img entpackt

unyaffs ../FAD-0-4350-4100-system.img -> Programmname oder Programmpfad, dann der Dateipfad zur System.img


Modifikationen
Nun könnt ihr die Systemdateien nach belieben ändern. Im /apps Ordner sind z.B. alle Vorinstallierten Apps zu finden. Guckt ein bisschen die Ordner durch und googlet nach tweaks und verbesserungen. Auch die "Build.prop" im Hauptordner kann durch tweaks das System beschleunigen und verbessern. [HOW-TO] Build.prop tweaks
Wenn Ihr neue Dateien einfügt, denkt bitte daran, die Rechte richtig zu setzen! http://www.tuxfiles.org/linuxhelp/filepermissions.html
Die Rechte könnt ihr mit dem folgendem Befehl einfach überprüfen.

ls -l

Programme (Apps) könnt ihr ganz einfach von eurem Handy kopieren:
Handy muss gerootet sein!
Die App muss auf der SD installiert sein (am besten mit Titanium Backup)
1. https://market.android.com/details?id=com.rhmsoft.fm auf das Handy herrunterladen.
2. bei dem Dateimanager in den Einstellungen "Root" aktivieren.
3. auf der "SD" "Ebene" einmal auf die "Aufwärts" taste drücken.
4. in den Ordner "asec" gehen
5. Sich dort die gewünschte App suchen
6. die .apk und den lib Ordner auf die SD-Karte kopieren, dann auf den PC.
In den /app muss nun die .apk und den /lib die lib dateien integriert werden (eventuell die Rechte richtig setzen).



Root hinzufügen
Ladet euch zuerst die su.apk und Binary herunter: http://androidsu.com/superuser/
Kopiert dann die su.apk in den /app Ordner und setzt die Dateirechte folgendermaßen:

chown root.root Superuser.apk -> Change owner (Besitzer wechseln) zu root von der apk
chmod 644 Superuser.apk -> Rechte auf rw-r--r-- setzen.


Die Binary muss nun in den Ordner /xbin kopiert werden, außerdem auch die Rechte gesetzt werden.

chown 0.2000 xbin/su
chmod 4755 xbin/su



Zusätzlich muss noch ein Link zu der Binary erzeugt werden. dieser muss in dem Ordner /bin sein.

cd system/bin
ln -s su /system/xbin/su




Nun hat eure Firmware ROOT :)




System.img packen
Wenn Ihr fertig seid mit euren Modifikationen, dann könnt Ihr das system.img wieder packen.
Dazu braucht ihr aus dem"A688/A60/A88 Tools" das Programm "mkyaffs2image". Dieses kopiert Ihr in den persönlichen Ordner.
Dann müsst Ihr dem Programm auch Rechte geben.

chmod a=rwx mkyaffs2image

Dann könnt Ihr das Image packen.

mkyaffs2image -f ./system FAD-0-4350-4100-system-new.img ->Image packen -f muss gewählt sein, Ordner ist der /system Ordner, der Name des Images


Nun habt Ihr ein fertiges System Image. Dieses kopiert Ihr in die entpackte Firmware (/firmware) und bennent es eventuell in den originalen Namen um.


Splash.img ändern (unter Windows)
Das Splash.img ist das Bild, welches direkt nach dem Einschalten des Handys angezeigt wird. Dieses besitzt eine Auflösung von 480x320 Pixel.
Startet das Programm CreateA688Splash.exe unter Windows aus den "A688/A60/A88 Tools". Dort könnt Ihr euch ein Bild von der Festplatte aussuchen und dann auf "Convert" klicken. Nun wird eine Datei mit dem .rgb656 Dateiformat erzeugt. Diese muss einfach in das .img geändert werden. Dannach fügt Ihr das .img in die Firmware (/firmware) ein und benennt es in die Originaldatei um.

Firmware packen (.nb0 packen)
zuerst müsst Ihr wieder in den Ordner zu den "A688/A60/A88 Tools".

cd ...\A688_Tools_V3.6\RomUnpackTools_Win -> Den Ordner wechseln
java -Xmx512M -jar nb0-utils.jar pack firmware.nb0 firmware -> Java Anwendung -512MB Erweiterung -JAVA Anwendung -Benutzte Anwendung -Befehl (packen) -Dateiname der Firmware -Speicherort der Firmware







Nun habt Ihr eure .nb0 Datei, die Ihr mit den SUTLR flashen könnt.

Und denkt bitte IMMER daran, dass Ihr mit dem Flashen euer Handy kaputt machen könnt. Ich übernehme keine Garantie für Fehler meinerseits und eurerseits.

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »driftking007« (29. März 2012, 20:06)


Es haben sich bereits 4 registrierte Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Cuoco92 (24.03.2012), Blackthorne (25.03.2012), Ogolar (25.03.2012), konfuzius (02.05.2012)

driftking007

Fortgeschrittener

Beiträge: 237

Handy: ViewSonic V350 (ULTIMATE ROM 2.0 dev. Edition)

Wohnort: Deutschland

Danksagungen: 78

  • Nachricht senden

2

Donnerstag, 29. März 2012, 20:33

Build Umgebung einrichten

Nun beschreibe ich kurz, wie Ihr eine Build Umgebung für Android einrichtet. (Nur für Fortgeschrittene)

Hierfür braucht Ihr zwingend Linux (Ubuntu bevorzugt). Für den Download sollte mindestens 8Gb freier Speicher sein

Nötige Programme:
Ihr braucht folgende Programme:





Anmerkung für die Installation:
Installation unter Ubuntu mit folgenden Befehlen:

cd /ort/der/entpackten/datei/
./configure
make
make install

(Bei GIT bitte die Datei "INSTALL" beachten)

Java (JDK 6u31 64 bit):

Java JDK herrunterladen, dann folgenden Code ausführen:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
sudo mkdir -p /opt/java/64
sudo mv ~/Downloads/jdk-6u31-linux-x64.bin /opt/java/64
sudo chmod 755 /opt/java/64/jdk-6u31-linux-x64.bin
cd /opt/java/64
sudo ./jdk-6u31-linux-x64.bin
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/java/64/jdk1.6.0_31/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/opt/java/64/jdk1.6.0_31/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/opt/java/64/jdk1.6.0_31/bin/javaws" 1
sudo update-alternatives --install "/usr/bin/jar" "jar" "/opt/java/64/jdk1.6.0_31/bin/jar" 1 
sudo update-alternatives --set "java" "/opt/java/64/jdk1.6.0_31/bin/java"
sudo update-alternatives --set "javac" "/opt/java/64/jdk1.6.0_31/bin/javac"
sudo update-alternatives --set "javaws" "/opt/java/64/jdk1.6.0_31/bin/javaws"
sudo update-alternatives --set "jar" "/opt/java/64/jdk1.6.0_31/bin/jar"



Installation nötiger Pakete:
Ihr braucht noch Pakete, die Ihr mit folgenden Befehlen herunterladen könnt:

Ubuntu 10.04 64Bit (empfohlen):

sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc



Ubuntu 10,X und 11.X 32Bit

sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev \
libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown \
libxml2-utils xsltpro



Ubuntu 10.10

sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so




Ubuntu 11.10

sudo apt-get install libx11-dev:i386




Einrichten der USB-Erkennung
Damit euer Handy über USB erkannt wird, müsst Ihr "Regeln" erstellen. Diese werden in folgendem Ordner /etc/udev/rules.d/ in der Datei 51-android.rules gespeichert werden. Die Rechte müssen für ALLE zusätzlich noch auf READ gesetzt werden, sofern dies nicht schon ist.

#Acer
SUBSYSTEM==usb, SYSFS{idVendor}==0502, MODE=0666
#ASUS
SUBSYSTEM==usb, SYSFS{idVendor}==0b05, MODE=0666
#Dell
SUBSYSTEM==usb, SYSFS{idVendor}==413c, MODE=0666
#Foxconn
SUBSYSTEM==usb, SYSFS{idVendor}==0489, MODE=0666
#Garmin-Asus
SUBSYSTEM==usb, SYSFS{idVendor}==091E, MODE=0666
#Google
SUBSYSTEM==usb, SYSFS{idVendor}==18d1, MODE=0666
#HTC
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
#Huawei
SUBSYSTEM==usb, SYSFS{idVendor}==12d1, MODE=0666
#K-Touch
SUBSYSTEM==usb, SYSFS{idVendor}==24e3, MODE=0666
#KT Tech
SUBSYSTEM==usb, SYSFS{idVendor}==2116, MODE=0666
#Kyocera
SUBSYSTEM==usb, SYSFS{idVendor}==0482, MODE=0666
#Lenevo
SUBSYSTEM==usb, SYSFS{idVendor}==17EF, MODE=0666
#LG
SUBSYSTEM==usb, SYSFS{idVendor}==1004, MODE=0666
#Motorola
SUBSYSTEM==usb, SYSFS{idVendor}==22b8, MODE=0666
#NEC
SUBSYSTEM==usb, SYSFS{idVendor}==0409, MODE=0666
#Nook
SUBSYSTEM==usb, SYSFS{idVendor}==2080, MODE=0666
#Nvidia
SUBSYSTEM==usb, SYSFS{idVendor}==0955, MODE=0666
#OTGV
SUBSYSTEM==usb, SYSFS{idVendor}==2257, MODE=0666
#Pantech
SUBSYSTEM==usb, SYSFS{idVendor}==10A9, MODE=0666
#Philips
SUBSYSTEM==usb, SYSFS{idVendor}==0471, MODE=0666
#PMC-Sierra
SUBSYSTEM==usb, SYSFS{idVendor}==04da, MODE=0666
#Qualcomm
SUBSYSTEM==usb, SYSFS{idVendor}==05c6, MODE=0666
#SK Telesys
SUBSYSTEM==usb, SYSFS{idVendor}==1f53, MODE=0666
#Samsung
SUBSYSTEM==usb, SYSFS{idVendor}==04e8, MODE=0666
#Sharp
SUBSYSTEM==usb, SYSFS{idVendor}==04dd, MODE=0666
#Sony Ericsson
SUBSYSTEM==usb, SYSFS{idVendor}==0fce, MODE=0666
#Toshiba
SUBSYSTEM==usb, SYSFS{idVendor}==0930, MODE=0666
#ZTE
SUBSYSTEM==usb, SYSFS{idVendor}==19D2, MODE=0666




Repository einrichten
Nun habt Ihr die nötigen Programme installiert und könnt nun den Quellcode herunterladen. Dazu muss zuerst repo eingerichtet werden:

mkdir ~/bin
PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo



Repo initialisieren
Nun wird Repo initialisiert. HIER wird das aber nur für Android 2.3.7 getan.


mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.7_r1


Nun müsst Ihr eine gültige E-Mail-Adresse und euren Namen eingeben.


Dateien herunterladen (repo syncronisieren)
Mit folgendem Befehl startet die Synchronisierung. Dieser Vorgang kann bis zu einigen Stunden dauern. Wahlweise könnt ihr bei schneller Internetverbindung auch noch "-j32" hinter den Befehl hängen. Dadurch werden mehr Dateien auf einmal heruntergeladen.

repo sync



Nun habt Ihr nach dem Synchronisieren den kompletten SourceCode auf eurem System.

Quelle: http://source.android.com/source/initializing.html
http://forum.xda-developers.com/showthread.php?t=1354865

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »driftking007« (23. April 2012, 15:45)


Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

konfuzius (02.05.2012)

driftking007

Fortgeschrittener

Beiträge: 237

Handy: ViewSonic V350 (ULTIMATE ROM 2.0 dev. Edition)

Wohnort: Deutschland

Danksagungen: 78

  • Nachricht senden

3

Donnerstag, 29. März 2012, 20:37

Reserviert !!!