[Q] Need help modifying system.img - Android Software Development

Hello everybody... I was off for a few weeks and now when I'm back I suddenly felt like doing something new... and when i was looking into some folders that i had from my Android SDK i noticed something named system.img in my level 8 android platform... previously i was enthusiastic to install first google apps in virtual android in my windows then try to install a Custom ROM such az OxyGen or CM7.0.3.... so i guessed that system image must contain the files to do this... over a lot of search i found the tool to extract it.. I extracted it with UnYaffs... the i injected(!) the google apps APK from the latest zip (20110613) file... and something i wondered about is that you can extract from an Yaffs archive but you cannot create one in Windows.. SO I FIRED UP MY UBUNTU....(!!!) and created the image... then transferred it to windows made a backup of the original system.img and replaced mine... before that having all my virtual android machines deletd(I mean wiped from my system!!!)...As normal i created a AVD(Android Virtual Device) from my modified platform... everything went right and it created successfully but when I was starting my AVD everything suddenly changed into bad... It's stuck on the TEXT saying ANDROID... i mean the first text not the second graphic that is Android's name in iron like gray-blue color....
I don't know what has caused the problem.. anyone got his hand dirty on this system.img file?
I guess it might be from that it must be Yaffs1 but i created a Yaffs2 archive... didn't I??? but since I haven't got any Yaffs1 archive maker for ubuntu I can't test...
And I'm sure that the system.img is created fully and not partly... because I UnYaffs-ed it many times and the files do contain in it...
AnY HeLp??

Related

How to make update.zip from boot.img, system.img, data.img (the nandroid backup)

Yes i know the fastboot trick, but can anyone guide me towards making the nandroid backup files into a update.zip that would work?
I'd like to know too ^^.
Me too.
I've successfully scripted the automated creation of a file structure into which the contents of BOOT.IMG, SYSTEM.IMG, DATA.IMG, CACHE.IMG and SD-EXT.IMG are extracted. The script also creates a valid update-script file under ./META-DATA/....
The only issue I have is that I'm using windows so the .IMG files extracted as a yaffs file system, looses the original file permissions. I need someway to recreate the permissions in the update.zip.
Thats all.
Having a way of converting a nandroid backup to an update.zip means you can very easily cook custom roms from a nandroid backup, and port ROMs across phones using a portable .ZIP format.
Maybe dsixda can help
http://forum.xda-developers.com/showthread.php?t=633246
"OR [cook a rom] from a Nandroid backup (under /sdcard/nandroid) [NOT RECOMMENDED]:
Copy the system.img and boot.img files from the backup folder to your kitchen's original_update folder
NOTE: The Nandroid-backup method of cooking is not the best way to cook, because the kitchen may not account for various advanced options that were cooked outside of this kitchen (these options are in the update-script file which was in the original ROM but is not in the backup. The kitchen needs to re-create this file and 'guess' those options). However, it will support Nandroid backups that already have basic features like root, busybox and /data/app functionality. "
You get nandroid backup images by backing up a ROM which was flashed from an update.zip package. What is then the point of recreating that update.zip package?
giant is right with the klitchen by dsixda you can make an update.zip form nandroid very easy
Guys, we're missing the point.
To clarify:
The "point of recreating the ZIP ROM file" are numerous. For example, to create a ROM where the original ROM isnt available, i.e. to create a portable ROM based on an existing set of images in a phone where the phone and/or its sdcard cannot be removed or where we do not wish to remove the card. Simple. But more importantly, the process is a learning and development activity that I want to undertake, its a personal decision, for which support would be welcome.
Secondly, dsixda issues many caveats around cooking ROMs from nadroid backups. It simply doesnt work - I've tried it - thus his caveat is correct and should be observed. Furthermore, his kitchen creates windows based ZIP files. The process is inherently flawed for creating ROMs for linux because the ZIP files contain a windows file structure which does not contain the appropriate linux based file permissions (linux being the O/S base system on android. The restore operation does not work - in stock form - because one looses the critical file permissions, UID and GID that are required in order for the ROM to function correctly, and in some instances from my experience, to even boot up! His update-script attempts to reinstate the appropriate permissions, UID and GIDs, however, and as dsixda admits, the process is not foolproof and does not cover all eventualities, combinations and scenarios. Thus, the issue of permissions, GID and UID remains outstanding.
For these reasons, in my humble view, the issue of permissions is critical in ensuring a successful ROM flash from [linux based] .IMG files. Once this is resolved, the rest of the process is trivial. Indeed, if this one issue could be resolved, then dsixda's kitchen would mature from a useful toolset, to a truly wonderous one-stop solution.
well i don't know what people have tried and got to work or not, but it can eb done and have been done before, one of my sliderom build was done froma nandroid
soo i guess it's up to how much effort you put into it and use the kitchen as a tool, but not only use it, cause then you fail, if you don't do some manual work, nothing 100% automated will ever be a big succes
I have a solution.
I am coding this up as we speak.
My solution will extract the file permission, UID and GID from the .IMG , for each contained file. My script then runs as part of the update-script (i.e. RUN_PROGRAM restore-protection) subsequent to a ROM flash. Thus, the resultant file structure after a ROM update is exactly the same as that contained within the .IMG files.
EDIT:
coding complete.
will test tomorrow on existing phone + sdcard.
The purpose of this exercise is to 'clone' an existing phone software load, as ROM file, that can then be flashed. My script takes all partition images (system, data, cache, sd-ext and so on), creates a ROM that includes functionality that will - when flashing - restore the exact permissions, GID and UID as written in the backup files (.IMG), thus cloning the phone.
I plan to update the script in future so that APK files can be added or removed, and additional low level features such as kernel pre-empting, scheduling and other features can be added --- I think they call this "a kitchen" in Android speak.??
From your description of what you're doing it sounds like you could end up with the simplest and closest to a one click kitchen that allows users with less knowledge to fully backup / restore / clone their phone (rom, personal settings, data and all). A lot of noobs might like this tool big time
Any progess made on this? I have been trying to create a rom for a nandroid backup. When I go to flash it, I get symlink errors and the flash fails.
dazxda said:
I have a solution.
I am coding this up as we speak.
My solution will extract the file permission, UID and GID from the .IMG , for each contained file. My script then runs as part of the update-script (i.e. RUN_PROGRAM restore-protection) subsequent to a ROM flash. Thus, the resultant file structure after a ROM update is exactly the same as that contained within the .IMG files.
EDIT:
coding complete.
will test tomorrow on existing phone + sdcard.
The purpose of this exercise is to 'clone' an existing phone software load, as ROM file, that can then be flashed. My script takes all partition images (system, data, cache, sd-ext and so on), creates a ROM that includes functionality that will - when flashing - restore the exact permissions, GID and UID as written in the backup files (.IMG), thus cloning the phone.
I plan to update the script in future so that APK files can be added or removed, and additional low level features such as kernel pre-empting, scheduling and other features can be added --- I think they call this "a kitchen" in Android speak.??
Click to expand...
Click to collapse
Do you have a link?
dazxda said:
I have a solution.
I am coding this up as we speak.
My solution will extract the file permission, UID and GID from the .IMG , for each contained file. My script then runs as part of the update-script (i.e. RUN_PROGRAM restore-protection) subsequent to a ROM flash. Thus, the resultant file structure after a ROM update is exactly the same as that contained within the .IMG files.
EDIT:
coding complete.
will test tomorrow on existing phone + sdcard.
The purpose of this exercise is to 'clone' an existing phone software load, as ROM file, that can then be flashed. My script takes all partition images (system, data, cache, sd-ext and so on), creates a ROM that includes functionality that will - when flashing - restore the exact permissions, GID and UID as written in the backup files (.IMG), thus cloning the phone.
I plan to update the script in future so that APK files can be added or removed, and additional low level features such as kernel pre-empting, scheduling and other features can be added --- I think they call this "a kitchen" in Android speak.??
Click to expand...
Click to collapse
Hi, could yo share your script? I'm also working on something similar, and could use a bit of help
OMG this is exactly what I need.. I read all the way to the end and then ARRGGGGGG.. no more responses in months. Have you made this script yet? If no .. does anyone else have instructions on taking a nandroid backup and creating an IMG or ?
My personal reasons.. I have a Craig CMP741E tablet that is stuck in the android logo screen after attempting the factory update.. the one that crashes EVERY1's tablet. And there is no working way that I have found to fix it. No custom roms or factory roms that can be flashed without FIRST having the tablet ON and turn on USB Debugging or already have CWM installed. So I cannot use ADB or any other method I can find to do this.
I have a buddy with the same tablet that is rooted and has GAPPS and everything on it. He gave me a copy of his nandroid backup but now I cannot find anything I can actually do with it. If I can turn it into an Update.zip or IMG I can simply put on SD Card.. restart and cross my fingers.
lilc420 said:
OMG this is exactly what I need.. I read all the way to the end and then ARRGGGGGG.. no more responses in months. Have you made this script yet? If no .. does anyone else have instructions on taking a nandroid backup and creating an IMG or ?
My personal reasons.. I have a Craig CMP741E tablet that is stuck in the android logo screen after attempting the factory update.. the one that crashes EVERY1's tablet. And there is no working way that I have found to fix it. No custom roms or factory roms that can be flashed without FIRST having the tablet ON and turn on USB Debugging or already have CWM installed. So I cannot use ADB or any other method I can find to do this.
I have a buddy with the same tablet that is rooted and has GAPPS and everything on it. He gave me a copy of his nandroid backup but now I cannot find anything I can actually do with it. If I can turn it into an Update.zip or IMG I can simply put on SD Card.. restart and cross my fingers.
Click to expand...
Click to collapse
Can you access the tablet's fastboot mode? Turn the tablet fully off, then hold the Menu button and the Power button. I don't have your tablet, but it's a standard boot mode.
Make sure you have the tablet connected to the PC. You should see it pop up in the Device Manager, or by doing "fastboot devices" from a command prompt.
If you can get there, you may be able to flash a recovery image.
Hi, does anybody knows if there is a response for this post??, i am looking for a method to convert the images files that are included in a rom stock (for using with sp flash tool) to an update.zip file. I have no way to use sp flash tool because my tablet has a hardware problem with microusb port and the only way is flashing a new rom via microSD card with an update.zip..
Maybe the solution is in another thread, please be kind and give me a link or at least give me some suggestions where to look for.

status on rooting cliq

I found this on http://cliq-development.com/forums/viewtopic.php?f=5&t=13
hopefully this can help anyone who is trying to develop a way for root on the cliq.
To get where we are at in development you must learn about a few things
.SHX = A re-flashing file similar to a .nbh on the HTC brand. It is a full re-flash of everything on the phone, full stock. When extracted it creates three files the main one is the CG2
CG2 = A file extracted from the shx that hold the main partitions that will be flashed to the phone.
-----------------------------------------------------------------------------------------------------------------------
How to extract a shx
(http://modmymoto.com/forums/showthread.php?t=525344)
A developer by the name of Meiner Einer created a program named SbfRecalc. With this program we can extract three files and as i stated above the most important one is the CG2
How to extract a CG2
(http://modmymoto.com/forums/showthread.php?t=525477)
A developer by the name of Skrilax_CZ created a program named CG2 Parser. With this program we can extract all of the files within the CG2.
-----------------------------------------------------------------------------------------------------------------------
After you extract all of the files from the CG2 you will find that some of the names were similer to the partitions of the cliq. With a little file manipulation i recreated a boot.img and a recovery.img from some of the files. The guys over at modmymoto dumped a full system partition.
(http://android-dls.com/wiki/index.php?t ... oot_Images)
To recreate both the boot.img and the recovery.img just do these simple steps
1. Create a directory and put either bootsec.mbn or recoverysec.mbn from the CG2 dump inside it
2. Download the split_bootimg.pl from the link above and run it with the file in the directory to get both a kernel and a ramdisk file.
3. Using the mkbootimg from the android source code you can recombine the kernel and the ramdisk files to create your boot.img/recovery.img strait from the re-flash file
------------------------------------------------------------------------------------------------------------------------
With the system dump from modmymoto and my boot.img(+a little root) I created an update.zip file with root ready to be flashed when the keys are ready.
This is where we are at any help would be greatly appreciated.
Wow, nice work!
This could really so with a sticky...
Thanks for the update! The cliq goes hard. Once rooted its ova, best android phone on tmo!
Nice! It would be really great if you could repost this at android-devs.org over in the cliq development section of the forum
Since XDA is only for HTC phones and most people here most likely don't have the cliq and there really isn't a correct forum to have this posted in..
I'd reccomend using android-devs.org forums

Overclocking....i need some help

Ok so on my adventure of overclocking the Eris i have ran into a bit of an issue.
I started with making a nandroid backup of my phone. this gives you system.img, boot.img, and data.img. I have successfully extracted everything from the image files except for one thing...the kernel.
I have taken the boot.img and split it up into the ramdisk and kernel and sorted through the garbage to get working directories and file structures.
I now have the ramdisk in a editable format but the /sys files are created from the kernel on boot and those are the ones i need to edit.
I have the kernel file on my computer, isolated, but i do not know where to begin on decrypting this jumbled mess. As far as i know it isnt compressed as i cant find magic numbers in the headers but this has baffled me.
Any devs out there wanna shed some light as i dont know much about android and i just started this yesterday.
Wait for HTC to give us the kernel source code
That would work if i had some patience. Any idea when we could get the source?

[Q] Is it spossible to chnge the system.ext2 file?

Hi,
I really like all the Android builds that use the Desire ROM as I really like the HTC Sense. However, my language isn't really supported there (The fonts exist but the formatting is bad).
I have some files that should fix the formatting, but they are meant for the original HTC Desire and are installed by going to the ROM Manager/Recovery Mode and then choosing an option called: "Install Zip from SD Card".
Since I can't go to this ROM Manager nor get into Recovery mode with the HD2 Builds I am looking for an alternate way to change the system files on the Android build I am using.
The thing is that I am having difficulties doing so.
At first I tried using EStrongs File Explorer to get root access and copy over the new files I want to change but it gave me an error that it failed.
After I couldn't make it work I started looking for ways to open and edit the system.ext2 file in Windows.
I couldn't find any program or driver that would let me change the files, but only view them so I decided to install Linux and do it from there.
I used VMware workstation to install Ubuntu on my system.
On Ubuntu I mounted the system.ext2 following the mentioned instructions here: http://forum.xda-developers.com/showpost.php?p=8001443&postcount=8
It mounted okay but it said there was 0 bytes free when I tried to overwrite the files I wanted to change.
In addition it gave me permission errors, the error was that I did not have permission to copy the files.
I am not that familiar with Linux and I tired googling for answers but couldn't find anything useful.
I would appreciate if anyone can explain how to do it, or direct me to somewhere with more details as I'm kinda stuck at the moment.
The files I wanna change are:
/framework/framework.jar
/app/.DS_Store
/app/Gallery3D.apk
/app/Mms.apk
And a few font files to /fonts
Thanks a lot!
It is best to mount the ext2 file as you suggest but instead of trying to modify the file, copy the contents into a new folder and use the genext2fs command to recreate the system.ext2 file!
Hey man, it worked perfectly.
Thanks a lot!!
By the way, is there a recommended file size for the system.ext2? Or should I just keep the original size?
Is it worth setting it bigger? Will it benefit somehow?

[HELP] Retrieving TWRP data [SOLVED]

Hello, I would like to know how I could extract backed up TWRP data on my computer? maybe because the data was large TWRP split it into two files : data.ext4.win000 and data.ext4.win001 (sizes 1.5 and 1.2 GB)
How I got there:
I've been using XenonHD rom for quite a while, and this rom uses koush's superuser app.
I noticed there was a newer version on the market so I installed it; however it appears the one used by the rom developer was modified and therefore had a different package name: I ended up with two superuser apps, one of them asking to update the binaries, which I did.
After that the phone got stuck and rebooted two or three times before being stuck indefinitely at 'updating app' message right after the bootanimation. I tried:
- to wipe dalvik cache but it was still stuck;
- I reflashed the rom + gapps but it was still stuck;
- then I went to the /data/app/ folder (via TWRP) and deleted the superuser app i installed from market, as well as the corresponding data in /data/data, wiped cache and dalvik again: still the same...
-the I decided to make a backup via TWRP : one of the whole system, and one of Data partition only;
- then I realised I couldn't transfer it to my computer in TWRP, so I finally made a factory reset, re-flashed the rom+gapps, and then (it worked) copied my backup to the computer
now; how can I retrieve the data of my apps only, as I guess it is the system data that is messed up?
Of course I tried to restore the Data backup in twrp and it got stuck again the same way....
any help greatly appreciated!
You could try appextractor on the play store
Sent from my Nexus 4 using xda app-developers app
forvrknight said:
You could try appextractor on the play store
Sent from my Nexus 4 using xda app-developers app
Click to expand...
Click to collapse
It didn't work for me...
I finally got my data back by this tricky procedure (there might be an easier way but google+xda was not my friend on this one, I tried ext2explore and ext4explore, linux_reader, Andoird_ICS_JB_ext4_unpacker and maybe some more without success)
I renamed the two files:
data.ext4.win000 renamed as data.ext4.tar.001
data.ext4.win001 renamed as data.ext4.tar.002
Unzipping the first one with 7zip recreates a .tar archive named data.ext4.tar, which is not really a tar archive (extracting it will only give a very few files, for me it only included the image files of my custom bootanimation)
On this file I used AccessData FTK Imager, which would recognise the 'evidence' as a tar file and would allow you to export the data, however this is only the data contained originally in the first file (data.ext4.win000) (although the reconstructed archive was the right size, for me 2.7GB, the part extracted by this software was only 1.5GB)
To recover the second part, simply rename the second file (initially data.ext4.win001) into data.7z and then extract. (this does not work with the first file, all you would get is again a very few files, for me it looked like the content of a single apk file)
All you have to do now is to merge the two data folders and voilà
I could then retrieve my sms mms messages by retrieving the file smsmms.db (and eventually smsmms.db-journal) located in /data/data/com.android.providers.telephony/databases, and putting them on the phone in the same folder
I could also retrieve my phone call logs by retrieving the files contacts2.db (and eventually contacts2.db-journal) located in /data/data/com.android.providers.contacts/databases, and putting them on the phone in the same folder
Hope it helps someone someday
For some reason replacing the data folder of a particular app does not always work, I have to investigate a bit or maybe start fresh with a new rom and try again
asim0 said:
It didn't work for me...
I finally got my data back by this tricky procedure (there might be an easier way but google+xda was not my friend on this one, I tried ext2explore and ext4explore, linux_reader, Andoird_ICS_JB_ext4_unpacker and maybe some more without success)
I renamed the two files:
data.ext4.win000 renamed as data.ext4.tar.001
data.ext4.win001 renamed as data.ext4.tar.002
Unzipping the first one with 7zip recreates a .tar archive named data.ext4.tar, which is not really a tar archive (extracting it will only give a very few files, for me it only included the image files of my custom bootanimation)
On this file I used AccessData FTK Imager, which would recognise the 'evidence' as a tar file and would allow you to export the data, however this is only the data contained originally in the first file (data.ext4.win000) (although the reconstructed archive was the right size, for me 2.7GB, the part extracted by this software was only 1.5GB)
To recover the second part, simply rename the second file (initially data.ext4.win001) into data.7z and then extract. (this does not work with the first file, all you would get is again a very few files, for me it looked like the content of a single apk file)
All you have to do now is to merge the two data folders and voilà
I could then retrieve my sms mms messages by retrieving the file smsmms.db (and eventually smsmms.db-journal) located in /data/data/com.android.providers.telephony/databases, and putting them on the phone in the same folder
I could also retrieve my phone call logs by retrieving the files contacts2.db (and eventually contacts2.db-journal) located in /data/data/com.android.providers.contacts/databases, and putting them on the phone in the same folder
Hope it helps someone someday
For some reason replacing the data folder of a particular app does not always work, I have to investigate a bit or maybe start fresh with a new rom and try again
Click to expand...
Click to collapse
It actually helped me, thanks a lot!
Two Questions
asim0 said:
On this file I used AccessData FTK Imager,
Click to expand...
Click to collapse
This is a 4.6 Gigs professional software. If TWRP can read this type of file there must be a smaller tool available for this.
Can you please let me know of any other toll which would do the same?
asim0 said:
All you have to do now is to merge the two data folders and voilà
Click to expand...
Click to collapse
For the 2nd file do we need to follow the same procedure like 'evidence' and stuff?
Thanks, I am desperate to read some information from TWRP backup and cannot wait 6 days while the 4.6 Gigs of ISO will download.
pi_yush said:
This is a 4.6 Gigs professional software. If TWRP can read this type of file there must be a smaller tool available for this.
Can you please let me know of any other toll which would do the same?
For the 2nd file do we need to follow the same procedure like 'evidence' and stuff?
Thanks, I am desperate to read some information from TWRP backup and cannot wait 6 days while the 4.6 Gigs of ISO will download.
Click to expand...
Click to collapse
These files (at least the ones produced by TWRP2 on my phone) are just standard gzipped tar archives. The tar command has supported this format for at least 20 years. You can extract with a command like this:
Code:
tar xvfz data.ext4.win000
tar xvfz data.ext4.win001
number_thirty_two said:
These files (at least the ones produced by TWRP2 on my phone) are just standard gzipped tar archives. The tar command has supported this format for at least 20 years. You can extract with a command like this:
Code:
tar xvfz data.ext4.win000
tar xvfz data.ext4.win001
Click to expand...
Click to collapse
Thanks number_thirty_two, I copyed thes to a folder I named untar in my home folder of CYGWIN, and extracted my system files perfectly
C:\cygwin\home\carl\untar\
system.ext4.win000
system.ext4.win001
tar xvfz system.ext4.win000
tar xvfz system.ext4.win001
Apologies for resurrecting this, but does anyone know how to extract them if they were compressed as .comp files?
asim0 said:
It didn't work for me...
I finally got my data back by this tricky procedure (there might be an easier way but google+xda was not my friend on this one, I tried ext2explore and ext4explore, linux_reader, Andoird_ICS_JB_ext4_unpacker and maybe some more without success)
I renamed the two files:
data.ext4.win000 renamed as data.ext4.tar.001
data.ext4.win001 renamed as data.ext4.tar.002
Unzipping the first one with 7zip recreates a .tar archive named data.ext4.tar, which is not really a tar archive (extracting it will only give a very few files, for me it only included the image files of my custom bootanimation)
On this file I used AccessData FTK Imager, which would recognise the 'evidence' as a tar file and would allow you to export the data, however this is only the data contained originally in the first file (data.ext4.win000) (although the reconstructed archive was the right size, for me 2.7GB, the part extracted by this software was only 1.5GB)
To recover the second part, simply rename the second file (initially data.ext4.win001) into data.7z and then extract. (this does not work with the first file, all you would get is again a very few files, for me it looked like the content of a single apk file)
All you have to do now is to merge the two data folders and voil
Click to expand...
Click to collapse

Categories

Resources