I've been having lots of trouble with my SD and local filesystems getting corrupted, which in turn has been causing the flush-179 process to go ballistic (100% CPU loop, reboot hangs, etc.). If only there was a way to run a quick FSCK(8) on my Android's unmounted filesystems to check for problems. Well, there is!
This may be old, old news to some of the more seasoned OS hackers, so please be kind with any negative feedback about it being intuitively obvious. It wasn't to me, but after some research and testing, I've come up with these simple steps:
Boot into Recovery
Connect via USB to ADB shell
Code:
C:\Scratch\Android> [B]adb devices[/B]
C:\Scratch\Android> [B]adb shell[/B]
Mount /system and /data to determine the /dev/block names, then umount each
Code:
~ # [B]mount /system[/B]
~ # [B]mount /data[/B]
~ # [B]df[/B]
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 308620 64 308556 0% /dev
/dev/block/mmcblk0p27
295509 121021 159231 43% /cache
/dev/block/mmcblk0p26
1184268 848052 276060 75% /data
/dev/block/mmcblk0p25
562384 461416 72400 86% /system
~ # [B]umount /system[/B]
~ # [B]umount /data[/B]
Run e2fsck against each /dev/block filesystem
Code:
~ # [B]e2fsck -n /dev/block/mmcblk0p25[/B]
e2fsck 1.41.6 (30-May-2009)
/dev/block/mmcblk0p25: clean, 4168/35760 files, 117605/142847 blocks
~ # [B]e2fsck -n /dev/block/mmcblk0p26[/B]
e2fsck 1.41.6 (30-May-2009)
/dev/block/mmcblk0p26: clean, 7173/75200 files, 216745/300799 blocks
~ #
The 'e2fsck' command takes the same command-line switches as UNIX FSCK(8), so you can be as creative and daring as you need.
- Dave
some help
ViperGeek said:
I've been having lots of trouble with my SD and local filesystems getting corrupted, which in turn has been causing the flush-179 process to go ballistic (100% CPU loop, reboot hangs, etc.). If only there was a way to run a quick on my Android's unmounted filesystems to check for problems. Well, there is!
This may be old, old news to some of the more seasoned OS hackers, so please be kind with any negative feedback about it being intuitively obvious. It wasn't to me, but after some research and testing, I've come up with these simple steps:
Boot into Recovery
Connect via USB to ADB shell
Code:
C:\Scratch\Android> [B]adb devices[/B]
C:\Scratch\Android> [B]adb shell[/B]
Mount /system and /data to determine the /dev/block names, then umount each
Code:
~ # [B]mount /system[/B]
~ # [B]mount /data[/B]
~ # [B]df[/B]
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 308620 64 308556 0% /dev
/dev/block/mmcblk0p27
295509 121021 159231 43% /cache
/dev/block/mmcblk0p26
1184268 848052 276060 75% /data
/dev/block/mmcblk0p25
562384 461416 72400 86% /system
~ # [B]umount /system[/B]
~ # [B]umount /data[/B]
Run e2fsck against each /dev/block filesystem
Code:
~ # [B]e2fsck -n /dev/block/mmcblk0p25[/B]
e2fsck 1.41.6 (30-May-2009)
/dev/block/mmcblk0p25: clean, 4168/35760 files, 117605/142847 blocks
~ # [B]e2fsck -n /dev/block/mmcblk0p26[/B]
e2fsck 1.41.6 (30-May-2009)
/dev/block/mmcblk0p26: clean, 7173/75200 files, 216745/300799 blocks
~ #
The 'e2fsck' command takes the same command-line switches as UNIX FSCK(8), so you can be as creative and daring as you need.
- Dave
Click to expand...
Click to collapse
on my phone i have a fiel called fsck.exfat and fsck_msod i think and im trying to run one (though not sure what the difference is) to fix some corrupted files in data internally. im trying to see if the file can be run through recovery without putting it through adb to unmount the data. im not too sure how to figure out what the data block is called because when i rum the mount i get a ton of different blocks (about 32 of them).
im trying to clean up the lost+found files i have and i have 3 of from a corrupted nandroid
robcop19 said:
on my phone i have a fiel called fsck.exfat and fsck_msod i think and im trying to run one (though not sure what the difference is) to fix some corrupted files in data internally. im trying to see if the file can be run through recovery without putting it through adb to unmount the data. im not too sure how to figure out what the data block is called because when i rum the mount i get a ton of different blocks (about 32 of them).
im trying to clean up the lost+found files i have and i have 3 of from a corrupted nandroid
Click to expand...
Click to collapse
Hi Rob.
I'm not sure if I can be of any specific assistance. exFAT is a type of filesystem format, like UNIX/Android ext3 and ext4, but beyond that, I couldn't tell you what those programs do. I do know that on some operating systems, the only way to fix the file chains and blocks is to make sure it's unmounted in single user mode. ADB is the closest we Android guys can get to UNIX single user mode without some clever Recovery Mode ZIP file programming.
– Dave
alrighty
ViperGeek said:
Hi Rob.
I'm not sure if I can be of any specific assistance. , but beyond that, I couldn't tell you what those programs do. I do know that on some operating systems, the only way to fix the file chains and blocks is to make sure it's unmounted in single user mode. ADB is the closest we Android guys can get to UNIX single user mode without some clever Recovery Mode ZIP file programming.
– Dave
Click to expand...
Click to collapse
well thank you for at least writing back on it. im not sure how to run adb let alone run the progrma to try and fix this but i will be learning up on it
robcop19 said:
well thank you for at least writing back on it. im not sure how to run adb let alone run the progrma to try and fix this but i will be learning up on it
Click to expand...
Click to collapse
ADB isn't all that difficult to use. Here's a good primer on it:
http://droidlessons.com/how-to-install-adb-on-a-windows-7-pc/
Once installed, just boot your phone into Recovery (power off completely, then power on with the Vol Down key held, then select RECOVERY). Once it's sitting there, connect your phone to the PC via USB, wait for Windows to find the right drivers, and you're connected. 'adb devices' should list your phone in the "List of devices attached", after which you're good to go.
– Dave
ps. I've not tried it personally, but there's supposedly a "universal USB driver" available here:
https://plus.google.com/103583939320326217147/posts/BQ5iYJEaaEH
wow
ViperGeek said:
ADB isn't all that difficult to use. Here's a good primer on it:
Once installed, just boot your phone into Recovery (power off completely, then power on with the Vol Down key held, then select RECOVERY). Once it's sitting there, connect your phone to the PC via USB, wait for Windows to find the right drivers, and you're connected. 'adb devices' should list your phone in the "List of devices attached", after which you're good to go.
– Dave
ps. I've not tried it personally, but there's supposedly a "universal USB driver" available here:
Wow thank you very much for the help youre giving me I will see if i can go and start finding a solution
Click to expand...
Click to collapse
ViperGeek said:
The 'e2fsck' command takes the same command-line switches as UNIX FSCK(8), so you can be as creative and daring as you need.
- Dave
Click to expand...
Click to collapse
I figured this out about a week ago now I guess and did indeed find that there were corrupted partitions. My phone had been acting up for several weeks before and it pretty much unusable now. I do manage to clean system and data up, and was even able to flash a new ROM which I hadn't been able to, they'd always abort.
I have a question though, is this only good for ext2 partitions? I have the same version as shown in the tutorial and if you run 'e2fsck -V' the output makes me think that maybe it's not happy checking ext3 and ext4 partitions and that's why i was popping up errors, or at least that's why even when i fixed errors it maybe wasn't really fixing the issue.
Thanks.
I've got a different phone, but a search brought me here to this thread. I think my issues though are more corrupted memory rather than device specific so hope you don't mind my post here.
I think this will answer your question
http://linux.die.net/man/8/fsck.ext3
(It should be good for all ext partitions)
Sent from my Galaxy Nexus using Xparent Cyan Tapatalk 2
ahh the good old fsck
glad i found this thread
thanks a lot mannnn
One more helpful tidbit.
Even if you run 'e2fsck -n' and find a "clean" file system, it may be useful to force a scan via 'e2fsck -f'. This just happened to me. I had something funny going on, and so rebooted into recovery and checked my file systems. Everything was cool like Fonzie, which I didn't believe, and so I used 'e2fsck -f' and found lots of fuglies that got fixed.
Be careful running -f on a cross-linked file system like the /data partition on a Galaxy S3/S4. It can have the tendency to unlink the elfin magic Samsung used and make a mess.
- Dave
(Double-tap post deleted)
This will not work with stock Android - default boot to recovery doesn't enable adb - you have to have CWM for that.
So, the questions remains - how can I run e2fsck without rooting my phone (and possibly voiding its warranty)?
How do I get the Moto X in Recovery mode to accept the adb command?
Because when I put in Recovery (Android Robot lying down) mode, the command adb and fastboot are not recognized.
Can this be done in terminal? And would I need su?
PRose61 said:
Can this be done in terminal? And would I need su?
Click to expand...
Click to collapse
Yes, this can be done in terminal on the phone itself. You do need root/su.
ApTeM said:
This will not work with stock Android - default boot to recovery doesn't enable adb - you have to have CWM for that.
So, the questions remains - how can I run e2fsck without rooting my phone (and possibly voiding its warranty)?
Click to expand...
Click to collapse
Is this why I get can't read '/etc/fstab': No such file or directory?
I'm using a stock Samsung S2, but it is rooted and has superuser and busybox.
Code:
ViperGeek said:
I've been having lots of trouble with my SD and local filesystems getting corrupted, which in turn has been causing the flush-179 process to go ballistic (100% CPU loop, reboot hangs, etc.). If only there was a way to run a quick on my Android's unmounted filesystems to check for problems. Well, there is!
This may be old, old news to some of the more seasoned OS hackers, so please be kind with any negative feedback about it being intuitively obvious. It wasn't to me, but after some research and testing, I've come up with these simple steps:
Boot into Recovery
Connect via USB to ADB shell
Code:
C:\Scratch\Android> [B]adb devices[/B]
C:\Scratch\Android> [B]adb shell[/B]
Mount /system and /data to determine the /dev/block names, then umount each
Code:
~ # [B]mount /system[/B]
~ # [B]mount /data[/B]
~ # [B]df[/B]
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 308620 64 308556 0% /dev
/dev/block/mmcblk0p27
295509 121021 159231 43% /cache
/dev/block/mmcblk0p26
1184268 848052 276060 75% /data
/dev/block/mmcblk0p25
562384 461416 72400 86% /system
~ # [B]umount /system[/B]
~ # [B]umount /data[/B]
Run e2fsck against each /dev/block filesystem
Code:
~ # [B]e2fsck -n /dev/block/mmcblk0p25[/B]
e2fsck 1.41.6 (30-May-2009)
/dev/block/mmcblk0p25: clean, 4168/35760 files, 117605/142847 blocks
~ # [B]e2fsck -n /dev/block/mmcblk0p26[/B]
e2fsck 1.41.6 (30-May-2009)
/dev/block/mmcblk0p26: clean, 7173/75200 files, 216745/300799 blocks
~ #
The 'e2fsck' command takes the same command-line switches as UNIX FSCK(8), so you can be as creative and daring as you need.
- Dave
Click to expand...
Click to collapse
Thank you for your very well done post. I also realize that this thread is very old. Still it is the best I have found after days of looking. And finally, I have a different phone. Having said that perhaps someone might help.
My phone is a Galaxy S5 Verizon SM-G900V running KitKat 4.4.4. I have root on the phone, but am running stock Verizon Kitkat with stock recovery.
So I have used ADB by plugging in my phone via USB to my Windows computer. I can get root in ADB and find the /data filesystem and its /dev/block/... device. But when I try to
Code:
umount /data
I get a response that the filesystem is busy. This makes sense.
I have booted into recovery via VOL UP + HOME + POWER and it takes me to the RECOVERY menu. But the only option that connects with my ADB shell is "apply update from ADB". When you use the command
Code:
ADB devices
, my phone shows up, but as "phoneid" sideload, and
Code:
ADB shell
exits immediately.
I have also tried to use a terminal shell and then su to root. Again I cannot umount /data since it is busy. (Of course it is, I am using it...)
And finally I have tried
Code:
touch /forcefsck
to create that file in the root directory. This is supposed to force a fsck during boot up. But the root directory (/) is read only. So you can't write the file to it.
I am at my wits end. What I really need to do is mark the /data filesystem as dirty and have the system check it on reboot. But I can't find anyway to do it.
So if anyone can help, I would be very grateful
Joe
Related
I'm trying to remove some of the stock apps on my Hero, including Rosie (Sense UI) and such. What mode do I boot in before doing this?
I know all of the steps to remove apps using adb (at least I think I do), I'm fully rooted, etc. But I can't seem to get it to work.
This is the command I'm using in adb
Code:
# rm /system/app/something.apk
(replacing something.apk with the actual apk name of course)
When I boot in Recovery, it says "File not found". When I boot in Fastboot, I can't connect to adb it seems. And when I boot into Android, it says "rm failed for something.apk, Read-only file system"
So am I missing a step? What should I be doing differently?
Boot into recovery, then do a "mount -a" to mount the filesystems.
marinierb said:
Boot into recovery, then do a "mount -a" to mount the filesystems.
Click to expand...
Click to collapse
It doesn't seem to work, here's the output:
Code:
C:\asdk\tools>adb devices
List of devices attached
HT9ALNT00557 recovery
C:\asdk\tools>adb shell
/ # mount -a
mount -a
mount: mounting /dev/block/mmcblk0p2 on /system/sd failed: No such file or direc
tory
/ #
Thanks for the reply though.
Edit: Got it working, typing in "mount" alone without the -a switch worked Thanks marinierb
in normal mode you cold have just done
adb remount
adb rm /system/app/something.apk
garok89 said:
in normal mode you cold have just done
adb remount
adb rm /system/app/something.apk
Click to expand...
Click to collapse
That doesn't seem to work for me. This is what it outputs:
Code:
remount failed: Operation not permitted
If you can't remount it doesn't sound like you've rooted.
callummr said:
If you can't remount it doesn't sound like you've rooted.
Click to expand...
Click to collapse
I've performed other operations that would normally require it, so I should be rooted.
Is there a way I can confirm if it's properly rooted or not?
shell prompt:
$ .. no root
# .. root
..try typing "su" once in the shell (abd shell or adb-windows.exe shell) and see what it brings up
~David said:
It doesn't seem to work, here's the output:
Code:
C:\asdk\tools>adb devices
List of devices attached
HT9ALNT00557 recovery
C:\asdk\tools>adb shell
/ # mount -a
mount -a
mount: mounting /dev/block/mmcblk0p2 on /system/sd failed: No such file or direc
tory
/ #
Thanks for the reply though.
Edit: Got it working, typing in "mount" alone without the -a switch worked Thanks marinierb
Click to expand...
Click to collapse
typing only "mount" just list the mounted partitions, it will not mount anything. if your partition is ext4 you need to downgrade it to ext2 or ext3 or set the testflag, see "if you're having issues with ext4" in the first post of the recovery image thread.
Make sure you have run a Nandroid backup first so that if you accidentally remove something important.
Boot into normal mode. (full GUI)
Then:
Code:
C:\ADB MOUNT
C:\ADB SHELL
# rm /system/app/something.apk
reboot
You have to reboot at the end so that the apps are taken out of RAM, you may get FC (errors) if you try to do stuff after removing the apps before rebooting.
I removed (actually moved) *Twit*, Stock*, Launcher*, and a few other things.
HTH,
Unconn
I was trying to follow the steps below to install the optical trackpad wake-up. I did the first step "adb reboot recovery". Couldn't get past there. Now my phone is stuck in reboot recovery. How do I get it out and can I do this without reformatting the phone?
zerf said:
I installed this and it worked perfect. Download the file and put the qwerty.kl file in your directory that adb is located. Then follow the commands below.
while phone is powered on plug it in and then do
Code:
adb reboot recovery
Once booted in to recovery do
Code:
adb shell
mount -a
(it will give error saying it couldnt mount curtain things. This is OK)
Looks like this
Code:
~ # mount -a
mount -a
mount: mounting /dev/block/mmcblk1 on /sdcard failed: Invalid argument
mount: mounting /dev/block/mmcblk1p2 on /sd-ext failed: No such file or directory
Now run
Code:
df
to make sure that /system is in the list that it outputs.
Should look like this.
Code:
~ # df
df
Filesystem 1K-blocks Used Available Use% Mounted
tmpfs 206848 0 206848 0% /dev
/dev/block/mmcblk0p2 198337 7453 190884 4% /cache
/dev/block/mmcblk0p1 765992 153464 612528 20% /data
/dev/block/mtdblock6 152576 122712 29864 80% /datadat
/dev/block/mtdblock3 253952 180320 73632 71% /system
then
Code:
cd /system/usr/keylayout
cp qwerty.kl qwerty.kl.old
(do this so we have a backup incase we need to go back)
now type exit and then run this
Code:
adb push qwerty.kl /system/usr/keylayout
adb reboot
once booted you should be able to power the screen on with your trackpad.
**** I have noticed that if your phone isn't waking by the trackpad try pressing a little harder or holding the button down for a little longer and then it usually works fine****
Click to expand...
Click to collapse
Sorry MODS for making this thread! I figured it out.
I'm not sure what I did but whenever I try to do a backup in ROM manager or use it to reboot into recovery nothing happens. I've tried re flashing clockwork mod and using the fix permissions but it gives me an error message stating that an error occurred while attempting to run privileged commands. I can still do a back up like normal if I do it from recovery but I'm a little nervous since ROM manager isn't working.
Do you have S-OFF?
Yes, running virtuous 3.0.1 and radio 2.15.00.07.28
I have the exact same problem, I can boot into clockwork but when I click on recovery it just reboots into clockwork's main page.
Edit: I tried to reflash an older recovery using ROMmanager and it worked, then I flashed the current one, so that might work.
Recovery versions 2.5.0.5 and 2.5.0.1 are OK. Anything later then that has problems and been pulled for the exact problems quoted here.
I have recovery version 2.5.0.5. I tried to flash 2.5.0.1 but I got a message that said "an error occurred while attempting to run privileged commands!"
Folks, there's been a fix posted for this I believe---and I was one of the posters.
This is what worked for me:
In ROM Manager, go to bottom of screen and select All ClockworkMod Recoveries. Simply select an earlier version of CWM. I selected 2.5.0.0. You should be good to go after selecting and hitting OK. Then, after a reboot, you should be able to reselect the latest CWM recovery.
Good luck!
I've already tried that... flashing any version of clockwork gives me the error message "An error occurred while attempting to run privileged commands!"
Check out this post from adrynalyne and see if it helps. Sounds like your issue.
http://adrynalyne.us/?p=90
Sent from my ADR6300 using XDA App
I've never used adb before, any chance someone could walk me through this or point me to a quick guide to get me started?
Look in the stickies section. There's a thread from AndroidBruce for a "How-to." There's a link covering adb. Once it's installed, it's pretty much typing exactly what's written, unless you're big on using linux.
Sent from my ADR6300 using XDA App
I tried that method but no luck. After I entered the command it gave me a message saying "/sbin/sh: system/bin/e2fck: not found"
NewUserNeedsHelp:) said:
I tried that method but no luck. After I entered the command it gave me a message saying "/sbin/sh: system/bin/e2fck: not found"
Click to expand...
Click to collapse
If your on a sense rom use e2fsck_recvy
Sent from my ADR6300 using XDA App
Again, no luck :/ this is beginning to really frustrate me. This is what I typed and what was returned to me, maybe someone can see something I did wrong with it.
C:\android-sdk-windows\tools>adb shell
~ # system/bin/e2fsck_recvy -p /dev/block/mmcblk0p2
system/bin/e2fsck_recvy -p /dev/block/mmcblk0p2
/dev/block/mmcblk0p2 has been mounted 1137 times without being chec
rced.
/dev/block/mmcblk0p2: 13/51200 files (7.7% non-contiguous), 12120/2
~ # exit
exit
Just tried again and got this:
C:\android-sdk-windows\tools>adb shell
~ # system/bin/e2fsck_recvy -p /dev/block/mmcblk-p2
system/bin/e2fsck_recvy -p /dev/block/mmcblk-p2
system/bin/e2fsck_recvy: No such file or directory while trying to open /dev/bl
ck/mmcblk-p2
/dev/block/mmcblk-p2:
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
NewUserNeedsHelp:) said:
Again, no luck :/ this is beginning to really frustrate me. This is what I typed and what was returned to me, maybe someone can see something I did wrong with it.
C:\android-sdk-windows\tools>adb shell
~ # system/bin/e2fsck_recvy -p /dev/block/mmcblk0p2
system/bin/e2fsck_recvy -p /dev/block/mmcblk0p2
/dev/block/mmcblk0p2 has been mounted 1137 times without being chec
rced.
/dev/block/mmcblk0p2: 13/51200 files (7.7% non-contiguous), 12120/2
~ # exit
exit
Just tried again and got this:
C:\android-sdk-windows\tools>adb shell
~ # system/bin/e2fsck_recvy -p /dev/block/mmcblk-p2
system/bin/e2fsck_recvy -p /dev/block/mmcblk-p2
system/bin/e2fsck_recvy: No such file or directory while trying to open /dev/bl
ck/mmcblk-p2
/dev/block/mmcblk-p2:
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
Click to expand...
Click to collapse
the bolded is not the right command
are you adb shelling in recovery, then mounting system, then unmounting cache?
I'm unmounting chache then mounting system and then adb shelling. Does adb shelling mean starting the shell in cmd?
NewUserNeedsHelp:) said:
I'm unmounting chache then mounting system and then adb shelling. Does adb shelling mean starting the shell in cmd?
Click to expand...
Click to collapse
Do you know how to use adb? Not trying to be rude here....just trying to help
boot to recovery, then adb shell (this is in the cmd window), then mount system, then unmount cache, then run the cmd
Lol, no this is my first experience with adb and I have virtually no clue what I'm doing, I'm just trying to follow instructions the best I can. The guide that I was following had me doing things in a different order so I guess I'll have to try this now. Thanks for your assistance and patience!
NewUserNeedsHelp:) said:
Lol, no this is my first experience with adb and I have virtually no clue what I'm doing, I'm just trying to follow instructions the best I can. The guide that I was following had me doing things in a different order so I guess I'll have to try this now. Thanks for your assistance and patience!
Click to expand...
Click to collapse
you have gtalk? check your pm
In case anyone is following this; I still have not fixed the problem.
I have spent hours trying to find an answer to what I thought was a simple question, but I just can't seem to find it...
I wanted to familiarize myself more with Terminal Emulator, so I used it to delete a system app that needed to go.
I used these commands:
$ su
# mount -o remount,rw -t yaffs2 /dev/block/mtdblk3 /system
# rm /system/app/xxx.apk
It appears to have worked perfectly after a reboot, but my question is: what is the correct code to mount your system partition in TE? I have seen several variations of the line I used. Often they vary at 'mtdblk3.' I have seen it 'mtdblock5,' for example. Is there a particular line I should use for my specific device? Is it dependent on what I am specifically trying to do?
Any information is greatly appreciated; even/especially a link toward my answer. Thank you very much.
I've always used 'mount -o remount,rw /dev/block/mmcblk0p25 /system'
as far as 'correct' code I don't think there is as such. But I think different devices would have different partitions and mount points for system.
-Nipqer
I think it will depend on where your system is mounted, although I don't know why that would vary for the G2. It might be different for the DZ and certainly for other devices.
You can type "mount" in the terminal to see where everything is mounted.
Ditamae said:
I have spent hours trying to find an answer to what I thought was a simple question, but I just can't seem to find it...
I wanted to familiarize myself more with Terminal Emulator, so I used it to delete a system app that needed to go.
I used the code:
$ su
# mount -o remount,rw -t yaffs2 /dev/block/mtdblk3 /system
# rm /system/app/xxx.apk
It appears to have worked perfectly after a reboot, but my question is: what is the correct code to mount your system partition in TE? I have seen several variations of the line I used. Often they vary at 'mtdblk3.' I have seen it 'mtdblock5,' for example. Is there a particular line I should use for my specific device? Is it dependent on what I am specifically trying to do?
Any information is greatly appreciated; even/especially a link toward my answer. Thank you very much.
Click to expand...
Click to collapse
i use this command:
# mount -w -o remount /dev/block/mmcblk0p25 /system
Thanks for the replies... I see now, that the path I should have used is: /dev/block/mmcblk0p25 /system. And that "code" was the wrong word. I was asking about commands & paths not code. Sorry - still learning.
edit: If anyone knows of a good and thorough resource of Terminal commands, I'd love it if you'd share... I've found bits and pieces of info, but something more comprehensive would be great. Thanks again.
Wow you guys are going about it using the long hand method. If you're just deleting a system app, to mount the /system as rw just enter:
Code:
$su
#mount -o remount,rw /system
#rm -f /system/app/xxxx.apk
The -f command isn't really needed but I use it to make sure the job gets done. Not sure if the pm uninstall command is used anymore. I'll have to look into that. I know some phones required you to mount yaffs and mmcblockXX but for just deleting an app I don't believe it's required. Never had an issue not typing that.
Here's the correct way to delete the app:
mount -o rw,remount /system
rm /path/to/app
reboot
Click to expand...
Click to collapse
Or you could use remount,rw. It's the same command. I threw reboot in there to reload the app list in your launcher correctly.
Ok, I posted this question in 2 other threads that had info on the process (will delete the posts when this one goes live), but no responses after a couple of days. One of them is old though.
I have TWRP 2.1.1 installed. ADB seems to be working normally. Superuser is working fine after booting to android. I'm running a custom ICS ROM (Energy); read that stock ROM can cause issues repartitioning.
I started with this How-to as it looked very straight forward.
I start throwing the commands at ADB and here's what I got for my efforts:
Code:
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb shell
~ # su
su
/sbin/sh: su: not found
~ # cd /data
cd /data
/data # ls
ls
/data #
decided to go ahead and check the mount command:
Code:
~ # mount
mount
rootfs on / type rootfs (rw)
tmpfs on /dev type tmpfs (rw,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
~ #
and parted just for giggles:
Code:
~ # parted /dev/block/mmcblk0
parted /dev/block/mmcblk0
GNU Parted 1.8.8.1.179-aef3
Using /dev/block/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
print
print
Model: MMC MMC08G (sd/mmc)
Disk /dev/block/mmcblk0: 7818MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 131kB 262kB 131kB xloader
2 262kB 524kB 262kB bootloader
3 524kB 11.0MB 10.5MB dkernel
4 11.0MB 212MB 201MB ext4 dfs
5 212MB 229MB 16.8MB recovery
6 229MB 296MB 67.1MB ext4 backup
7 296MB 307MB 10.5MB boot
8 307MB 312MB 5243kB ext4 splash
9 312MB 849MB 537MB ext4 system
10 849MB 2041MB 1192MB ext4 userdata
11 2041MB 2309MB 268MB ext4 cache
12 2309MB 7690MB 5380MB fat32 media
(parted)
Ok, so that much worked. Now I tried to shrink 12 so I could double the size of 9. I want to get Switchme set up for his/her profiles and 500MB just isn't going to cut it.
That's when I hit a brick wall:
Code:
(parted) resize 12 2846 7690
resize 12 2846 7690
resize 12 2846 7690
Error: Unable to satisfy all constraints on the partition.
(parted)
One thing that jumps out at me right away is this:
Code:
adb shell
~ # su
su/sbin/sh: su: not found
It seems you are not actually rooted.
To check, enter:
Code:
adb shell
ls /system/xbin
If you don't see "su" in the list, then you don't have root permissions, which would probably prevent you from doing what you need to accomplish.
That's what I was wondering, but apps are able to ask for and receive root permission from within the ROM. SU does exist, just not where the shell is looking when in recovery.
Code:
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb shell
~ # ls /system/xbin
ls /system/xbin
ls: /system/xbin: No such file or directory
~ #
I did an ls /system/xbin from adb shell and from Terminal Emulator within Android and both returned a long list containing SU.
TWRP provides an unsecured (unsecure? insecure?) boot. Whatever the terminology, it gives you immediate access to root privileges. Apparently CWMR (which was used in the OP of the thread you used) does not and so that author had to use su. For TWRP, it's not necessary and not even available. You already have root privileges as indicated by the hash prompt.
I tried resizing my /sdcard partition and it worked fine with the command you tried. I'm not sure what's going on with your storage device that it wouldn't resize it for you. At first I thought it might be mounted, but your mount command shows otherwise and parted gave me a different error when I had it mounted.
I don't know if this is going to help you, but you might try giving it the "MB" suffix in your numbers....
Code:
resize 12 2846MB 7690MB
Maybe even try changing units to bytes and giving the resize command byte sized boundaries.
Code:
unit B
print
will show you the numbers in bytes and you'd have to use the "B" suffix as in the "MB" example above.
If none of that works, you can always remove and remake the partition. For example...
Code:
rm 12
mkpartfs primary fat32 <start> <end>
name 12 media
You'd obviously need to insert acceptable boundaries for the start and end into that command. It might even be easier to just remove all 9, 10, 11, and 12 and remake/rename them, but remember 9, 10, and 11 are ext4 filesystems so the above mkpartfs command needs to be tweaked accordingly.
One thing I noticed while I was experimenting with the partition table this morning... all of the existing partitions have been allocated in 128MB chunks. I have no idea if this affects performance. I'd imagine you'd only need to stick to the 512B sector sizes, but you might want to stay with those conventions if it's not too inconvenient for you.
If you mess up the partition table, you can always go back to fastboot mode in FFF and use the...
Code:
fastboot oem format
feature to bring your partition table back to stock.
Good luck.
Wow, excellent response. Just the kind of detail I was hoping to get and it confirmed a few suspicions I had while searching the kindle threads. I'll report back on my degree of success when I get some free time to tinker.
I have a nandroid backup (also saved to PC) just in case and saved the partition table as-found. If everything gets hosed and I do an oem format I can just restore that and go or try from square one again, yes?
Sent from my TBolt with the XDA App using 1 opposable thumb
ProfEngr said:
Wow, excellent response. Just the kind of detail I was hoping to get and it confirmed a few suspicions I had while searching the kindle threads. I'll report back on my degree of success when I get some free time to tinker.
I have a nandroid backup (also saved to PC) just in case and saved the partition table as-found. If everything gets hosed and I do an oem format I can just restore that and go or try from square one again, yes?
Sent from my TBolt with the XDA App using 1 opposable thumb
Click to expand...
Click to collapse
I'd say that's a safe bet. Just be very careful about handling partitions 1 and 2 because those two are critical to getting anything to boot on your device. As long as you don't touch the xloader in partition 1 and have FFF installed in partition 2, you can rebuild the rest of it.... in theory. I only say "in theory" because I've never actually had to do it, but I don't see why it wouldn't work.
A couple of additional things I figured out after you put me to work with parted....
It looks like parted doesn't know how to make an ext4 filesystem, so mkpartfs balks if you tell it to make one. You'll have to use mkpart which just makes the partition, but not the filesystem. Then exit out of parted and use mke2fs, which despite its name knows how to make an ext4 filesystem. Like this for the cache partition...
Code:
mke2fs -T ext4 /dev/block/mmcblk0p11
The other thing is that parted sets a "msftres" flag on the fat32 filesystem it makes. The flag apparently is to tell the OS that it's reserved for Windows, or something like that. I didn't have a problem mounting in Linux and MacOS X, but the stuff I've read seems to indicate that older OS's have a problem with it. Unfortunately, the version of busybox on TWRP doesn't have a module to make a fat32 filesystem. I'm looking around to see how to get around that.
In any case, this should get you most of the way there. I'll followup if I find something out.
Ok. I used to run n*x, but use only M$ right now. Haven't touched a 'mac' since Jr High (IIgs)
Sent from my TBolt with the XDA App using 1 opposable thumb
ProfEngr said:
Ok. I used to run n*x, but use only M$ right now. Haven't touched a 'mac' since Jr High (IIgs)
Sent from my TBolt with the XDA App using 1 opposable thumb
Click to expand...
Click to collapse
I have a IIgs sitting in the basement... but it's not a mac, it's an Apple ][.
Found the last piece...
Code:
/system/bin/newfs_msdos /dev/block/mmcblk0p12
will make a fat32 filesystem correctly. I think that's all you'll need.
EDIT: OK, I must have been half asleep when I posted the above. That binary is on the stock system software I had mounted. There's nothing on TWRP to create a fat32 filesystem correctly.
Yeah, ][e was my first computer that didn't crash at the drop of a keystroke. Had an Adam tape drive model, but it froze up constantly.
Sent from my TBolt with the XDA App using 1 opposable thumb
So, I met with success following the repartition thread and tweaking it with your suggestions. I didn't quite move and many MB around as I thought, but it was enough to move me a little farther down the road with SwitchMe. At least it doesn't tell me I don't have enough memory for a 2nd profile now.
I still think it has issues with ICS or EnergyROM itself. When I created a new profile and rebooted to it I was stuck on Nova launcher instead of GO like the main profile. Strange.
I'll consider this thread to have fulfilled its usefulness. Thanks again for the help.
no device found
ProfEngr said:
So, I met with success following the repartition thread and tweaking it with your suggestions. I didn't quite move and many MB around as I thought, but it was enough to move me a little farther down the road with SwitchMe. At least it doesn't tell me I don't have enough memory for a 2nd profile now.
I still think it has issues with ICS or EnergyROM itself. When I created a new profile and rebooted to it I was stuck on Nova launcher instead of GO like the main profile. Strange.
I'll consider this thread to have fulfilled its usefulness. Thanks again for the help.
Click to expand...
Click to collapse
I get
(parted)
Error: No device found
Retry/Cancel