Ciao ragazzi dopo mille prove letture ecc.. sono riuscito a capirci un po di più.
Premetto che l'iMito è il mio primo Android, quindi mi sono dovuto documentare un bel pò.
Inizio a spiegarvi quello che ho fatto, ho preso l'update (update.img) scompattato con il tool di wendal, e preso il system.img e il boot.img (purtroppo questo tool per noi è inutilizzabile da ora in avanti, in quanto scompatta e ricompatta il boot.img e il system.img in formati diversi non supportati, il nostro system è un ext3, il tool lo fa in cramfs)
Ho montato il system.img è iniziato a fare i vari cambiamenti.
**** TOOL BOOT.IMG****
LINUX
codice:
hxxps://rapidshare.com/files/586543575/rkutils-LINUX.zip
WINDOWS
codice:
hxxps://rapidshare.com/files/1936426157/rkcrc-WINDOWS.zip
***************************
******* ROM MODDATA *******
******* CHIP RK2918 ********
***************************
Android OS version : 4.0.3
Device : rk29sdk
Model : imito am801
ROM Name : 1.0.0
Rooted (Superuser.apk + su) : YES
Rooted (unsecured boot.img) : YES
BusyBox installed : YES
BusyBox run-parts support : YES
Apps2SD (Apps to EXT) enabled : YES
/data/app enabled : YES
Custom boot animation allowed : NO
Nano text editor installed : YES
Bash shell support : YES
/system/framework is deodexed : YES
/system/app is deodexed : YES
radio.img found : NO
ROM will wipe all data : NO
16.04.2012 modifiche fatte da me:
- Root iMito (testato e funzionante)
- Eliminate alcune app come mail ecc.. (ne vorrei eliminare altre in futuro, per lasciare il necessario)
- Inserito Superuser.apk nell'immagine
Applicazioni al momento nella nuova img:
codice:
ApplicationsProvider.apk
BackupRestoreConfirmation.apk
BooksProvider.apk
BooksTablet.apk
Browser.apk
Calculator.apk
Calendar.apk
CalendarProvider.apk
Camera.apk
CertInstaller.apk
ChromeBookmarksSyncAdapter.apk
Contacts.apk
ContactsProvider.apk
DefaultContainerService.apk
DeskClock.apk
Development.apk
DownloadProvider.apk
DownloadProviderUi.apk
DrmProvider.apk
Exchange.apk
FaceLock.apk
flashplayer
Gallery2.apk
GenieWidget.apk
GoogleBackupTransport.apk
GoogleContactsSyncAdapter.apk
GoogleFeedback.apk
GoogleLoginService.apk
GooglePartnerSetup.apk
GoogleServicesFramework.apk
GoogleTTS.apk
HTMLViewer.apk
KeyChain.apk
LatinIME.apk
Launcher2.apk
LiveWallpapersPicker.apk
Maps.apk
MarketUpdater.apk
MediaProvider.apk
MediaUploader.apk
Music.apk
MusicFX.apk
NetworkLocation.apk
NoiseField.apk
OneTimeInitializer.apk
PackageInstaller.apk
PhaseBeam.apk
Phone.apk
Phonesky.apk
PicoTts.apk
Provision.apk
QuickSearchBox.apk
RkApkinstaller.apk
RKEBookReader.apk
RkExplorer.apk
RKUpdateService.apk
RkVideoPlayer.apk
Settings.apk
SettingsProvider.apk
SharedStorageBackup.apk
SoundRecorder.apk
SpeechRecorder.apk
Stk.apk
Street.apk
Superuser.apk
SystemUI.apk
Tag.apk
TelephonyProvider.apk
UserDictionaryProvider.apk
VideoEditor.apk
VoiceSearch.apk
VpnDialogs.apk
WAPPushManager.apk
***************************
********** GUIDA ***********
******* CHIP RK2918 ********
***************************
System
Modifica:
Abbiamo bisogno di Linux (io uso ubuntu)
1) prendiamo il system.img e lo mettiamo nella nostra Home
2) Apriamo il terminale e digitiamo (serve per creare la cartella di mount - vi verrà chiesta la pass):
codice:
mkdir system.img.mnt
3) Montiamo il system.img
codice:
sudo mount system.img system.img.mnt -o loop
4) Facciamo le nostre modifiche usando il terminale (non è possibile eliminare/modificare via cartelle, ammeno che non loggate come user)
5) Smontiamo il system.img (al posto di USER va il vostro nomeutente)
codice:
sudo umount /home/USER/system.img
Possiamo flasharlo usando RkAndroidTool (usate le guide ufficiali)
Boot
Grazie ai consigli di morkb sono riuscito a capire il funzionamento. Bisogna usare gli rktools aggiornati che contengono il doppio comando (-k e -p) noi useremo il -k che scrive i primi 4 byte (KRNL) il -p invece (PARM) li prendete da qui
hxxps://github.com/naobsd/rkutils.git
, potete usare git per scaricarli.
Modifica:
1) Va usato il tool kitchen (grazie morkb per la dritta) (seguire istruzioni per installare cygwin)
codice:
hxxp://forum.xda-developers.com/showthread.php?t=633246
2) Una volta installato andate path di installazione di cygwin
nel mio caso C:\cygwin\home\silvio\kitchen\original_update e inseriteci il file .img scompattati con il tool di wendal
lanciare dalla shell di cygwin. (eventualmente se avete selezionato si in fase di installazione sul collegamento al desktop vi ritrovare cygwin sul desktop, apritelo).
codice:
cd kitchen
./menu
3) Ora creiamo la working folder OPZIONE 1
4) Ora opzione 0 (advanced options)
poi opzione 20 (Tools for boot image)
poi opzione w
poi opzione n
5) Da ora in avanti ci sono due strade: prendete initrd.gz dalla cartella boot della working folder
5a) WINDOWS
existe un tool rkcrc (scaricatelo in allegato) che ci permette di signare il boot.img con opzione -p (a noi serve il -k)
prendiamo la cartella kcrc e la mettiamo sul desktop, prendiamo il file initrd.gz e lo mettiamo nella cartella rkcrc, apriamo cmd e digitiamo
codice:
cd Desktop
cd rkcrc
rkcrc -p initrd.gz boot.img
ora con un hex editor (io uso hex edit) modifichiamo i primi 4 byte da PARM a KRNL salviamo e chiudiamo
passa al punto 6
5b) LINUX (bisogna avere minime conoscenze di linux)
il tool rktool li scarichiamo dal git
hxxps://github.com/naobsd/rkutils.git
rechiamoci nella kcrc e compiliamo (installate gcc ecc..), aprite il terminale
gcc -o kcrc rkcrc.c
copiamo il file initrd.gz dove avete compilato il rkcrc e sempre dal terminale
./rkcrc -k initrd.gz boot.img
6) ora abbiamo il nostro boot.img, sia che lo abbiate fatto da windows che da linux sarà funzionante, (avrà una grandezza di 700/800kb circa)
7) Possiamo flasharlo usando RkAndroidTool (usate le guide ufficiali)
Creare un update.img funzionante con il boot.img e system.img modificati:
Modifica:
Ancora ci sto lavorando...
***************************
****** CONSIDERAZIONI ******
******* CHIP RK2918 ********
***************************
UPDATE.IMG
Alcuni studi fatti usando i vari tool:
Output Loader
offset(0x66) len(0x22C5E)
package-file 0x00000800 0x0000021B
RK29xxLoader(L)_V2.08.bin 0x00001000 0x00022C5E
parameter 0x00024000 0x00000255
Image/misc.img 0x00024800 0x0000C000
Image/kernel.img 0x00030800 0x006D5030
Image/boot.img 0x00706000 0x00784000
Image/recovery.img 0x00E8A000 0x00920000
Image/system.img 0x017AA000 0x11662C00
update-script 0x12E0D000 0x000003A6
recover-script 0x12E0D800 0x0000010A
Android OS version : 4.0.3
Device : rk29sdk
Model : imito am801
ROM Name : 1.0.0
Rooted (Superuser.apk + su) : NO
Rooted (unsecured boot.img) : YES
BusyBox installed : YES
BusyBox run-parts support : NO
Apps2SD (Apps to EXT) enabled : NO
/data/app enabled : NO
Custom boot animation allowed : NO
Nano text editor installed : NO
Bash shell support : NO
/system/framework is deodexed : YES
/system/app is deodexed : YES
radio.img found : NO
ROM will wipe all data : NO
Tipi di mount supportati dal filesystem (kernel)
ext2
ext3
ext4
cramfs
vfat
********************************
Per ora non inserisco l'update.img in quanto voglio testarlo per bene, ma lo rilascerò prestissimo. Penso un paio di giorni.
Per favore non mandatemi PM a gogo..cerchiamo di collaborare qui.
Consigliatemi app da togliere e inserire.. come vi dicevo è da poco che sono nel mondo Android
foto.jpg
AGGIORNAMENTO 17.02.2012
Sono riuscito a compilare il kernel 3.0.8 compatibile con il nostro iMito, per ora mi interessa compilare i moduli mancanti come bluetooth ecc.. da introdurre nel sistema