How to convert to ext4 - G1 Q&A, Help & Troubleshooting

Hi, my problem is as follows: I have an ext3 partition and I have no idea how to convert it to ext4 as there aren't any scripts to automate it (at least I didn't found one). Can anyone help?

Suggest not doing it yet. not all ROMS support it.

Yes but there are some of them, which support so... what should I do?

What ROM are you using?
What recovery image are you using?
Do you have a linux install on any machine?
Assuming you do not have a Linux install already I would get a bootable Linux CD (Jaunty bootable would be fine), put the micro SD in a card reader, then convert from there.
http://buranen.info/?p=345
the short version is
Code:
tune2fs -O extents,uninit_bg,dir_index /dev/<partition>
I believe cyanogen's recovery image has the capability as well. For that matter his ROM has the disk tools, only problem there is the fact that you need to have the partition unmounted during the process. Therefore my opinion is if you are really set on updating to EXT4, then get a bootable Linux CD.
EDIT:
Yes Cyanogen's recovery image has e2fsprogs, so you could do it from there http://forum.xda-developers.com/showthread.php?t=523558 I still stick with my original recommendation of a Linux install and a card reader.

OK thanks, I'll try that. I have latest Cyanogen, recovery 1.3.1, I don't have linux, but I have an Ubuntu 8.04 LiveCD, latest SPL and radio with ext3 and linux-swap on SD. Thanks again, I'll post back results.

8.04 won't have ext4 support. So you will need to do it either from the recovery console or get a 9.04 disk.

Related

Repartition Linux swap

Hi, ive searched around but cannot seem to find a complete answer, but basically is there a way to just repartition my linux swap from 32MB to 96MB.
I dont have a linux cd and so if theres a way to do it through ADB or recovery, that would be great.
Thanks.
D3NNY said:
Hi, ive searched around but cannot seem to find a complete answer, but basically is there a way to just repartition my linux swap from 32MB to 96MB.
I dont have a linux cd and so if theres a way to do it through ADB or recovery, that would be great.
Thanks.
Click to expand...
Click to collapse
i'll give you the short answer then i will edit this post with the long answer
short answer.
you use the resize command in parted on your ext3 and linux-swap partition. if you have used parted from the recovery console a few times before this will be easy but i will post through instructions in a minute
Long answer
go into the recovery console. (recovery screen then last option)
then type (if you want to use adb just type adb shell then do the commands)
Code:
parted /dev/block/mmcblk0
print (you will need the start and end points for your ext3 and linux-swap partitions)
resize 2 [start point] [end - 64mb]
resize 3 [start - 64mb] [end]
print (to verify it worked)
quit
upgrade_fs
reboot
there you go.
I have not tested the resize command on an ext3 partition but i do not think (key word think) it will destroy your data on ext3, but back up just to make sure.
to back up your ext3
with adb (since i assume you have it from the first post)
Code:
adb pull /system/sd [dir on computer]
to restore on empty card
Code:
adb shell mkdir /system/sd
adb push [dir on computer] /system/sd
thanks for the great reply. Will test out now and see what happens!
Can anyone verify if this works?
My only concern is the resizing of ext3. Will it cut out any data since I am shortening the partition?
mr_roboto said:
Can anyone verify if this works?
My only concern is the resizing of ext3. Will it cut out any data since I am shortening the partition?
Click to expand...
Click to collapse
Yes, it works. And yes it *can* corrupt/delete some data from the ext3 depending on how much extra space you have. To be safe, just back-up. The easiest way is doing a BART or switchrom backup (Which backs up you ext) move the backup from the FAT partition to a computer (not necessary but you seem worried about your ext, so just to be safe) resize the partitions and restore your backups.
or just use amon recovery
Thanks for the response guys, I went and started reading about switchrom.
I am planning to do the following steps:
switchrom.sh -s // to store my rom
resize my partitions
switchrom.sh -r
The thread says it stores the nandroid and the app data, I am assuming that means nandroid and ext partition right?
D3NNY said:
Hi, ive searched around but cannot seem to find a complete answer, but basically is there a way to just repartition my linux swap from 32MB to 96MB.
I dont have a linux cd and so if theres a way to do it through ADB or recovery, that would be great.
Thanks.
Click to expand...
Click to collapse
I don't think this is the same, but I am running a hero rom and was wondering what "swappiness" is? I keep reading stuff like "swappiness of 96mb", etc. Is this just referencing the linux swap file size? and with me running a hero rom, what is the best setup for my SD card? I am currently running simply a fat32 partition and an ext3- thanks

[MOD] data and dalvik to SD (ext partition)

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?

[Proof of concept] Everything2SD

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

Remove Bad Sectors on /system

Hi Guys,
I guess I have a lot of bad sectors on my N1.
After installing CM 7 + gapps I have only 19.4 KB free (add to that I have removed most of the built in ringtones from the media folder) in the /system partition.
Does anyone else have problems with bad sectors, and are there any ways to get rid of these. Also now that I have them, how do i minimize them coz I guess a day will come when I may not be able to flash CM
Regards,
Munchy
You can try formatting the system partition (with clockwork or temasek's extreme wipe). If that doesn't work, hook the phone up to a Linux machine and use gparted to repair the partition. You can run Linux from a live CD on windows...
danger-rat said:
You can try formatting the system partition (with clockwork or temasek's extreme wipe). If that doesn't work, hook the phone up to a Linux machine and use gparted to repair the partition. You can run Linux from a live CD on windows...
Click to expand...
Click to collapse
I was waiting for you and the Doc to answer.
Well I already have Ubuntu on dual boot, can you guide me how to use gparted.
Also, I wiped using Amon_Ra, should I give a try using CWM, also please point me to temasek's extreme wipe.
thanks
Amon doesn't wipe the system partition, so you should try clockwork our temaseks extreme wipe.
Here's a link to the later (flash through recovery)...
http://db.tt/fH1vZNM
If that doesn't work, we can give gparted a shot...
danger-rat said:
Amon doesn't wipe the system partition, so you should try clockwork our temaseks extreme wipe.
Here's a link to the later (flash through recovery)...
http://db.tt/fH1vZNM
If that doesn't work, we can give gparted a shot...
Click to expand...
Click to collapse
all right buddy , will try temaseks and PM you in case I need help on gparted
The "extreme wipe" doesn't do a low-level format of the system, just a standard high-level format, it won't force it to recheck sectors marked as "bad". I don't believe that's possible without using external hardware.
knightnz said:
The "extreme wipe" doesn't do a low-level format of the system, just a standard high-level format, it won't force it to recheck sectors marked as "bad". I don't believe that's possible without using external hardware.
Click to expand...
Click to collapse
Any idea how this can be done with Ubuntu? I'm having a hard time mounting the /data partition to Ubuntu. Is this even possible?

NookHD+ can't mount emmc; can't fully boot from SD recovery

Perhaps someone can help. I've read a lot of the great content here but I've hit a wall.
A few weeks ago my ovation device was running cm11+cwm but began random rebooting. Clearing the cache+dalvik only helped briefly.
I tried an upgrade with a twrp 3.0.0.0 (using the amazing multiboot recovery SD), but it hung formatting the cache partition (I waited about an hour). Tried again, same thing.
I used adb shell to fix a blank file system type on the cache partition but was only successful in creating an ext2 partition there. I got cm13 booting but it trebuchet kept crashing. I tried twrp again and flashing a different image and tried a factory reset. Big mistake.
Now when I try to boot any recovery SD it doesn't boot all the way. Using adb shell, my dmesg shows that umount is hanging. No emmc partitions seem to be mounted. The partition data exists in dmesg but calls to parted hang. Mkfs.ext4 also hangs (naturally).
So I've lost the ability to fully boot recovery SDs (they are probably hanging when they try to mount the emmc partitions). As such I can't flash a recovery. I have a clockwork backup that has a system.ext.tar file in it, but I don't know how to use it at this point.
I can't mount /rom so I'm worried.
Is my emmc shot? Is there any way to tell?
Thanks!
Would a noEMMC SD be safe?
I guess what I was hoping to do was use adb to completely wipe and restore the device to a sane state, which would include repartitioning and formatting the emmc partitions. Is that possible? Maybe not at this point.
I guess another question would be: if my NookHd+ emmc is technically working but currently unrecoverable, is it possible for me to safely use a NOemmc SD card? There seem to be some warnings about those wrecking emmc but I can't find any technical explanation as to why.
Based on further diagnostics, my emmc is one of the faulty Samsung models and so I think the crashes and ultimate recovery failures were the failure of the emmc.
I've successfully installed 10.1 noEMMC on one microsd. Runs Okay but a lot of apps I am interested in don't work on android from this vintage.
I tried to install 4.4.4/CM11 noEMMC but it can't mount the necessary partitions as per the install process on the iamafanof Wordpress page. I also see SELinux errors in the twrp recovery log. Does anyone know how to overcome this mount issue that apparently impacts some people.
Assuming there are others out there who find this useful, I have some updates.
I was determined to figure out why the CM11 NoEMMC was not working for me but CM10.2 noEMMC works fine. I get the error that many others get: unable to mount /boot, /data, /system.
I used adb shell to connect to the twrp 2.8.0.0 that runs when you boot the CM11 noEMMC SD boot/install image and compared the Linux system differences between that and the system you can see connected to the cwm 6.0.4.? That runs when you boot the CM10.2 noEMMC SD boot/instal image.
First things first: cm10 noEMMC remaps the internal emmc as /dev/block/emcblk1 and the external microsd card slot as blk0 (this is swapped from the norm and correct for a situation where you want to install to the SD as though it were the internal device).
CM11 noEMMC does not do this. I think that the author assumed that if your emmc is bricked then the system won't see your /dev/block/emmcblk0 at all so your external sdcard will take over that number. Clearly that's true for some, but it's not true for me.
I also began poking around the post boot script (in /sbin) to see how the cm11 noEMMC prepares the partitions on the Sd card and to see what Command it uses to create the data partition
Here's the kicker. I was able to mount my emmc rom partition and copy off all that data with an adb pull. I was able to initialize the cache partition (9) as a blank ext4 partition. I was even able to initialize the user partition (10) as ext4... Though I'm not sure that's right. I began mounting partitions and got greedy and tried to mount the whole partition map and it failed.
So, there's something wrong with (at least) one of my partitions. When recovery tries to mount the partitions, mount hangs and recovery fails to fully load. The noEMMC sd card got me around this because it doesn't try to mount any of the emmc partitions let alone all of them.
So, does anyone know if I can make new file systems on every partition and if by luck I'm able to get a twrp or cwm to fully load, will flashing a stock recovery put data on all those partitions?
Thanks
Sorry to resurrect this thread, But it exactly speaks to my issue. You mention that the blk0 and blk1 devices need to be switched for cm11 image to mount partitions properly. Does anyone know specifically where this might be done. Can files of the existing nov4 cm11 image be altered to reverse these two devices?
CalculonsTalent said:
Assuming there are others out there who find this useful, I have some updates.
I was determined to figure out why the CM11 NoEMMC was not working for me but CM10.2 noEMMC works fine. I get the error that many others get: unable to mount /boot, /data, /system.
I used adb shell to connect to the twrp 2.8.0.0 that runs when you boot the CM11 noEMMC SD boot/install image and compared the Linux system differences between that and the system you can see connected to the cwm 6.0.4.? That runs when you boot the CM10.2 noEMMC SD boot/instal image.
First things first: cm10 noEMMC remaps the internal emmc as /dev/block/emcblk1 and the external microsd card slot as blk0 (this is swapped from the norm and correct for a situation where you want to install to the SD as though it were the internal device).
CM11 noEMMC does not do this. I think that the author assumed that if your emmc is bricked then the system won't see your /dev/block/emmcblk0 at all so your external sdcard will take over that number. Clearly that's true for some, but it's not true for me.
I also began poking around the post boot script (in /sbin) to see how the cm11 noEMMC prepares the partitions on the Sd card and to see what Command it uses to create the data partition
Here's the kicker. I was able to mount my emmc rom partition and copy off all that data with an adb pull. I was able to initialize the cache partition (9) as a blank ext4 partition. I was even able to initialize the user partition (10) as ext4... Though I'm not sure that's right. I began mounting partitions and got greedy and tried to mount the whole partition map and it failed.
So, there's something wrong with (at least) one of my partitions. When recovery tries to mount the partitions, mount hangs and recovery fails to fully load. The noEMMC sd card got me around this because it doesn't try to mount any of the emmc partitions let alone all of them.
So, does anyone know if I can make new file systems on every partition and if by luck I'm able to get a twrp or cwm to fully load, will flashing a stock recovery put data on all those partitions?
Thanks
Click to expand...
Click to collapse
Could you please teach me how to mount EMMC partitions and retrieve data specially /factory partition with ADB?
I can only boot my Nook HD+ with with bootable SD card with TWRP or CWM.
Thanks.

Categories

Resources