I installed the UCKK6 update for the purpose of pulling out the rom parts, by updating from rooted stock UCKH7. This successfully retained root on UCKK6.
From the mount command, I found that the system partition is listed as mmcblk0p9. I used dd to transfer the modem, kernel, and system partitions, and created Odin flashable tar files from each individually. I found that the kernel and the modem flash successfully, but that the system image flash fails almost immediately. Here is the code I used to pull the system partition in android terminal emulator:
Code:
# dd if=/dev/block/mmcblk0p9 of=/sdcard/factoryfs.img
I didn't remember to include bs=4096 in the command line, but then I didn't include it in the pull for the kernel (mmcblk0p5) and modem (mmcblk0p8) partitions either.
So, to those who know, how do I correctly pull the system partition, so that I can obtain a flashable image?
I'm also interested to know if pulling the image from a rooted phone will include root in the image, or how do you pull/create both a rooted and non-rooted system image?
This looks like a job for... GTG or ENTROPY!
creepyncrawly said:
I installed the UCKK6 update for the purpose of pulling out the rom parts, by updating from rooted stock UCKH7. This successfully retained root on UCKK6.
From the mount command, I found that the system partition is listed as mmcblk0p9. I used dd to transfer the modem, kernel, and system partitions, and created Odin flashable tar files from each individually. I found that the kernel and the modem flash successfully, but that the system image flash fails almost immediately. Here is the code I used to pull the system partition in android terminal emulator:
Code:
# dd if=/dev/block/mmcblk0p9 of=/sdcard/factoryfs.img
I didn't remember to include bs=4096 in the command line, but then I didn't include it in the pull for the kernel (mmcblk0p5) and modem (mmcblk0p8) partitions either.
So, to those who know, how do I correctly pull the system partition, so that I can obtain a flashable image?
I'm also interested to know if pulling the image from a rooted phone will include root in the image, or how do you pull/create both a rooted and non-rooted system image?
Click to expand...
Click to collapse
Always asking the hard questions...
In case this helps... Here's what I have for partition commands:
# dd if=/dev/block/mmcblk0p5 of=/sdcard/zImage bs=4096
# dd if=/dev/block/mmcblk0p8 of=/sdcard/modem.bin bs=4096
# dd if=/dev/block/mmcblk0p7 of=/sdcard/cache.img bs=4096
# dd if=/dev/block/mmcblk0p9 of=/sdcard/factoryfs.img bs=4096
# dd if=/dev/block/mmcblk0p10 of=/sdcard/data.img bs=4096
They have worked for me so far.... did you try including "bs=4096" for the factoryfs.img?
Regarding the root image... When pulling the a factoryfs.img, it pulls EVERYTHING in the system partition (folders). Files effecting root are contained within the system folders, so when you pull the factoryfs.img you get that too. The thing I don't know is if you can pull the img without having root. My phone is always rooted.
I keep a odin flashable image of my entire phone (all partitions listed above) as a fail proof backup in case I totality dork something up. The odin tar is about 2-3 gig. I can completely wipe my phone and return it to stock, then flash my odin to bring it back. I've used it (in testing) to COMPLETELY restore my phone and data... etc... etc. Pretty cool and comforting to know a can fix a bad screw up.
Peaster111 said:
Always asking the hard questions...
...did you try including "bs=4096" for the factoryfs.img?
Click to expand...
Click to collapse
No but I think I will go back and try again this afternoon to see if that was the problem.
By the way, there was a UCKK6 system partition dump with root prepared by vlara and posted in another thread. He named the file system.img instead of factoryfs.img. When I used it to make an Odin flashable tar, it failed immediately, just like the one I made.
# dd if=/dev/block/mmcblk0p5 of=/sdcard/zImage bs=4096
# dd if=/dev/block/mmcblk0p8 of=/sdcard/modem.bin bs=4096
# dd if=/dev/block/mmcblk0p7 of=/sdcard/cache.img bs=4096
# dd if=/dev/block/mmcblk0p9 of=/sdcard/factoryfs.img bs=4096
# dd if=/dev/block/mmcblk0p10 of=/sdcard/data.img bs=4096
Click to expand...
Click to collapse
BTW, you left out mmcblk0p1 = /efs and mmcblk0p4 = /mnt/.lfs. Wouldn't you need the efs for a complete backup? And isn't 0p4 the param.lfs?
Also just wondering. Entropy said that a backup of the efs partition should be done while booted into recovery so that it doesn't get hosed by a write during the backup. Would that be true for any of the other partitions? 1, 4, 7 and 10 are read/write. Not sure about 5 and 8.
creepyncrawly said:
By the way, there was a UCKK6 system partition dump with root prepared by vlara and posted in another thread. He named the file system.img instead of factoryfs.img. When I used it to make an Odin flashable tar, it failed immediately, just like the one I made.
BTW, you left out mmcblk0p1 = /efs and mmcblk0p4 = /mnt/.lfs. Wouldn't you need the efs for a complete backup? And isn't 0p4 the param.lfs?
Also just wondering. Entropy said that a backup of the efs partition should be done while booted into recovery so that it doesn't get hosed by a write during the backup. Would that be true for any of the other partitions? 1, 4, 7 and 10 are read/write. Not sure about 5 and 8.
Click to expand...
Click to collapse
Interesting on the system.img... Hard to stay what the story is there.
I did leave out the "efs" blocks... I forgot about that one. I dumped it once when I originally got the phone and just reuse the file. Interesting on the recovery part, I've not heard of that. I don't remember if mine was in recovery or not. It seems to work fine.
As long as you are in adb shell as su, whether the partition is r/w or r/o doesn't matter. You are just dumping (reading) it not writing.
The PARM partition is where SBL stores information. This is the settings for boot and contains the image you see on startup as well as the Download Mode image and others. Unless you need to mess with the bootloader related stuff, I wouldn't do the param.lfs. I'd rather reflash from a stock odin to fix any boatloader related issues. A clean PARM partition would ensure you avoid any bootloader anomalies.
I've attached the full mapping of the partitions along with some info on each.
OK.
Wiped data. Odin installed UCKH7 stock plus root. Updated to UCKK6 OTA.
Used adb to pull the system image, this time including the block size bs=4096.
Odin installed UCKH7 stock plus root again (so about phone would show UCKH7). Installed Mobile Odin. Flashed factoryfs.img. Flash failed. Phone still reports Gingerbread.UCKH7.
Mobile Odin rebooted into recovery and then the text goes by really fast, but it essentially printed quickly Clearing... Flashing... and then immediately rebooted. I think this is about the same experience that I had with the Odin flashable tar before. If the system partition was going to install, it would take at least a couple of minutes to write half a gig of info to the phone.
So, bad factoryfs.img? Is there any point in even making a tar and checking it out?
I'm at a loss. This should have worked shouldn't it?
Maybe Entropy will pitch in with some helpful advice.
creepyncrawly said:
So, bad factoryfs.img? Is there any point in even making a tar and checking it out?
I'm at a loss. This should have worked shouldn't it?
Maybe Entropy will pitch in with some helpful advice.
Click to expand...
Click to collapse
I've had mixed results using mobile odin. I had a soft brick once trying to flash a kernel. I would try making an actual odin tar image and try flashing that way. That's the way I do it.
There is a good thread in the international SGS2 forums on creating an odin tar. You'll need Cygwin on your computer (assuming you're on windows).
Here's the short "How to" version:
To create a flashable Odin package, you need to pull all of the files off of the phone/sdcard and onto your computer.
Open a Cygwin and change directory to where you are storing your ROM dumps.
Run the following commands to build a package. Be sure to use identifiable names with versions or dates:
$ tar -H ustar -c factoryfs.img modem.bin zImage > package_name.tar
$ md5sum -t package_name.tar >> package_name.tar
$ mv package_name.tar package_name.tar.md5
Include what images you want after the "-c" and before the ">".
A second opinion is always good!
Why not nand and just pull factoryfs.img that way
Indeed.. You could. That would work too.
UPDATE: I just pulled mine. I reflashed to my old UCKH7 build (wiped and flashed just the basics) and back to my new UCKK6 build plus all my data, etc. It all seemed to work.
jivy26 said:
Why not nand and just pull factoryfs.img that way
Click to expand...
Click to collapse
I've never lived in linux land, so I don't have the background to quickly grasp this. I know nand is our phone's memory, but what does your statement mean? I'd appreciate it if you could explain a little. I'd be happy with something to study, but I don't even know what to look for.
creepyncrawly said:
I've never lived in linux land, so I don't have the background to quickly grasp this. I know nand is our phone's memory, but what does your statement mean? I'd appreciate it if you could explain a little. I'd be happy with something to study, but I don't even know what to look for.
Click to expand...
Click to collapse
On the rooted system I assume you have CWM as well. If that is the case go into CWM backup your phone then boot up the phone. Mount SDCARD and navigate to Clockworkmod > backup > then whatever date and time you backed up and you will see factoryfs.img in there as well as other img files.
jivy26 said:
On the rooted system I assume you have CWM as well. If that is the case go into CWM backup your phone then boot up the phone. Mount SDCARD and navigate to Clockworkmod > backup > then whatever date and time you backed up and you will see factoryfs.img in there as well as other img files.
Click to expand...
Click to collapse
Jivy,
I'm not sure on yours, but my folders only have 3 tar files (cache.ext4.tar, data.ext4.tar, system.ext4.tar) and a 2 img's (boot and recovery). They are each only 8mb. The tar files have all the data. They reflash fine in CWM, but they are not odiin compatible.
Also for the non-rooted system try this, assuming you have Android-sdk installed.
Plug phone into PC with usb debugging enabled.
Download busybox here
Put it on c:\
Run CMD with Admin privileges.
Below are the commands you will type in CMD. For below I am assuming your SDK is in the same location as default, if not just change as neccessary.
cd\
cd program files
cd android-sdk
cd platform-tools
adb devices (to make sure your phone shows up)
adb push busybox /data/local/busybox
adb shell
cd /sdcard
chmod 755 /data/local/busybox
/data/local/busybox tar cvf stock_unrooted.tar /system
Click to expand...
Click to collapse
Once its done you can mount sdcard and the tar with system will be there waiting
jivy26 said:
On the rooted system I assume you have CWM as well. If that is the case go into CWM backup your phone then boot up the phone. Mount SDCARD and navigate to Clockworkmod > backup > then whatever date and time you backed up and you will see factoryfs.img in there as well as other img files.
Click to expand...
Click to collapse
Oh. nand for nandroid backup. It does not contain factoryfs.img. It has system.ext4.tar which contains the directory sturcture and contents of system in the file system, not a partition image.
creepyncrawly said:
Oh. nand for nandroid backup. It does not contain factoryfs.img. It has system.ext4.tar which contains the directory sturcture and contents of system in the file system, not a partition image.
Click to expand...
Click to collapse
Misunderstood what your goal was. Like earlier mentioned you need to have:
Code:
dd if=/dev/block/mmcblk0p9 of=/sdcard/factoryfs.img bs=4096
That wont flash in odin you still need to make it 512M so quick run down in linux
Download this http://dl.dropbox.com/u/53644280/ext4_utils.zip
So you can view contents of .img
Code:
mkdir tempdir; mount -o loop factoryfs.img tempdir
To repack img w/ 512M
Code:
./mkuserimg.sh -s /some/directory/ ./factoryfs_custom.img ext4 ./temp 512M
Then making a TAR ball. *Just included everything i've normally seen in one*
Code:
tar -c boot.bin factoryfs.img hidden.img modem.bin param.lfs zImage >> PDA.tar
jivy26 said:
Also for the non-rooted system try this, assuming you have Android-sdk installed.
Plug phone into PC with usb debugging enabled.
Download busybox here
Put it on c:\
Run CMD with Admin privileges.
Below are the commands you will type in CMD. For below I am assuming your SDK is in the same location as default, if not just change as neccessary.
Once its done you can mount sdcard and the tar with system will be there waiting
Click to expand...
Click to collapse
Kewl. That non-rooted dump will include the busybox directory though won't it? On a rooted system, it would capture the root tools too I expect.
Only, when developers provide a package like Entropy's Return/Unbrick to stock packages, or DesignGears original One-Click downloader for Captivate, those packages contain partition images, not file system images. I would really like to learn how to dump the system partition so that it can be used to create Odin flashable tar files.
Thanks for your input.
creepyncrawly said:
Kewl. That non-rooted dump will include the busybox directory though won't it? On a rooted system, it would capture the root tools too I expect.
Only, when developers provide a package like Entropy's Return/Unbrick to stock packages, or DesignGears original One-Click downloader for Captivate, those packages contain partition images, not file system images. I would really like to learn how to dump the system partition so that it can be used to create Odin flashable tar files.
Thanks for your input.
Click to expand...
Click to collapse
I posted that before I knew what your intentions were. The above would give you a stock /system in .tar . Since busybox is stored in data/local not system/xbin, it wont be in that tar. So you'd have a stock /system, but not the .img you're looking for.
jivy26 said:
Misunderstood what your goal was. Like earlier mentioned you need to have:
Code:
dd if=/dev/block/mmcblk0p9 of=/sdcard/factoryfs.img bs=4096
That wont flash in odin you still need to make it 512M so quick run down in linux
Download this http://dl.dropbox.com/u/53644280/ext4_utils.zip
So you can view contents of .img
Code:
mkdir tempdir; mount -o loop factoryfs.img tempdir
To repack img w/ 512M
Code:
./mkuserimg.sh -s /some/directory/ ./factoryfs_custom.img ext4 ./temp 512M
Then making a TAR ball. *Just included everything i've normally seen in one*
Code:
tar -c boot.bin factoryfs.img hidden.img modem.bin param.lfs zImage >> PDA.tar
Click to expand...
Click to collapse
When I pulled the system image using the above dd command including the bs=4096, the resulting file did come out 512M. It still didn't flash.
So do I need a linux box to do this? Don't have one of course. I've been making the tar files on my phone in Terminal. Can I do the above commands on the phone?
creepyncrawly said:
When I pulled the system image using the above dd command including the bs=4096, the resulting file did come out 512M. It still didn't flash.
So do I need a linux box to do this? Don't have one of course. I've been making the tar files on my phone in Terminal. Can I do the above commands on the phone?
Click to expand...
Click to collapse
Never tried from phone. Cygwin is an option to run linux scripts and what not in windows, but not sure if it can handle the above mentioned.
jivy26 said:
Never tried from phone. Cygwin is an option to run linux scripts and what not in windows, but not sure if it can handle the above mentioned.
Click to expand...
Click to collapse
OK. I'll play around with it and see what happens. Really appreciate the help.
I know this has been posted but since it was long ago and *nobody replied*, here it is:
There are no FULL rom for the 4.0US. Of course you can use the bootloaders from the international version and the factory image that has been posted here, but both don't go without issues. The only stock image we have is the kernel from package2.3.5.
So to fix those issues, I am asking if one of you with stock rom could be so kind as to post a factory.rfs file and (this is including everybody) the other files (sbl, param, boot etc)
I don't think it matters if it is rooted or not (factory.rfs), I am looking at something that is *fully* functional. I'll provide you with tutorials, just ask for it
Thank you!
I'll be happy to post it but where do I look for the files so I can post it. And fyi I am running root stock atm
Sent from my YP-G70 using xda premium
Ben456 said:
I know this has been posted but since it was long ago and *nobody replied*, here it is:
There are no FULL rom for the 4.0US. Of course you can use the bootloaders from the international version and the factory image that has been posted here, but both don't go without issues. The only stock image we have is the kernel from package2.3.5.
So to fix those issues, I am asking if one of you with stock rom could be so kind as to post a factory.rfs file and (this is including everybody) the other files (sbl, param, boot etc)
I don't think it matters if it is rooted or not (factory.rfs), I am looking at something that is *fully* functional. I'll provide you with tutorials, just ask for it
Thank you!
Click to expand...
Click to collapse
You have a US YP-G1 no? You can make a dump of your partitions to make a recovery solution!
Ok, first, I was wrong, you have to be rooted. Then, either from adb from your computer or from a terminal emulator in your device, you have to type:
dd if=/dev/block/stl9 of=/sdcard/factoryfs.rfs bs=4096
No personal data is on this backup. This file can be flashed with heimdall so you can stop there or if you have linux, you can make a tar+md5 file to flash wth odin:
tar -H ustar -c factoryfs.rfs > package_name.tar
md5sum -t package_name.tar >> package_name.tar
mv package_name.tar package_name.tar.md5
if you don't have linux, just post factoryfs.rfs and i'll make it to a tar file.
Note: There may be other ways to do a an image without being rooted, I'll check if you are not rooted.
A HUGE THANKS!!
You have a US YP-G1 no? You can make a dump of your partitions to make a recovery solution!
Click to expand...
Click to collapse
No I can't since I have flashed my device with package2.3.5.tar that was posted here some time ago, which is the only working image we have to date, but there are some issues with this. I also can't post my boot loaders since I have flashed them with the international version. They work, but I can't enter recovery mode or download mode without a jig or access to an adb shell. All those flashes were made in the process of unbricking my device.
Hi Ben,
I had made a backup of my ROM before trying to install Steve's kernel. I used the same 'dd' command you mention in your instructions. The kernel install went OK, but when I ran CWM backup, I got into a boot loop and had to restore to the package_us2.3.5.tar.md5 that's been circulated around. This was a few weeks ago.
I've tried using the steps to run tar and md5sum on two separate Linux installs using my backup and have created what appears to be a valid .tar.md5 file, according to ODIN. But when I try to flash the .tar.md5 file, it passes MD5 checksum OK, ODIN reports NAND write start, but then fails immediately and I'm left with having to reflash package_us2.3.5.tar.md5 to get it to work again. Looking at my factory.rfs binary and comparing it to the factory.rfs in package_us2.3.5.tar.md5 seems to indicate that it's mostly similar, but there are binary differences. Headers look similar though.
So I'm not sure what I've done wrong in either (a) creating the backup image, or (b) creating the .tar.md5 file, or (c) flashing the .tar.md5 file. But the net result is that it won't flash successfully. So I don't think sharing my factory.rfs as it is will help you.
Here are some tips that my help troubleshoot issues.
1. The MD5 sum part is not neccessary, you can just put the factoryfs.rfs in a tarball and flash it.
2. You can loop mount a factoryfs.rfs in linux by creating an empty dir and running "mount -o loop -t auto factoryfs.rfs empty_dir"
3. It should be possible to reverse the dd command to restore the partition. ie "dd if=/sdcard/factoryfs.rfs of=/dev/block/stl9 bs=4096" (if I were going to do this I would use adb in recovery mode and root is required )
4. If you have a CWM backup, you should be able to to pull files out of the backup if you need to restore files manually. Files should be located on external sdcard in "clockworkmod/backup/"somedatestuff"/system.rfs.tar
It seems to me that what Ben456 wrote up there should have worked. Hope this helps.
I just learned how to dump my factoryfs.rfs file. This is dumped from my brand new Samsung Galaxy Player 4.0 (YP-G1CWY/XAA) right after I opened it from the box. It should be 100% clean.
I uploaded it here. Let me know if it works.
http://www.sendspace.com/file/6fzfdg
Here is the recovery rom I just uploaded. I really hope this works.
http://www.sendspace.com/file/1y2ogi
I created a thread for it here.
Hi guys, I could successfully unpacked and repacked system.img on 4.0.4 for my Galaxy S III by learning from xda, add root files, delete unnecessary system apps, etc, and using "tar -cvf ...." to make an tar pack to flash with ODIN, thx to all xda developpers.
But when I did this again on new GSIII 4.1.1 firmwares like DI2, My phone jammed in the 2nd screen, could someone help me?
Here is what I did on 4.1.1 firmwares in Ubutu, just like what I did on 4.0.4
1. unpack system.img from tar files
2. exchange system.img to system.img.ext4 in Ubutu
3. unpack system.img.ext4 with
Code:
mkdir systest; mount -o rw,loop system.img.ext4 systest
oh just forget the folder name.
4. modify the files in systest folder blablabla
5. repack system.img from systest folder using
Code:
sudo mkuserimg.sh -s systest systest-new.img ext4 temp 1536M
6. then make a new tar file to flash with recovery.img, hidden.img etc.
This tar file could be flashed with ODIN successfully, but like I said above, my phone didn't response in the 2nd screen with Samsung logos, I've wiped userdata in stock recovery but it didn't work.
Then I didn't modify any files, just unpack and repack system.img, flash it with ODIN, my phone remains the same
Could someone kindly to figure it out what I did wrong on new 4.1.1 firmwares? Is it about Samsung file format in 4.1.1?
Oh no replies until now...:crying:
I tested other 4.1.1 firmwares, unpack and repack system.img, then zip into new tar file, flash it, also stuck on the Samsung Logo with vibration
but it worked on all 4.0.4 firmwares
Well, as the title sugests, I've tried to root my phone (Samsung Galaxy J1 SM-J100MU) and failed. Since no twrp or any other custom recovery is made for my specific model, I tried the method that involves mounting the android systems and modifying the famous build.prop, or putting su binaries inside the /system folder.
I ran an unpack script from ubuntu to decompress the boot file, and simg2img to be able to mount /system following some guides I've found, and made use of mkbootimg to repack it and flash it.
The thing is that the phone won't boot because the modified boot image size differs from the original. The system also differs but Odin won't even flash it and I'll have to reflash the stock rom.
Any ideas about what it can happen? I get no apparently errors during the process of unpacking/repacking the images so I don't know. The only thing I can think of is that the unpack script says something like "There's an extra file in ramdisk; though this file can exist, the script is not made for this type of ramdisk", so I edited the script in order to skip this warning, and everything else went well. The bootimg got unpacked and then the ramdisk and then I modified default.prop.
Well, that's it, I hope you can understand and give me some help in order to proceed.
Thank you in advance.