Related
Hi all,
Here are my findings about how to boot android from an SD card, useful for example to test development Android builds without messing your phone. This procedure was inspired by legacy GNU/Linux boot process and then should work on most hardware with a flashable recovery.
########################################
I can't stress enough the fact that this procedure is targeted to experienced user. A good knowledge of linux/android booting process is more than required. This procedure is not meant to be useful to most people given its limitations (no recovery mode, rebuild of boot.img required)
########################################
I won't propose a step by step tutorial as it's better to understand how to do it and adapt the procedure to each need.
Two modifications are required:
1. Declare to mount sd card partitions instead of internal flash volumes. This has to be done in the init.rc script.
For example:
mount yaffs2 [email protected] /system
mount yaffs2 [email protected] /system ro remount
with
mount ext2 /dev/block/mmcblk0p6 /system
2. For some reasons, in the boot process, sd card partitions generally show up later than the mount actions, so it is generally necessary to add a timer in init binary to give to to the kernel to detect sd card partitions before mounting them (adding a sleep(5) after the "A N D R O I D" text in init.c is enough).
Build your special boot.img embedding those two modifications and flash it on the recovery volume of your phone. Now, booting into recovery will launch the system on your sd.
Regards,
I would like to report success on booting the G1 from a system located on sd card (cyanogenmod 4.2.7.1). I will describe the procedure step by steps when every thing is okay.
There is just an issue that you might have encountered during cyanogenmod ROM cooking, all wireless connexions (wifi, BT, GSM) do not work. The same system on flash if okay. I made a diff on boot log messages and the only notable difference is this error :
E/MemoryHeapBase( 83): error opening /dev/pmem_gpu0: Permission denied
E/MemoryHeapBase( 83): error opening /dev/pmem_gpu1: Permission denied
E/MemoryHeapBase( 83): error opening /dev/hw3d: Permission denied
I tried to chmod 0555 /dev/pmem* with no success.... Any idea ?
Although I finally managed to have a usable system, this work is still experimental. Please fell free to test and report success, failures here so I can improve the thing.
Let's see how we can boot a copy of cyanogen ROM 4.2.7.1 located on sd card. The main purpose is to test future ROMs (eclair ?) without messing up your phone...
DISCLAIMER : This procedure is targeted to experienced user. I am not responsible if you loose your data, your phone or your Mom !
Prerequisites are :
- adb and fastboot operationnal on your host computer
- Boot image file boot.img :
http://www28.zippyshare.com/v/19654421/file.html
- files data.cpio.gz, system.cpio.gz (data.cpio.gz and system.cpio.gz are unmodified images of a fresh install of cyanogen ROM that fit the modified boot.img) from :
http://www15.zippyshare.com/v/57489279/file.html
http://www15.zippyshare.com/v/13077582/file.html
1.
Create 3 partitions on sd card. The first one (vfat) is to store your music, videos etc. The second and the third will hold /data and /system. Result shoul look like this :
# fdisk /dev/block/mmcblk0
Command (m for help): p
Disk /dev/block/mmcblk0: 1977 MB, 1977614336 bytes
64 heads, 63 sectors/track, 957 cylinders
Units = cylinders of 4032 * 512 = 2064384 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 864 1741792+ c Win95 FAT32 (LBA)
/dev/block/mmcblk0p2 865 903 78624 83 Linux
/dev/block/mmcblk0p3 904 957 108864 83 Linux
Command (m for help):
2.
Copy data.cpio and system.cpio on the first partition of your sd card.
3.
Connect to your device with adb :
adb shell
4.
Mount mmcblk0p2 on temporary folder and extract user.cpio.gz archive :
mkdir /dev/tmp
mount /dev/block/mmcblk0p2 /dev/tmp
cd /dev/tmp
gunzip -c /sdcard/data.cpio.gz | cpio -i
cd /
umount /dev/tmp
5.
Mount mmcblk0p3 on temporary folder and extract system.cpio.gz archive :
mount /dev/block/mmcblk0p3 /dev/tmp
cd /dev/tmp
gunzip -c /sdcard/system.cpio.gz | cpio -i
cd /
umount /dev/tmp
6.
Reboot the phone in bootloader :
adb reboot bootloader
7.
Boot the phone with custom boot image :
unzip boot.img.zip
fastboot boot boot.img
Reports are welcome !
I haven't tried this, but great idea. Well done.
Maybe a nice additional idea would be a boot-menu style idea. Eg, detect OS on mem card and display a menu of "Internal" or "SD Card"?
I'm on it but as it will imply flashing people's phone, I need more testing and suggestions from experienced hackers. I only own my G1 for 5 days...
I acytually just started a thread about this in the Dream development subforum!
Some suggestions:
-Use a recovery image to boot the ROM on the sd card (look at modifying the CM recovery image) if this is possible. This way, you can boot from sd card when you want to, by booting into recovery image, without interfering with the flashed rom at all. No worries that flashin a new rom will require a reflash of your bootloader. Also, you can use the ROM installed in flash after a reboot without any hassle, which would be very useful when testing a ROM from the SD if it doesn't work very well and you need a working phone.
-Have the /data and /system-partition as folders on the 4th partition on the SD card, or as logical volumes on a primary one. Why?
Well, many people have their sd-cards set up with fat, extX, swap in that order. The partition layout you have described here simply isn't compatible with that, and will require a separate SD card just for this testing (which everyone might not have).
I must say, I think this is a GREAT idea! I so often want to test a few ROMS, but often they don't get the test-time they deserve because I need to swicth back to my working environment for job/uni the day after. This would be a great way to test a ROM thoroughly. And also it would be the best way to give a ROM a quick testdrive. switchroming back and forth is, for all its simplicity, hassle.
Using the recovery is the only way I found at the moment to boot from the sd card and was about to extend cm recovery with a dedicated menu Nevertheless, there will be a limitation with that: it will not be possible to use a different kernel for the system on sd as it will have to use the kernel of the recovery... Anyway, many custom roms around here use cm kernel (even those I saw with eclair) so it is not so problematic I think (tested Eugene373 AOSP20 yesterday). Anyway, it is possible to adapt the recovery with a test kernel...
I think I found a workaround for sd partitionning scheme pb, using bind mounts but I have not tested already. I will work on it this WE.
If I remember correctly you can use the command "reboot recovery" from the recovery shell to reboot again into recovery. It could mean that it is possible to choose what (kernel) to boot after the reboot. Even cyanogenmod has made quite a few changes to the kernel since the recovery image came out, and I think it would not be a very good solution to use the same kernel as the recovery image for all ROMs loaded via SD. (Especially the Hero ones won't work at all, I'm afraid.
It could also be possible maybe, to tweak the built-in bootloader into booting form either SD-card or from the internal flash? It already has the possibility to boot different things on different keypresses (home for recovery mode, and camera for fastboot). I have (again) no idea of its capabilities for reading anything off of the sd card, though.
I get your point naguz . I am not satisfied either with the solution of using the recovery kernel to boot the system on sd. I found that it adds quite much complexity to the init process: I tweaked the recovery executable to add an entry to boot from sd but I faced troubles in services startup and pre-init definitions. I think that the solution of using the recovery menu to choose to boot from sd have to be abandoned as it will require heavy additional changes to the init.rc scripts of the second system and will break its advanced features.
The ideal solution (as you suggested) would be to tweak the bootloader to boot natively from the sd card but unfortunately, we do not have the sources of the SPL (tell me if I am wrong) so it is definitely not possible.
The remaining solution is to use the recovery partition to flash the boot image of the second system. I works well, just press the home key and the second system boots ! The drawback is that you do not have recovery any more... Personnaly, I don't find that so problematic as I is still possible to boot a recovery image with fastboot when needed, so I think I will stick to this solution. I somebody have another solution, I am ok to investigate...
Aha, it makes sense that booting the sd directly from recovery mode would mess something up. I would think some of the same problems would be faced when booting the kernel from the recovery partiotion, doesn't it look like a different device to the kernel? Well, if it works, it works.
Regarding the source of the SPL, I have no idea, but I know hyakuro (a (former?) user here) has released a modified one. Trying to get in touch with him
As for the latest method: Is the recovery partiotion big enough to hold both the recovery image AND the kernel? If so, one could maybe have both. Maybe make a new "recovery image" that can either boot from sd or boot recovery image? Just throwing out ideas here.
Personally I don't see the big problem with not having a recovery image, as I would (in a dual-boot scenario) already have another, working install on the flash that I could use if the one booted from sd wasn't good enough. Re-flashing the recovery image could also be done from the working ROM in flash, for those without the SDK tools.
I think, however, that quite a few people will object to not having a recovery image.
Btw, was your latest working test done with one (4th) partition on the sd card for loading the ROM from SD? If so, new instructions please. I'd like to give it a try.
I think that it is technically impossible to boot directly from the sd, even with the sources of the SPL as drivers are required to drive the sd that can not be included in a SPL. It is the same issue on PC with PCMCIA network cards for instance. IPL+SPL has to be seen more or less like a simple BIOS...
The recovery partition size is not a matter her. The problem is the lack of control over what has to be booted as the only action we can make in the SPL is the HOME key to choose a regular boot or a recovery boot (the system on SD here). I think I have a good knowledge now of the boot process and I think we can not got further than that, despitely...
I am now trying to have /data and /system on the same partition, mount them on /mnt and bind mount each directory on /system and /data but with no succes . investigating....
Okay, bind mounting was a dumb idea of mine. The solution is to create an extended partition with 2 logical drives in it, so partitions are:
[1-3] FAT and/or EXTX and/or swap as needed (I have personnaly just one partition here)
4 extended
5 ext2 for /data
6 ext2 for /system
Now its time to bake a boot.img with the kernel of the system on the sd card + the ramdisk. I do not explain how to do that, google knows :
1.
In the ramdisk image, put my modified init program attached hereater
2.
In the init.rc script, change the lines that mount /data and /system :
mount yaffs2 [email protected] /system
mount yaffs2 [email protected] /system ro remount
with
mount ext2 /dev/block/mmcblk0p6 /system
and
mount yaffs2 [email protected] /data nosuid nodev
with
mount ext2 /dev/block/mmcblk0p5 /data
Flash boot.img on the recovery and reboot in recovery... That's all.
Jahrome,
Trying the idea on the HTC has a subtle difference. So I'm curious what change you put in the /init process.
Lets say the image one wants to use is the 'eclair' branch. This branch uses vold, so the block device, such as '/dev/block/mmcblk0p#', does not appear to be created until the vold service is started, which is after the init.rc mount operations. So the mount proposed does not work.
Curious what changes you made to the init process that might give me some ideas of what might be the simplest change. It seems that there is a relatively easy solution, that I don't yet see.
Ideas (or additional questions to clarrify) appreciated...
Hi Dale !
On which HTC are you trying the trick ?
First your trouble is not related to eclair as I successfully booted eclair on my G1 with this trick. You need to add a timeout in init so as it waits for the kernel to detect sd card partitions (need to recompile init, or use my recompiled init).
Vold has nothing to do at this point
Hope this helps
Init Delay for SDisk
Thanks for the reply. That's what I needed, it seems so ungraceful.
I thought vold was enabling something to make the kernel's discovery of the SD partitions. It is "by coincidence" that the log of the vold occured shortly before the adding of the block-device event. My apologies for not recognizing the coincidence of the log entries.
I had hoped the solution was a bit more "graceful", though I can't say what that would be or why a sleep is "ungraceful". I would like a "mount retry for n-seconds" option in the init.rc, that would be slick. Nonetheless I will add in a sleep-spin-check for a few seconds.
For the record, we are discussing the change to:
android-source: .../system/core/init/init.c
code-routine: main()
code-location: Somewhere after the "A N D R O I D" text
code-change: add in a sleep spin-check of some sort
I appreciate the comment that all we need is just a sleep. I think this completes the thread?!
Most interesting...
This is something akin to how I am using my company's Android solution for the Beagle Board...
In that environment, the entire kernel and rootfs are located on a SD/MMC card. The environment variables and boot script are stored in the NAND chip
through a "setenv" command. The U-boot monitor on the hardware defaults to run the boot script unless there is any user interaction. This image can then be converted into a typical distribution that can be flashed and ran without the SD card...
I have wondered about the implementation of this approach on my G1, but I have not had time to test it out. It is good to see that there are others that are interested in this as well...
I will be following this thread and will try to help in any way if I can... meaning if I can get some free time...
If you are interested in our Beagle Board solution, it is open source and can be found by a simple Google search using "Android rowboat"...
L8R...
very easy fix.
rename the /init to /init.android (or whatever you like)
create an init script. have it prompt on boot too boot from sd or internal. symlink the init.rc from /system. That way you only need one boot.img for multiple builds. We've been doing this a really long time on the android on vogue project. My development phone is simple, I hold down the menu button if I want to boot from the sdcard otherwise it boots from the internal.
Oh and don't worry about this.
jahrome said:
log messages and the only notable difference is this error :
E/MemoryHeapBase( 83): error opening /dev/pmem_gpu0: Permission denied
E/MemoryHeapBase( 83): error opening /dev/pmem_gpu1: Permission denied
E/MemoryHeapBase( 83): error opening /dev/hw3d: Permission denied
Click to expand...
Click to collapse
That's just that you don't have HW3D enabled in your kernel. It's important to note that if you're trying to use multiple builds that eclair with 3d and donut use different kernels.
Exactly the vogue and kaiser have been doing this for ages. If you want you can also boot ext2 and squashfs images. It's pretty simple stuff.
Anyone have a backup of the files in post #3? I've been trying this solution with files of my own creation (as in: my own cooked boot.img, and data/system files) but it doesn't seem to get past the G1 boot screen (as in: blank screen.) I've also tried the recovery boot solution however it gives me the same reaction. It leads me to believe the problem lies in my boot file.
ok anyone interested in creating a simple step by step manual? and can someone post the files again please?
Damnit.. My company required encryption of the data on my Nexus S when I was testing ICS Beta with Email / Exchange.
Went ahead and encrypted the device.
Then, I wanted to install ICS Combo Beta 11, so I formatted /system /data /boot and tried to install from /sdcard/*.zip.
No luck.
Clockworkmod recovery cannot mount /sdcard anymore.
Wanted to try and format it, but the clockworkmod tries to mount it first, before formatting
HELP!
I'm stuck with only recovery now and no way to get the update package installed
Is there a way to install from zip via the command line?
You should be able to use fastboot to load the rom on your device. I haven't tried it this way before but it should work:
Code:
fastboot update rom.zip [-w if you want to erase data too]
Give it a spin.
The SDCard not being able to be mounted has been covered a few times but I can't recall the proper fix by heart - search around and you'll definitely get some results that can help you with that.
Greetz
Sounds like it's busted.
Sent from my Nexus S using xda premium
Can you still enable USB Mass Storage in recovery? Try reformat the SD from your desktop?
Si_NZ said:
Can you still enable USB Mass Storage in recovery? Try reformat the SD from your desktop?
Click to expand...
Click to collapse
Thought about that, but what filesystem? FAT32?
Sure
Greetz
I had the same problem with one of the first ICS betas.
Formatting to FAT32 on my Mac was not enough, I had also to reformat under Android. Hope, you backed up your data
dr911 said:
I had the same problem with one of the first ICS betas.
Formatting to FAT32 on my Mac was not enough, I had also to reformat under Android. Hope, you backed up your data
Click to expand...
Click to collapse
Definately backed up..
This was a real scare.. I couldn't mount or format from clockworkmodrecovery. All I had was the adb shell and the builtin /sbin commands.
LUCKILY I found this article;
http://forum.cyanogenmod.com/topic/...mmcblk0++mkfs++ext2__fromsearch__1#entry56396
It didn't exactly match what I was experiencing, but the key was the parted program.
Using it, I was able to reformat my media (partition 3) and am now able to repush things to it.
Stupid sdcard encryption..
Reinstalling ICS Beta 11 now
Blood pressure slowly decreasing.. damn that was a nightmare
So some lessons learned;
DON'T try to partition your SDCARD from clockworkmod or Windows or Mac. The USB storage presented to your computer is a single partiton from you mmcblk0 sd storage. If you partition it, you've got a partition inside a partition which will only make sense to your windows/mac system. Inside of Android, the partition is essentially corrupted and it won't mount.
Formatting from Windows only makes it appear to be working.. in reality you've created a second partition and it's corrupted from the Android point of view.
parted is the only way to fix it. from parted do mkfs type fat32 partiton 3 (media) that will reformat the partition correctly and give you access from Android and external USB hosts.
That's weird...
People have been able to format the SD as ext4 on a desktop using Ubuntu for example. I don't understand how that is different to mkfs.ext4 vs mkfs.vfat. I mean why am I confined to formatting on the phone itself? I'm really confused now.
On a side note. What you experienced is totally expected if you think about it carefully. It's like you have just lost the key to open your SD content by wiping the phone, of course it can no longer be mounted. But I'm not sure why it cannot be simply formatted in CWM.
nauckwj said:
Formatting from Windows only makes it appear to be working.. in reality you've created a second partition and it's corrupted from the Android point of view.
Click to expand...
Click to collapse
That means, I should check my SD Card, which I formatted under OSX with Disk Utility?
Maybe I'll do it next time I flash a new ROM, because for now it works fine.
nauckwj said:
Blood pressure slowly decreasing.. damn that was a nightmare
Click to expand...
Click to collapse
Yeah, I had a similar situation a few weeks after I got my beloved NS when I tried Whispercore. The hole NS got encrypted and formatting the system partition in CWM didn't work, but what I read it was luckily due to a problem with the CWM version. Flashing a newer Version of CWM solved the problem. First I was dying!
So, when I encrypted with ICS and got this problem I calmed down much faster
Si_NZ said:
That's weird...
People have been able to format the SD as ext4 on a desktop using Ubuntu for example. I don't understand how that is different to mkfs.ext4 vs mkfs.vfat. I mean why am I confined to formatting on the phone itself? I'm really confused now.
On a side note. What you experienced is totally expected if you think about it carefully. It's like you have just lost the key to open your SD content by wiping the phone, of course it can no longer be mounted. But I'm not sure why it cannot be simply formatted in CWM.
Click to expand...
Click to collapse
My problem was I used the Windows fdisk partitioning utility to repartition my /sdcard partition. That was part of the problem. I did also read how some people were repartitioning the /sdcard partition, which is kind of weird. I can understand why someone might want to reformat it as an ext4 filesystem, but why would you want to partition a partition?
The /sdcard partition is actually the third partition on your mmcblk0 device. If you partition it, most utilities will fail to recognize it as a valid media device anymore, because they expect to be able to read the filesystem data structures when they mount it. These won't exist if a partition table is sitting at the beginning of the blocks.
I couldn't reformat from within CWM because it first tries to mount the partition. if it fails to mount, CWM won't reformat it. Only way to reformat it was with parted, unless you have a working system installation.
Last night I was also able to reformat it from within ICS. Had to do a full factory-wipe from within ICS, then it indicated the sdcard was no longer valid and asked me if I wanted to reformat it. Once I said yes, all was back to normal.
Fun fun
I would like some help please.
Have bricked my a500 during attempt to falsh vach leaked ICS.
Switchme was used before clearing data and I forgot to delete a profile. This is I think the cause of my problem.
I cannot proceed with any ROM flashing until data partition is cleared.
I am using RA-ICONIA-3.15 recovery kernel.
I can mount and format CACHE SYSTEM FLEXROM partitions.
Attempting to mount data this is the message
E:Can't mount /dev/block/mmcblk0p8 (File exists)
Now my poor A500 will not get past 'acer'screen when trying to boot.
Question 1: How can I restore access to the DATA partition?
Question 2: How do I wipe my internal storage and start over?
I have a nand backup before this started on external SD card. Uncertain if I should restore this.
Thanks in advance.
DrPlumEU said:
I would like some help please.
Have bricked my a500 during attempt to falsh vach leaked ICS.
Switchme was used before clearing data and I forgot to delete a profile. This is I think the cause of my problem.
I cannot proceed with any ROM flashing until data partition is cleared.
I am using RA-ICONIA-3.15 recovery kernel.
I can mount and format CACHE SYSTEM FLEXROM partitions.
Attempting to mount data this is the message
E:Can't mount /dev/block/mmcblk0p8 (File exists)
Now my poor A500 will not get past 'acer'screen when trying to boot.
Question 1: How can I restore access to the DATA partition?
Question 2: How do I wipe my internal storage and start over?
I have a nand backup before this started on external SD card. Uncertain if I should restore this.
Thanks in advance.
Click to expand...
Click to collapse
try this
If you are using Thor's CWM. And his recovery only;
Here are the steps to completely wipe all internal data. And give it a clean internal system (according to Thor)
Note: Optional Formatting.
If you really want to remove EVERYTHING in Internal Memory, at this point, go to Backup and Restore. Select "Toggle backup and restore of internal storage (/data/media). Enable this setting by selecting it. By default, it is disabled. Then proceed to the formatting steps. This will format the Entire Internal Memory when you proceed.
Note, this will format EVERYTHING in internal memory (not ext sd card)
Select Go Back, Goto Mounts and Storage
1. Format System
2. Format Cache
3. Format Dalvik
4. Format Flexrom
After you reboot, I believe it resets back to the defaults.
try to install the rom with the normal procedures.
this what i used and it worked great no problems
note** i am just fowarding info that was passed to me. and this will erase you backups
---------------------------------------------------------------------------------------------
IF you are running RA Revamped Recovery, then you may want to contact Drellisdee at his thread;
http://forum.xda-developers.com/show....php?t=1459821
He knows the procedures to do the same.it's a tricky process, and he knows more about his recovery than I do.
Thank you for the prompt response. Already tried your recipe with no luck.
I need access to the DATA partition and do not know how to go about that. Once have access to the internal disk, would like to know how to completely wipe this if that what it takes.
Thanks
PS: If I truly have bricked the device it is still in 12mo warranty, so will contact Acer care centre if no tricks work.
PPS: Maybe I now have excuse needed to upgrade to Tegra 3 device. The Acer Iconia A700 looks tempting
i think i have seen something like that when fixing mine but did not touch it....as im not a pro, hopefully somone with a litle more in depth knowledge sees this and can help.
sorry
Have you tried restoring your nandroid backup? This has recovered the error for me on my phone before when the /data partition became corrupt. Worth a shot.
Sadly, restoration of the nandroid backup was not successful.
I have notice that I pressed wrong volume button when attempting the hard reset. Will try the correct procedure later after work. Hopefully a proper hard reset then restore with one of Vache stock roms will have me up and running.
UPDATE: Sadly hard reset fails to load. My poor a500 needs resuscitation at acer clinic
I had the exact same problem, although I caused the problem in a different manner. You need to be able to use adb to get it going again. If you are not familiar with adb, do a search and you can find plenty of help. That's what I had to do. Unfortunately, my skills with adb are pretty much non-existent, so I can't really help you with that part.
Once you get adb going on your computer and it recognizes your A500, follow these steps:
You will need to boot into my recovery and open adb shell.
This will cause loss of all data contained on /data which will lose your /data/media.
From adb shell:
mount (This is to check data isn't mounted. If mounted use "umount data")
mke2fs -j -b 4096 /dev/block/mmcblk0p8
tune2fs -O extents,uninit_bg,dir_index -C 1 /dev/block/mmcblk0p8
e2fsck -fy /dev/block/mmcblk0p8
After this is done your file system on /data will be fixed. You can install the ROM of your choice. Good luck!
(These instructions were originally provided to me by drellisdee)
Thanks for the answer on your previous post. I fixed my /data mount.
Love to unbrick my acer for the 50th time
Did not have this error tho, before I tried to convert the /data mount to ext4
DrPlumEU said:
I would like some help please.
Have bricked my a500 during attempt to falsh vach leaked ICS.
Switchme was used before clearing data and I forgot to delete a profile. This is I think the cause of my problem.
I cannot proceed with any ROM flashing until data partition is cleared.
I am using RA-ICONIA-3.15 recovery kernel.
I can mount and format CACHE SYSTEM FLEXROM partitions.
Attempting to mount data this is the message
E:Can't mount /dev/block/mmcblk0p8 (File exists)
Now my poor A500 will not get past 'acer'screen when trying to boot.
Question 1: How can I restore access to the DATA partition?
Question 2: How do I wipe my internal storage and start over?
I have a nand backup before this started on external SD card. Uncertain if I should restore this.
Thanks in advance.
Click to expand...
Click to collapse
If you switch the A500 off and whilst switching it on hold the volume up button and start toggling the rotation lock on and off it should clear the internal memory completely. Then flash an update.zip from a MicroSD. Otherwise use the Iconia software update tool that's floating around in APX mode. Make sure you have your UID for this
Ping192 said:
Did not have this error tho, before I tried to convert the /data mount to ext4
Click to expand...
Click to collapse
That's exactly what caused my problem. Glad you are working again.
Resolved by great customer support...
To close this thread I wish to congratulate the Acer customer support team in Plymouth who have restored my Acer Iconia A500 to working order in under a week.
It is upgraded OTA to Android 3.2.1.
As still in warranty, no charge for the failure of the hard-drive partitioning!
Great work. Good customer service.
thanks lovable people in this thread
thanks lovable people in this thread you solved my problem . especially Dr. McKnight (23rd February 2012, 03:48 PM) back in the beginning of the thread. His solution using thor's recovery was enough to solve my problem. Wonderful and thank you
/Mikkel
spoupard said:
From adb shell:
mount (This is to check data isn't mounted. If mounted use "umount data")
mke2fs -j -b 4096 /dev/block/mmcblk0p8
tune2fs -O extents,uninit_bg,dir_index -C 1 /dev/block/mmcblk0p8
e2fsck -fy /dev/block/mmcblk0p8
Click to expand...
Click to collapse
When I do the "mke2fs -j -b 4096 /dev/block/mmcblk0p8" command from adb's shell, it takes forever (I let it run for hours). Something I was thinking about, could I simply "rm -rf /dev/block/mmcblk0p8" first, and then run the above commands? Also, should I not add the "-t ext4" option to the mke2fs command?
kerijan2003 said:
When I do the "mke2fs -j -b 4096 /dev/block/mmcblk0p8" command from adb's shell, it takes forever (I let it run for hours). Something I was thinking about, could I simply "rm -rf /dev/block/mmcblk0p8" first, and then run the above commands? Also, should I not add the "-t ext4" option to the mke2fs command?
Click to expand...
Click to collapse
Try in fastboot mode execute:
fastboot -w
I used this hardware mod on all 50 of the tablets with great success. Just be careful to not remove any of the other little chips, I used heat to loosen the glue.
http://forum.xda-developers.com/showthread.php?t=1877585
Good luck
I have spent that last 3 days working on an issue that about 50 Verizon Samsung Galaxy Tabs SCH-i800 are having. These tabs for whatever reason have an issue with the internal sdcard getting corrupted, they then hang on the Verizon screen.
I have done several things to attempt to get these corrected, attempted to fdisk and reformat the internal sdcard, this did not work. The internal /dev/block/mmcblk0 is completely hosed.
The only real solution that will correct this issue is to partition the external sdcard and force the android boot up process to use it instead of the internal.
Technically that should be easy. Partition the external sdcard to match the internal, Modify the boot.img making changing the references to mmcblk0pX to mmcblk1pX. Reflash the image and boot. Should work. There are tons of posts on this board where others have done it. But none have with the SCH-i800.
I am ok with running the Stock Rooted 2.3.5 Verizon image or the 2.3.5 latest version of Cubed3 Rom
What I don't know and need help with is where to I pull the boot.img from ether of these gingerbread based roms to modify it?
Click to expand...
Click to collapse
Reference Material:
Fix for the P1000 - This is exactly what I need to do
http://forum.xda-developers.com/showthread.php?t=1711150
Fix for the Atrix 4G - Again, exactly what I need to do
http://forum.xda-developers.com/showthread.php?t=1766939
Another Example
http://forum.xda-developers.com/showthread.php?t=1463756&highlight=ics
Re-partition steps:
http://forum.xda-developers.com/showthread.php?t=845708 <- this did not work
Heimdall Suite re-partition with known good pit file <- This did not work
I'm on the exact same place, attempting the exact same, currently I was trying to edit vold.fstab as well as init.rc but it seems you have a better grasp of this.
I use a Sprint sph-p100, a CDMA version just like yours and as far as I know fully compatible with anything (save modem but I only use wi-fi).
I've tried your first link with a GB rom and failed (didn't pass first Samsung logo), but I will keep trying and post back anything I achieve.
If you indeed make a kernel or image that makes them boot please share it with us and I will GLADLY test it out.
I'm also aware that an easy solution is to open up the hardware and remove the internal SD Card (the kernel will assume the external is mmcblk0 instantly) but I dislike doing butchery and maybe breaking my device.
Chris... much progress has been made on this... first off. I am dumping the Gingerbread Verizon images for the CyanogenMod 9 Rc1 for P1c. I am currently following the kernel rebuild instructions from the device developer "cdesai" is working on. Those instructions are here:
http://forum.xda-developers.com/showpost.php?p=20162940&postcount=3
with repo setup here:
http://wiki.cyanogenmod.com/wiki/Building_Kernel_from_source
With the instructions on how to build just the kernel I will modify the initramfs.list among other files to get the required results. What I will need to help you is do the exact same thing, just with the initramfs.list for your P100 device ??
Are you willing to use CyanogenMod 9? I have pretty much abandon Gingerbread unless someone can hook me up with a known working P1c Gingerbread git.
CM9 makes me even happier, my device is the same P1C so we don't even have to re-build anything other than what you do to it.
Besides testing if you want I can double check the changes you made as well as document them (it might just help someone else down the line).
Also, not sure if this happens to you but my mmcblk0 IS detected, it just doesn't work (can't be mounted, formatted or anything), just making sure your idea works with this.
ChrisCTX said:
CM9 makes me even happier, my device is the same P1C so we don't even have to re-build anything other than what you do to it.
Besides testing if you want I can double check the changes you made as well as document them (it might just help someone else down the line).
Also, not sure if this happens to you but my mmcblk0 IS detected, it just doesn't work (can't be mounted, formatted or anything), just making sure your idea works with this.
Click to expand...
Click to collapse
Mine is detected too. But fails when you try and fdisk is. I have several devices with the same results. If you want try to fdisk /dev/block/mmcblk0
Tell me if that eventually shows up as a 32mb disk with an empty partition
The correct commands are
adb shell
su
fdisk /dev/block/mmcblk0
p
q
Don't have a rooted rom on it now (can't really install anything besides flashing), but I tried it minus "su" and it didn't do anything at all.
Update the status. I have made the changes to support booting from the SDCard. For the first time I can mount the /data directory via the recovery. There is an install sequence that I haven't yet mastered. Will be in touch
Sounds great Jim, thanks for all the effort so far
I am waiting for the release of this. My tab internal SD crapped out also.
please help
im on the same boat if in need to take of the internal storage let me know i will do it just tell me some directions
Same issue
JimRich said:
I have spent that last 3 days working on an issue that about 50 Verizon Samsung Galaxy Tabs SCH-i800 are having. These tabs for whatever reason have an issue with the internal sdcard getting corrupted, they then hang on the Verizon screen.
I have done several things to attempt to get these corrected, attempted to fdisk and reformat the internal sdcard, this did not work. The internal /dev/block/mmcblk0 is completely hosed.
The only real solution that will correct this issue is to partition the external sdcard and force the android boot up process to use it instead of the internal.
Technically that should be easy. Partition the external sdcard to match the internal, Modify the boot.img making changing the references to mmcblk0pX to mmcblk1pX. Reflash the image and boot. Should work. There are tons of posts on this board where others have done it. But none have with the SCH-i800.
I am ok with running the Stock Rooted 2.3.5 Verizon image or the 2.3.5 latest version of Cubed3 Rom
What I don't know and need help with is where to I pull the boot.img from ether of these gingerbread based roms to modify it?
Click to expand...
Click to collapse
Hey guys I am having the same issues (as far as i can tell) with my Verizon Samsung Galaxy Tab SCH-i800. so the first issue is i tried to install a stock rom to fix a corrupted cache partition. now it tries to boot US Cellular. As of this moment the error i get when i put the device in recovery mode:
E:failed to mount /cache (No such file or directory)
E:Can't mount /cache/recovery/command
# MANUAL MODE #
E:failed to mount /cache (No such file or directory)
E:Can't mount /cache/recovery/recovery_kernel_log
E:copy_kernel_file :: Can't open /cache/recovery/recovery_kernel_log
E:failed to mount /cache (No such file or directory)
E:Can't mount /cache/recovery/log
E:Can't open /cache/recovery/log
E:failed to mount /cache (No such file or directory)
E:Can't mount /cache/recovery/log
E:Can't open /cache/recovery/log
E:failed to mount /cache (No such file or directory)
I am wondering if i can just create a new partition on a new SD card? i bought this device on ebay a couple weeks ago and i don't want to continue attempting sketchy leads for fear of hard bricking it. All help is greatly appreciated. I really don't want to give up on this thing because i feel like the soultion is out there... I am very good with performing commands via command prompt if that is nessasary, also i have access to an Ubuntu 12.4 computer if that would make things easier? Please help?
***Also as far as i know this is equipped with android Froyo and the issue developed after the previous user attempted to update. Please email me a reply or reply to my post.
Thanks,
-Andy
I switched to a hardware modification. This worked great!
http://forum.xda-developers.com/showthread.php?t=1877585
I've given up on reformatting the internal memory as EXT4 (my last post). However now, I want to mount an external SD card that is EXT4 (or any file format that has UNIX permissions). I can't get my device to mount the card, it says the filesystem is unsupported. Now, that's bull**** since Android has built in support for EXT. After searching threads here on XDA and Google, and even purchasing EzyMount as recommended, I can't get it to mount. I've tried BusyBox and mount commands (as root), with various errors such as "mount operation not supported on transport endpoint". I'm at my wit's end by now, trying to get some filesystem which has support for symlinks and UNIX permissions... any ideas?
kcattakcaz said:
I've given up on reformatting the internal memory as EXT4 (my last post). However now, I want to mount an external SD card that is EXT4 (or any file format that has UNIX permissions). I can't get my device to mount the card, it says the filesystem is unsupported. Now, that's bull**** since Android has built in support for EXT. After searching threads here on XDA and Google, and even purchasing EzyMount as recommended, I can't get it to mount. I've tried BusyBox and mount commands (as root), with various errors such as "mount operation not supported on transport endpoint". I'm at my wit's end by now, trying to get some filesystem which has support for symlinks and UNIX permissions... any ideas?
Click to expand...
Click to collapse
you fully rooted with custom kernel or only with rdlv etc?
First you gotta figure out how to mount this damn thing, gotta be possible.
Then you need to get this done on bootup, either in init.rc or init.d or smth.
You probably just use wrong commands? But I could be wrong, didnt try that yet but would also be interested. Having the file permissions also on SD would be nice, but it could cause trouble with mtp maybe?
zroice said:
you fully rooted with custom kernel or only with rdlv etc?
First you gotta figure out how to mount this damn thing, gotta be possible.
Then you need to get this done on bootup, either in init.rc or init.d or smth.
You probably just use wrong commands? But I could be wrong, didnt try that yet but would also be interested. Having the file permissions also on SD would be nice, but it could cause trouble with mtp maybe?
Click to expand...
Click to collapse
I am rooted, but stock ROM and kernel. MTP is for connecting to a computer? If it is, I don't need that. I have tried
mount -rw -t ext4 /dev/block/mmcblk1p1 /storage/extStorageCard
and variants switching the flags and options.
Interesting... I just typed that command in to make sure I didn't make any typos.... and my phone crashed and rebooted. I typed it again to see if it would cause another crash and it appears to have mounted the card! Whwn I type "df" at the prompt it now shows a 28.6 GB filesystem at that location, which has to be my sd card.
Why, how, I don't know. It works, it's all I can say.