Related
OK, I'm going to stop polluting other threads with my stuff.
This should help make sure I can keep up on the discussions and provide support for people trying to use my ZIPs and/or scripts.
NOTE: This version requires JACs kernel and init.d mods. Flash his stuff, then flash mine. All this will be integrated at some point and any other dev is welcome to integrate my stuff with theirs.
In addition to the JAC kernel, you need an ext partition on the EXTERNAL SD card. DO NOT USE ROM MANAGER TO PARTITION. You will get into a boot loop and will have to Odin back to stock. For partitioning, you may use "adb shell" in clockwork recovery, an old G1/Mytouch with Amon-Ra/Clockwork, a computer with a card reader and GPartd, Paragon, etc.. If you do it with fdisk, don't forget to format the partitions, here are some sample commands.
This will format an ext2 partition.
Code:
/system/bin/mke2fs /dev/block/mmcblk1p2
Convert from ext2 to ext3
Code:
/system/bin/tune2fs -j /dev/block/mmcblk1p2
Convert ext3 to ext4
Code:
/system/bin/tune2fs -O extents,uninit_bg,dir_index /dev/block/mmcblk1p2
fsck, any ext version. Do this when you are done converting between types.
Code:
/system/bin/e2fsck -fpDC0 /dev/block/mmcblk1p2
For all of the above, make sure the partition isn't mounted with "mount". You also have to have already flashed either this ZIP, or my e2fsprogs-ext4 ZIP for the files to be installed in /system/bin.
This version will clean up older versions that I know about. It will remove any use of the playlogos hack, and the older version of my script that JAC included in his kernel.
Quadrant - 1722. I have also not seen any lag from this change. I've tried some apps that make heavy use of the database, and so far it's performing quite well. If you do see problems, I suggest fsck on the ext partition, and perhaps formatting it, to ensure it's nice and clean.
Please note that benchmark results will vary based on a large number of factors beyond my control. Try with a clean phone, no background apps. A faster SD card will help as well. I am using an older Transcend 8GB Class 6 that I used to use on my G1. It doesn't help that the free Quadrant tests lots of stuff, not just activity on /data/data and such.
To see if it's working, open a shell and type "mount". You should see entries like this:
Code:
/dev/block/mmcblk1p2 on /sd-ext type ext4 (rw,noatime,nodiratime,barrier=1,data=ordered)
/dev/block/mmcblk1p2 on /data/dalvik-cache type ext4 (rw,noatime,nodiratime,barrier=1,data=ordered)
/dev/block/mmcblk1p2 on /data/data type ext4 (rw,noatime,nodiratime,barrier=1,data=ordered)
Added data-only ZIP and the disable/revert ZIP.
Added auto-partition ZIP to create 1GB ext3 partition automatically. Note that this will delete ALL SD contents.
Added old-style enable-dc2sd for users of the auto-partition script. Do not use for JAC kernels, use the current dc2sd instead.
Changelog:
8/9/2010: Added loopback style version, should find prior versions and remove them, copying your data from the /sd-ext partition.
v2.
Compatibility fix for JAC -6 kernel.
v1.
Added e2fsprogs w/ext4 support to the ZIP
Better integration with init.d layout
On boot fsck to ensure that the ext partition is kept clean
Automatically copy files if /data has larger directories than /sd-ext
Test versions that should fix busybox to work with the newer JAC kernels. -loop uses the loopback filesystem method (RyanZA style). The other one is for an ext partition on the external SD card.
Feel free to post direct links or links to the kernel thread.
For some reason, the convetr to ext4 command isnt working for me.
Just says "Tune2fs 1.41.6" then back at # prompt
GREAT RESOURCE - Deserves a sticky just for the conversion syntax
EDIT: Maybe not, it said mounted as an ext3 before, now it says ext4
EDIT2: SUCCESS!!!!! EXT4 gives a major boost to the Quadrant score - 1531. WAY better than the~1100 i was getting before. Stupid G1 didnt actually convert ext3 to ext4, even though it said it did. Thanks!
Not that I'm stressin over Quadrant scores, but I just dropped ~100 (previous was 1497) after flashing this. Ah well.
Hmmm, before applying this script, I was just using JAC's v5 kernel, which worked fine, but after applying the OP's script, I cant backup in Clockwork (again lol).
It doesnt seem to mount /data and /datadata, as it only backs up /system and errors out on the other two. Any idea why?
EDIT: The error is really random, Ive now had 2 successful backups, 2-3 that failed due to mount issues, and 2-3 that failed due to MD5 issues. I would like to narrow down the possibilities, and I attempted a restore to stock, rooted, and then used JAC's kernel, same issue occurs (did not use your newest script). That being said, I dont think its your script. (stumped)
When converting to ext4 it said "please run e2fsck on the filesystem"
EDIT: Ran "mount" and it shows same messages you do. So it worked
LovellKid said:
When converting to ext4 it said "please run e2fsck on the filesystem"
EDIT: Ran "mount" and it shows same messages you do. So it worked
Click to expand...
Click to collapse
It's supposed to say that. Do it.
Glad it's working for some of you. As for nandroid, no idea. I'll install jac latest and check it out. Can't think of much I could have done to it though, I can't mod the ramdisk this way.
+1 on the nandroid, I went back and tried and couldnt. Also, tried to flash anamolous deodexed ROM and wouldnt. Gave errors e: cant mount /dev/block etc and failed. Could this be related?
LovellKid said:
+1 on the nandroid, I went back and tried and couldnt. Also, tried to flash anamolous deodexed ROM and wouldnt. Gave errors e: cant mount /dev/block etc and failed. Could this be related?
Click to expand...
Click to collapse
I doubt it, my stuff doesn't run in recovery, at least I don't think it will. I've never seen it run. I'll look into it, but it sounds like the jac mod might have an issue with nandroid right now.
There was a similar issue on the g1 with cm6. I wonder if that fix will work here...
Could you also post the Just DATA, and revert scripts in this thread please
Also, what would be the proper flashing order for just data?
1. JAC init.d
2. reverse
3. Just data
Or do I have to flash init.d, apply kernel, then reboot and flash reverse then just data?
The_Chrome_Coyote said:
Could you also post the Just DATA, and revert scripts in this thread please
Also, what would be the proper flashing order for just data?
1. JAC init.d
2. reverse
3. Just data
Or do I have to flash init.d, apply kernel, then reboot and flash reverse then just data?
Click to expand...
Click to collapse
Added revert and data-only to the OP.
If you don't have any sd-ext hack installed right now:
1. JAC init.d
2. data-only ZIP
3. reboot to download mode and flash the JAC kernel
If you already have dc2sd installed:
1. Revert ZIP
2. JAC init.d ZIP
3. Data-only ZIP
4. reboot to download mode and flash the JAC kernel
If you already have the kernel and the JAC init.d:
1. Revert ZIP
2. Data-only ZIP
I am trying to revert this fix, so I can try the new hack involving a virtual EXT2 partition. I tried the revert, and I manually deleted the a2sd and dc2sd files in init.d, but it rebuilds data when I reboot. ANy ideas?
zimphishmonger said:
I am trying to revert this fix, so I can try the new hack involving a virtual EXT2 partition. I tried the revert, and I manually deleted the a2sd and dc2sd files in init.d, but it rebuilds data when I reboot. ANy ideas?
Click to expand...
Click to collapse
You likely have a script in /system/etc/init.d doing it, or you didn't clean the old playlogos stuff up.
FWIW, I'm working on a similar way of doing it, but with ext4 and a proper init script. I don't like using ext2 for this stuff, too easy to corrupt it.
Does your new loop script require an sdcard with ext 4 partition or does it use the internal sd card?
ttabbal said:
You likely have a script in /system/etc/init.d doing it, or you didn't clean the old playlogos stuff up.
FWIW, I'm working on a similar way of doing it, but with ext4 and a proper init script. I don't like using ext2 for this stuff, too easy to corrupt it.
Click to expand...
Click to collapse
Thanks for your work! I found your dc2-loop-v1 script. Will play w/ that until you come out w/ something better. Is EXT2 really that fragile in terms of corruption when it is virtualized within a journaled file system (which I believe RFS is)
frank707 said:
Does your new loop script require an sdcard with ext 4 partition or does it use the internal sd card?
Click to expand...
Click to collapse
This loop version doesn't use an ext partition. Just the loopback mount. It will copy the files from an ext partition if you have applied that hack.
zimphishmonger said:
Thanks for your work! I found your dc2-loop-v1 script. Will play w/ that until you come out w/ something better. Is EXT2 really that fragile in terms of corruption when it is virtualized within a journaled file system (which I believe RFS is)
Click to expand...
Click to collapse
Most file system journals don't help with the data just the structure. Rfs rides on vfat, so I doubt it's worth much that way.
Gave the dc2-loop script a shot, to convert from the /SD-EXT method to this new ext4 container method. It creates the container correctly, but never seems to copy everything over. All my apps act as if i've never started them up, so Data isnt getting copied over correctly.
EDIT: Tried again, the dc2-loop script def doesnt work, and I have no idea why. It looks perfect (code-wise), but for whatever reason doesnt end up working properly
can't get your loop script working. every other one i have been able to run flawlessly. i just flashed the oc kernel by jac. any further instructions or pre reqs?
I noticed more people are having same issue as me and I wanted to create a thread to find the solution.
I was running CM7 RC4 / OC 40311 - It was running fine and one day system hung and so I rebooted and that was it.
Symptom :
System boots and pass the "Touch the future Reading" and displays "ANDROID _" on the bottom of the screen and after 10-15 sec it reboots and loop this process.
Things I tried so far :
CWR 3.0.0.5
- Repratition to stock nook.
- Getting error when I try to format system and data - I thought it was because CM7 was setting system to ext4.
- ADB and DD boot.img, System.img and copy Factory to mmcblk0p3
- Try to restore from back up I made
- Nothing works but goes back to boot loop
CWR 3.0.0.6 - One I got from CM7 install to emmc thread
- System format works
- Install latest nightly
- Restore from back up
- ADB can't find device - This is odd and couldn't find a way to fix it yet.
- Tried to install Stock zip but going back to CM7 boot loop
CWR 3.0.1.0
- Can't format data/system
- ADB to delete partitions and create them again but it doesn't help
- Tried all zip files to bring it back to stock - no go
- ADB to copy Factory.zip to emmc partition - umount and mount again then file I copied is gone.
- Deleted partitions and reboot but some how I got back to CM7 loop
If you are having same issue please post and share your experiences so we can find the solution!!!
tuxhacker said:
Symptom :
System boots and pass the "Touch the future Reading" and displays "ANDROID _" on the bottom of the screen and after 10-15 sec it reboots and loop this process.
Click to expand...
Click to collapse
This means the kernel is loading, and most likely the init.encore.rc is running as well. Have you tried grabbing a log from adb logcat? Or perhaps checking if the shell works?
tuxhacker said:
Things I tried so far :
CWR 3.0.0.5
- Repratition to stock nook.
Click to expand...
Click to collapse
How are you repartitioning?
tuxhacker said:
- Getting error when I try to format system and data - I thought it was because CM7 was setting system to ext4.
Click to expand...
Click to collapse
What is the error?
tuxhacker said:
CWR 3.0.1.0
- Can't format data/system
Click to expand...
Click to collapse
Again- if its getting an error, what is that error? Have you tried formatting manually?
tuxhacker said:
- ADB to delete partitions and create them again but it doesn't help
Click to expand...
Click to collapse
Errors? Logs?
You have to be more specific.
- I was flashing "repartition-boot-with-stock.zip" also tried to delete the partitions using fdisk - from adb shell
- And I was getting "Error formatting / system!" and "Error formatting /Data!" from CWR format system and format data
I also tried to format it manually using "mke2fs /dev/block/mmcblk0p1,2 and 3..."
And could you please tell me how to get the log?
Thank you.
have you tried booting off an cwr 3.0.1.0 bootable sd card and formatting reinstalling?
john10101 said:
have you tried booting off an cwr 3.0.1.0 bootable sd card and formatting reinstalling?
Click to expand...
Click to collapse
Yes I have. I tried several times. It seems like my nook is a read only device now. It won't take any changes.
tuxhacker said:
Yes I have. I tried several times. It seems like my nook is a read only device now. It won't take any changes.
Click to expand...
Click to collapse
unpossible!
chisleu said:
unpossible!
Click to expand...
Click to collapse
Here's one example. I did this from CWR 3.0.1.0.
- Mount mmcblk0p3 to emmc
- Copied factory.zip to emmc
- ls -l /emmc to check the new file
- umount /emmc
- Mount /emmc again
- ls -l as you can see old file date again.
Code:
~ # mount -w /dev/block/mmcblk0p3 /emmc
mount -w /dev/block/mmcblk0p3 /emmc
~ # mount
mount
/dev/block/mmcblk0p3 on /emmc type ext2 (rw,errors=continue)
~ # exit
C:\Program Files\Android\android-sdk\platform-tools>adb push factory.zip /emmc
3779 KB/s (168335604 bytes in 43.492s)
C:\Program Files\Android\android-sdk\platform-tools>adb shell
~ # ls -l /emmc
ls -l /emmc
-rw-rw-rw- 1 root root 168335604 Apr 17 04:06 factory.zip
drwx------ 2 root root 12288 Oct 23 05:27 lost+found
-rw-rw-rw- 1 root root 2567 Nov 17 22:27 rombackup.zip
~ # umount /emmc
umount /emmc
~ # mount /dev/block/mmcblk0p3 /emmc
mount /dev/block/mmcblk0p3 /emmc
~ # ls -l emmc
ls -l emmc
-rwxrwxrwx 1 root root 168332495 Nov 11 23:35 factory.zip
drwx------ 2 root root 12288 Oct 23 05:27 lost+found
-rw-rw-rw- 1 root root 2567 Nov 17 22:27 rombackup.zip
~ #
May I ask why you had to mess around with the partitions at all?
lechiffre said:
May I ask why you had to mess around with the partitions at all?
Click to expand...
Click to collapse
It was keep rebooting itself so I was trying to reflash CM7 but didn't work. Next I was going back to stock to start over and that didn't work. Found one thread about DD boot.img, system.img and factory.zip to mmcblk0p3 then 8 failed attempt to restore to stock. etc...
I'm sure that while I was trying to fix I made more mess.
I did adb logcat and got the permission denied error.
Code:
C:\Program Files\Android\android-sdk\platform-tools>adb logcat
- waiting for device -
- exec '/system/bin/sh' failed: Permission denied (13) -
Did you try going into clockwork recovery and using the fix permissions option?
tuxhacker said:
It was keep rebooting itself so I was trying to reflash CM7 but didn't work. Next I was going back to stock to start over and that didn't work. Found one thread about DD boot.img, system.img and factory.zip to mmcblk0p3 then 8 failed attempt to restore to stock. etc...
I'm sure that while I was trying to fix I made more mess.
Click to expand...
Click to collapse
I still don't get why you decided the partitions were faulty.
This might not help you now but might help others in you situation. IMO the process should be when you encounter bootlooping:
1. Reflash current OS using CWR 3.1.0 uSD.
2. If Step 1 fails, using CWR 3.1.0 uSD: format /system /data /cache. Attempt to install CM7. If CM7 install fails, attempt to install stock.
3. ***Requires a a working CWR backup which should contain your original boot partition***
If Step 2 fails, using CWR 3.1.0 uSD: format /system /data /cache and /boot. Restore stock /boot partition only via advanced restore. Attempt to install CM7 or stock.
4. ONLY if the previous steps fail should you even touch any partition tool. I've never had to use any, but I've never messed with the partitions in the first place (ie double booting off eMMC).
Just wanted to share that getting stuck on the boot screen may not have anything todo with what or how you've flashed.
On a fresh install/flash of CM7 I can reboot just fine as many times as I want. As soon as I restore all my apps and reboot I get stuck on the boot screen.
So SOMETHING amongst all the apps I have backed up gets me stuck on the boot screen. Really don't want to go through a reboot for each app one at a time though
FIXED - wipe battery status in CWM
This problem seems to occur when the battery runs out, Nook is plugged in and then it hangs at "the future..."
So to fix this problem, boot into CWM (using CWM for SD) and go to Advanced-Recovery and Wipe Battery Status. Remove the CWM SD and go back to the root menu and reboot.
Your CM7 would boot now just fine. I don;t know what the problem is yet, but that seems to fix it. It saved me from reinstall.
the Nook gets into this state only when the battery is completely drained.
TuxHacker, did you ever resolve your issue of what seems to be the internal memory being in a write-protected state? I'm in the exact same boat you are but instead of CM7 I got CWR 3.0.0.5 installed on my boot and brianf's custom froyo installed.
I agree it seems like the device is now write protected as I've mounted boot/system/media and deleted everything in there, ls'd to double check, but once I remount, all the old stuff is back there again.
I also tried using samuelhalff's NookUMC app to mount all the partitions in windows, deleted everything, and upon remount, all the files are back. The NookUMC app was the one I initially used to copy a bunch of mp3's and vids to the media partition in the first place and now this partition behaves as if it was write-protected as well.
lechiffre said:
I still don't get why you decided the partitions were faulty.
This might not help you now but might help others in you situation. IMO the process should be when you encounter bootlooping:
1. Reflash current OS using CWR 3.1.0 uSD.
2. If Step 1 fails, using CWR 3.1.0 uSD: format /system /data /cache. Attempt to install CM7. If CM7 install fails, attempt to install stock.
3. ***Requires a a working CWR backup which should contain your original boot partition***
If Step 2 fails, using CWR 3.1.0 uSD: format /system /data /cache and /boot. Restore stock /boot partition only via advanced restore. Attempt to install CM7 or stock.
4. ONLY if the previous steps fail should you even touch any partition tool. I've never had to use any, but I've never messed with the partitions in the first place (ie double booting off eMMC).
Click to expand...
Click to collapse
I can't speak for TuxHacker, but mucking around with the partitions seems to be a last ditch effort to at least *change* anything on the device. I've followed a few guides on here about showing the partition table and mine matches a stock partition table. I haven't gotten around to actually modifying any of the partitions yet though...
In all of your steps, the first sub-step is to format one or all of /system /data /cache /boot. This is precisely the step that fails for us with "Error Formatting /system!" or any of the others The only CWR that it doesn't fail on is CWR 3.0.0.6, but any flashes don't take, the NC just reverts back to what it was just before the system decided to go read-only.
I'm running off SD now but that is a pretty crappy experience... if anyone can fix the mess we got ourselves into I will def buy that guy a cold one!
drazil22 said:
In all of your steps, the first sub-step is to format one or all of /system /data /cache /boot. This is precisely the step that fails for us with "Error Formatting /system!" or any of the others The only CWR that it doesn't fail on is CWR 3.0.0.6, but any flashes don't take, the NC just reverts back to what it was just before the system decided to go read-only.
I'm running off SD now but that is a pretty crappy experience... if anyone can fix the mess we got ourselves into I will def buy that guy a cold one!
Click to expand...
Click to collapse
Yes. And on CWR 3.0.0.6 I can't connect via ADB so can't do much with it. On CWR 3.0.1.0 and CWR 3.0.0.5 I can connect via ADB but can't format. I tried all the ADB connect tips and tricks but no go.
I think it coubd be a permission issue since I get - exec '/system/bin/sh' failed: Permission denied (13) - when I tried ABD logcat while its rebooting.
I'm also running off SD now and it is really bad.
I'm in the same boat as you guys and I just wanted to add my two cents.
I've tried multiple times to use the partitioning tools that drazil22 is talking about, but every time I reboot, the partitions come back. What is weird is that while I'm still in adb, after I've written the partition table back to the device, is that it shows the new partition table when I tell it to print it out. I can exit all the way out of adb and, unless I've rebooted my nook, the partitions are back to the way they were. However, once I reboot my nook, the partitions come back...
I've gone as far as deleting every single partition and then rebooting just so that I could have a brick to take back to B&N, but the stupid partitions keep coming back...
lol that's what I was thinking too... brick the thing and get the store to reflash it, as someone else with a bricked nook did. I think the store must have another utility or device to reflash it back to stock.
The weird thing is any changes I make stay for the session until I unmount. I tried to copy the system.img and boot.img which is a little over 500MB to the /media partition (mmcblk0p8) but because I filled it with mp3's and videos, only about 200MB was free and of course the adb push errored out saying not enough space. I then navigated to the /media partition, deleted a bunch of videos and was able to adb push the two files over. I was also able to run the dd commands and got the expected results. Upon reboot, of course nothing got dd'd, the two .img files I copied to /media were gone, and the videos I deleted to free up space were back!
I was also hoping that with the new B&N update to 1.20, they might have released a flashing utility but I guess that was wishful thinking...
Edit: one other peculiar thing I noticed is that when I use adb when booted into CM7 (using the SD), it shows the serial number as 11223344556677. When I use adb booted up using the CWR on my boot partition, or with a bootable SD, it shows the actual serial number written on the sticker behind the sd cover.
getllamasfast said:
I'm in the same boat as you guys and I just wanted to add my two cents.
I've tried multiple times to use the partitioning tools that drazil22 is talking about, but every time I reboot, the partitions come back. What is weird is that while I'm still in adb, after I've written the partition table back to the device, is that it shows the new partition table when I tell it to print it out. I can exit all the way out of adb and, unless I've rebooted my nook, the partitions are back to the way they were. However, once I reboot my nook, the partitions come back...
I've gone as far as deleting every single partition and then rebooting just so that I could have a brick to take back to B&N, but the stupid partitions keep coming back...
Click to expand...
Click to collapse
This is odd, but I dont think this is limited to CM7 as I've seen it happen with different phones running AOSP. Over on the Evo there was numerous accounts of peoples devices suddenly rebooting and then getting stuck in a bootloop, all partitions seemed to be corrupted including the recovery partition and there was absolutely no way to write to the system anymore. Complete booting brick. No one was able to find the cause and no one was able to find a fix.
RileyGrant said:
This is odd, but I dont think this is limited to CM7 as I've seen it happen with different phones running AOSP. Over on the Evo there was numerous accounts of peoples devices suddenly rebooting and then getting stuck in a bootloop, all partitions seemed to be corrupted including the recovery partition and there was absolutely no way to write to the system anymore. Complete booting brick. No one was able to find the cause and no one was able to find a fix.
Click to expand...
Click to collapse
I really hope this isn't true...
On an unrelated note: Do you think that B&N would notice if I microwaved my nook for a few seconds?
The basic idea of this mod is moving all partitions to the SD card, and running the full OS from the SD card.
There are many reasons why not to do this and probably is a bad idea, but the main reason behind this mod is just a proof of concept that can potentially result in a better internal and external memory utilization and speed improvements.
Reasons I can think of for not doing this:
- Reduced responsiveness and overall speed.
- Over stress on the SD card that can potentially leed to permanent damage to the card.
- The need to use modified boot and recovery images, thus leading to an install incompatible with any rom update (as it is) out there.
- Reduced battery autonomy.
- Many more I can't think of right now.
Reasons to do this:
- Because we can.
- As a proof of concept.
- For developing purposes.
- We get the ability to switch between 2 installations just by switching the SD card (of the same rom or roms with compatible boot images: kernel+ramdisk).
Don't do any of this if you don't know what you are doing!!!
Simplified steps (I've only tested this with Mik's CM7 (betas 6.2 and 6.3) + ClockWorkMod recovery on a Ubuntu machine):
- Download and flash ClockWorkMod recovery.
- Download and flash Mik's CM7.
- Do a full backup from recovery.
- Turn the phone off.
- Take out the SD card and put it on a Card reader on your PC.
- Backup the SD Card contents (including the full backup).
- Use Gparted (or any partition manager that has support for ext4 partition creation) to create the following partition structure:
Code:
num mount point size type
1: /sdcard REST fat32
2: /data 500M ext4
3: /system 190M ext4
4: /cache 64M ext4
The partition number is important, so you should calculate the fat32 partition beforehand or resize the existing one.
- Put new boot and recovery images on the fat32 partition. *
- Put the card on the phone and boot into recovery.
- Mount the sdcard trough menu.
- Connect the phone to your pc and start adb shell.
- Flash custom boot and recovery images:
Code:
flash_image boot /sdcard/boot-everything2sd.img
flash_image recovery /sdcard/recovery-everything2sd.img
- Reboot recovery.
- Through menu, mount all partitions.
- Connect trough adb shell and copy your data:
Code:
adb shell
cp -a /int-cache/* /cache/
cp -a /int-system/* /system/
cp -a /int-data/* /data/
- In adb shell, remove the sd_ext mount script:
Code:
rm /system/etc/init.d/05mountsd
- Reboot the phone.
Off course, no other method of storing the apps on the SD is desired as they are already there.
* I've attached custom boot and recovery images for Mik's CWM and CM7 beta 6.2 (updated boot images to Mik's CM7.02 beta 6.3 in post #3), but, the steps for creating them are next:
- Extract the original images (boot.img and recovery.img) from the root of the downloaded zips (signed-recovery.zip and cyanogen_thunderg-ota-eng.mik.zip).
- Unpack the images following this guide: HOWTO: Unpack, Edit, and Re-Pack Boot Images: Alternative Method (Perl scripts are attached, you'll need compiled mkbootfs and mkbootimg for your OS).
- On recovery ramdisk, change the etc/recovery.fstab file as follows:
Code:
# mnt pnt fstype device [device2] [fstype2]
/boot mtd boot
/cache ext4 /dev/block/mmcblk0p4
/data ext4 /dev/block/mmcblk0p2
/misc mtd misc
/recovery mtd recovery
/sdcard vfat /dev/block/mmcblk0p1 /dev/block/mmcblk0 ext4
/system ext4 /dev/block/mmcblk0p3
/int-cache yaffs2 cache
/int-data yaffs2 userdata
/int-system yaffs2 system
- On boot ramdisk, change the init.rc file as follows (diff output):
Code:
[email protected]:~/Descargas/bootimages$ diff boot.img-orig_ramdisk/init.rc boot.img-ramdisk/init.rc
22d21
< export SD_EXT_DIRECTORY /sd-ext
68,69d66
< mkdir /sd-ext 0771 system system
<
100,103c97,100
< mount yaffs2 [email protected] /system
< mount yaffs2 [email protected] /system ro remount
< mount yaffs2 [email protected] /data nosuid nodev
< mount yaffs2 [email protected] /cache nosuid nodev
---
> mount ext4 /dev/block/mmcblk0p3 /system
> mount ext4 /dev/block/mmcblk0p3 /system ro remount
> mount ext4 /dev/block/mmcblk0p2 /data nosuid nodev
> mount ext4 /dev/block/mmcblk0p4 /cache nosuid nodev
- Recreate the ramdisks and images following the guide posted above, changing the mkbootimg command line to (notice the base and cmdline parameters; for recovery, change boot to recovery on all instances):
Code:
mkbootimg --base 0x12800000 --cmdline 'mem=471M console=ttyMSM2,115200n8 androidboot.hardware=thunderg' --kernel boot.img-kernel --ramdisk boot.img-ramdisk.gz -o boot-new.img
Ahaha another sleepless night ahead to test this out. Any Quadrant Advanced I/O score for comparison?
I've updated boot images to Mik's CM7.02 beta 6.3, attached below.
I'm going to run a Quadrant Advanced and let you know. Anyway, I don't think I will get good results, as my SD card is cheap and buggy, half the time it doesn't get mounted, with or without this mod. Also, I think we'll get better scores with your tweaks, especially with the modded libsqlite.so.
The idea behind this is not to get impressive results or leave it as a definitive mod (as it is right now). Instead, the idea I have is to start moving some things back to the internal memory, for instance, mounting [email protected] as /data/dalvik-cache (just an idea). Basically, leaving the things that need fast reading times, but infrequent writes in the SD, and the things that are constantly being written to, in the internal memory.
Seems awesome. I already booted up perfectly with the modded .imgs, no issues.
so what class of sd card do you preffer?
still class 4 above?
well, sorry about what im going to say , but if **** happened and luckily sd card got corrupted, then the phone does as well?
ive not read all of your first post,
but if ever we are changing sd cards, like example upgrading from 4g-8g,
is it necessary to repeat the whole process or copy paste is enough?(i bet not due to ext)
cmangalos said:
so what class of sd card do you preffer?
still class 4 above?
well, sorry about what im going to say , but if **** happened and luckily sd card got corrupted, then the phone does as well?
ive not read all of your first post,
but if ever we are changing sd cards, like example upgrading from 4g-8g,
is it necessary to repeat the whole process or copy paste is enough?(i bet not due to ext)
Click to expand...
Click to collapse
If **** happened you could mount it in a computer with a card reader and perform a disk check + recovery. If the sd card broke, well.. I think there's still hope, since you may boot in recovery and replace the mount points back to the internal memory ( right ? )
As for the storage upgrade, well, it's not exactly copy-paste but you should be able to duplicate the partitions without much hassle..
I really like this idea,we could get 3000+ quadrant score
But can be potentially dangerous. If anything goes wrong i think that Phone can't boot anymore.
how abt two separate roms in 6 separate partitions ???? is the bootloader cracked ??? Can we have a grub like menu to select two roms ???Way 2: Maybe somebody cud mod android's initramfs and add options there to select two different fstabs ...just a thought
a dual boot would be cool... one rom on the internal nand memory and the other on SD card...
Having fastboot disabled is such a pain in the ass...
ciaox said:
I really like this idea,we could get 3000+ quadrant score
Click to expand...
Click to collapse
Not me, because my SD card is very buggy. Anyway, it depends very much on the card, the card reader and the kernel. Anyway, it's just a proof of concept and it opens a great window for experimentation.
ciaox said:
But can be potentially dangerous. If anything goes wrong i think that Phone can't boot anymore.
Click to expand...
Click to collapse
Not at all, recovery can boot even if the SD card is damaged or not present. Then you can flash the original recovery, boot it and flash any ROM without this mod.
Steps:
- Extract recovery.img from your desired custom recovery.
- Boot recovery.
- Mount /int-cache from mounts and storage menu.
Code:
adb push recovery.img /int-cache/recovery.img
adb shell
flash_image recovery /int-cache/recovery.img
- Reboot recovery
- Flash desired ROM from any SD card.
OR: Just flash an original (released by LG) ROM through emergency mode.
sarfaraz1989 said:
how abt two separate roms in 6 separate partitions ???? is the bootloader cracked ??? Can we have a grub like menu to select two roms ???Way 2: Maybe somebody cud mod android's initramfs and add options there to select two different fstabs ...just a thought
Click to expand...
Click to collapse
Bootloader isn't cracked yet, so it would have to be implemented on the boot.img (kernel and/or ramdisk), and I don't know how. Right now is easier to swith SD cards. Anyway, ROMs should be able to share boot.img (kernel + ramdisk).
ciaox said:
Having fastboot disabled is such a pain in the ass...
Click to expand...
Click to collapse
+1. But bootloader isn't cracked yet.
Just a little heads up, but if anyone is paying attention to the Nook Color development, this is exactly how the boot process on that device works, I am running one os off the sd card and if I remove it I am back to stock. The main point of my brining this up is you create the sd card with all it's partitions by flashing an image of the sd card with the WinImage application on windows. Might at least save you some steps. Hope this helps.
tsukisan said:
Just a little heads up, but if anyone is paying attention to the Nook Color development, this is exactly how the boot process on that device works, I am running one os off the sd card and if I remove it I am back to stock. The main point of my brining this up is you create the sd card with all it's partitions by flashing an image of the sd card with the WinImage application on windows. Might at least save you some steps. Hope this helps.
Click to expand...
Click to collapse
Possibilities seem to be limitless.
Sent from my LG-P500 using Tapatalk
Hi all,
Tearing my hair out here (and I have SFA left anyway)
My Father-in-law's SGS i9000 seems to have real issues. Initially problem I was having was that there was an app I could not uninstall- it would reappear on reboot. I initially suspected malware or such, but it appears to be a real problem with the internal memory. I had MIUI installed on it, but wanted to change to a more stock ROM.
First time I really started to worry was when I found that every time I put a new rom onto the internal sdcard, it disappeared at reboot (and thus wasn't there to install when rebooted into CWM)
Since then, haven't had a functioning phone.
adb push to sdcard still not persistent on reboot.
Cannot flash new ROM with ODIN either, although KERNEL changes, filesystem no longer mounts.
I think the version of MIUI I was using used an ext4 lagfix, as inside an adb shell, I can see the partitions:
parted /dev/block/mmcblk0
a "print" lists two partitions:
Number Start End Size Type File system Flags
1 32.8kB 14.4GB 14.4GB primary fat32 lba
2 14.4GB 16.4GB 2013MB primary ext4 lba
rm 1, rm 2
to try to delete the partitions and start again- doesn't work. Nothing happens
If I load partition 2 into parted:
parted /dev/block/mmcblk0p2
print
Model: Unknown (unknown)
Disk /dev/block/mmcblk0p2: 2013MB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 2013MB 2013MB ext4
Can;t check any partitions as ext4 isn't supported by parted.
I cannot remove any partitions, reformat them or anything.
e2fsck errors as it cant read superblock flags on any of the partitions.
Any other ideas? Anyone?
I don't want to toss the phone out
http://forum.xda-developers.com/showthread.php?t=845708
i dont know if this will help u but u can try this guy instruction. See link above
compacity said:
http://forum.xda-developers.com/showthread.php?t=845708
i don't know if this will help u but u can try this guy instruction. See link above
Click to expand...
Click to collapse
If that worked, it would have been just what I was looking for
I googled the hell out of this problem, and that one never came up, but others I'd seen led me to try that same plan.
Where it fails on my device, is that deleting the partitions in "parted" fails- rm1 followed by rm 2 to delete the partitions. "Print" reveals they're still there.
Any other partition tools worth trying?
I got it back to square one:
Flashed kernel thru Odin with a version of CWM that worked.
reboot into recovery.
Flash update from SDcard- card contents still the same, so could re-flash MIUI.
reboot, bootloop. Re-enter CWM recovery and reflash.
Back to Square One - MIUI 1.12.16 (JVK)
Cannot install anything - nothing is persistent after reboot, even WIFI settings disappear
If it is any help to anyone who knows what they're talking about:
Now that MIUI boots I can look at the filesystem better.
Can anyone point me in the direction of what I should be looking for/trying to do to figure out what is wrong here?
try finding solution here, its PIT stop for i9000 problem
http://forum.xda-developers.com/showpost.php?p=30415128&postcount=1
Mine seems to be a bit tougher than these solutions can deal with.
Tried assorted ROMs over past day. No install works.
Cannot install anything from internal memory, as nothing dropped into that card will remain after a reboot.
Installing anything from an external card just throws up bootloops etc- as the only thing that seems to be able to retained between boots is the kernel/CWM.
If I install a new ROM, first flash says partition table is incompatible and /data will be overwritten (no problems, nothing on it). I accept the inevitable and re-select the ROM.
Reboot bootloops, as expected, reboot into CWM (now a new version with the Kernel), try reflashing the ROM image- Error 0 or 7. Try from External Memory- same. Try sideloading image. Same. All I can do is re-flash the MIUI image on internal SDcard (which works)
It looks like the internal memory refreshes itself from a recovery image at each boot? (I think).
Anyway- can't get anything to stick, except MIUI
edit:
http://forum.xda-developers.com/showthread.php?t=761537&page=3
http://forum.xda-developers.com/showthread.php?t=1230059&page=3
hav u try this 2 link as this is da only thread matches ur MBR problem
compacity said:
did u try any jb kernel out there? as its also ext4 n push it using adb. juz a suggestion though.
Click to expand...
Click to collapse
Good suggestion Logical
I'd thought that also- The JB kernels should support ext4.
No joy though
The version of CWM recovery that is stable with the MIUI install is 5.0.2.7, and it doesn't have any voodoo/lagfix options
When I flash a kernel with a CWM with lagfix, and try to use the CWM lagfix toggles, nothing changes.
Doesn't matter what I select inside CWM, it reads the status from memory as "Lagfix on, Debug off"
The reason I asked about ext4 tools in ADB is that running filesystem commands in a shell just throws up errors I can't seem to fix.
e2fsck just throws up superblock errors (on both /dev/block/mmcblk0 and the partition /dev/block/mmc0p2.
Defining one of the backup superblocks doesn't help- they're all bad.
"parted" doesn't work anymore (i note it isn't in /sbin, so I am picking this kernel doesn't install it), but even when I did have it, "parted" doesn't support ext4. Using "rm" to remove a partition did exactly nothing.
Starting to think the only way forward would possibly be flashing a custom .pit file to define partitions that move the data off an obviously bad block? Above my skill level however LOL
refresh browser see my post above again
Hello,
I'm quite new in android development, so sorry for dumb question.
I have new GT-S6102 (because of dualsim setup) and I'd be quite happy with the stock firmware (S6102XXMA2) if it wasn't of the 160M memory. What I'm trying to do is to modify init.rc in bootimage to mount /data on 4G second partition of my SDCard instead of 160M /dev/stl11.
I'm using a Ubuntu 12.04 machine for my experiments.
I've copied /dev/block/bml7 from my phone using ADB, extracted it using abootimg.
First (and I hope that main) trouble is that when I try to update the boot.img (abootimg -u boot.img -r initrd.img), even without modifying the ramdisk, the resulting image has few different bytes near the beginning of the file. Anyway when I flashed it back to phone, it booted normally.
Then I unpacked the ramdisk (using steps from here) and modified init.rc:
Code:
mount ext4 /dev/block/mmcblk0p2 /data nosuid nodev crypt check=no
# mount rfs /dev/stl11 /data nosuid nodev crypt check=no
I have a 32G uSD card with 28G FAT and 4G EXT4 primary partitions.
Then I've repacked it, made new boot.img, flashed with ODIN and it made a nice bootloop with Samsung bootanimation without usual sound.
What am I doing wrong?
Is this modification even possible?
Thanks for advice
P.S.
I've tried to extract the boot.img from S6102XXMA3_S6102DBTMA1_S6102XXMA2_HOME.tar.md5, but 7zip on Windows and TAR on linux complain that it isn't valid archive.
jelinek.01 said:
Hello,
I'm quite new in android development, so sorry for dumb question.
I have new GT-S6102 (because of dualsim setup) and I'd be quite happy with the stock firmware (S6102XXMA2) if it wasn't of the 160M memory. What I'm trying to do is to modify init.rc in bootimage to mount /data on 4G second partition of my SDCard instead of 160M /dev/stl11.
I'm using a Ubuntu 12.04 machine for my experiments.
I've copied /dev/block/bml7 from my phone using ADB, extracted it using abootimg.
First (and I hope that main) trouble is that when I try to update the boot.img (abootimg -u boot.img -r initrd.img), even without modifying the ramdisk, the resulting image has few different bytes near the beginning of the file. Anyway when I flashed it back to phone, it booted normally.
Then I unpacked the ramdisk (using steps from here) and modified init.rc:
Code:
mount ext4 /dev/block/mmcblk0p2 /data nosuid nodev crypt check=no
# mount rfs /dev/stl11 /data nosuid nodev crypt check=no
I have a 32G uSD card with 28G FAT and 4G EXT4 primary partitions.
Then I've repacked it, made new boot.img, flashed with ODIN and it made a nice bootloop with Samsung bootanimation without usual sound.
What am I doing wrong?
Is this modification even possible?
Thanks for advice
P.S.
I've tried to extract the boot.img from S6102XXMA3_S6102DBTMA1_S6102XXMA2_HOME.tar.md5, but 7zip on Windows and TAR on linux complain that it isn't valid archive.
Click to expand...
Click to collapse
OK, so it seems that I´ve managed to work it out at last.
The unpacking and repacking of bootimage was all right, trouble was in updating only the init.rc and probably using ext4. What I have done:
I replaced all mentions of mounting /dev/stl11 on /data by mounting /dev/block/mmcblk0p2 (that was in files fota.rc, init.rc, init.charge.rc, res/recovery.fstab). In res/recovery.fstab I also changed formatting type from rfs16 to rfs32 so it supports my 4.5G partition.
Then I flashed the bootimg in my phone and formatted the data partition in recovery (that was the only way to make it rfs I've found).
Maybe it would all work with changing the format and mount type to ext4, but I hoped for as little modification as possible.
Now it reports 4.25GB free space after all my apps are installed, hurray .
I have just to remember to never boot it up without SDcard inserted. Maybe it would work as a possibility to borrow the phone to somebody with another card.
The boot.img came from S6102XXMA3_S6102DBTMA1_S6102XXMA2_HOME.tar.md5, if someone wants to try it, it is here . It probably wouldn't touch the original /data partition, so it might be possible to try it and undo it by flashing original boot.img. It just requires to have a second primary partition on SDcard and formatting it in recovery before first boot.
i didnt know to do that boot "compiling" like u did, quite good for you, im using cronmod int2ext , i have 850mb internal. i use 'pimp my rom' to get init.d support.