Related
So I am an organization freak, and the root of my SD card had gotten a bit out of control. Not unusual, I know, but having just installed Titanium Media Sync and inKa File Manager, I've been doing a lot more file management and the constant scrolling through crap folders that I'll never need to access is getting old. So I've been trying a bunch of stuff to create what basically amounts to a folder full of shortcuts or symlinks that reference the various folders I need to use.
Now I could just create some sort of MyHome directory on my SD card and store my **** in there, but that doesn't solve the problem of having easy access to some of the folders that need to be in /sdcard, like the Download folder.
So the solution I came up with was to create a folder called 'Home' in the root of my phone. I added a bunch of symbolic links to Music, Photos, Downloads, Documents, etc, and the beauty is I can have stuff scattered all around my SD card and still access them neatly from this one folder. And filter out the crap I don't ever need. Doing this produced the exact effect I was hoping for, and I set it as my Home in InKa File Manager. However it comes with two problems:
First, this folder disappears every time I restart my phone! And second, even if this didn't happen I would still be faced with the folder disappearing every time I installed a new ROM. Oh, and in case it isn't obvious, FAT filesystems don't support symbolic links so this Home folder has to exist somewhere outside of the main SD card.
So, in conclusion: I would like to create a very small partition on my SD card that I have read/write access to, so that I can fill it with symbolic links that will stay put and always re-mount. My problem now is that I'm not familiar enough with the Unix file system or with mounting disks to determine how to make sure this partition gets mounted every time I start my phone. Or, if this happens automatically, where to look for the partition.
Thanks in advance to anyone who can point me in the right direction!! I'm pretty sure I have already created an ext2 partition on my card, by using iPartition on my Mac to place it after the FAT partition. But it won't let me name it so I don't even know where to begin looking for the partition itself.
Why can't you just make a folder called "Home" in /data somewhere? Shouldn't matter where the folder is since you can default your file manager to whatever folder upon opening.
Edit: Just tested it by making a folder /data/Home/
It survived a reboot fine.
Shouldn't be wiped when installing new roms either, as long as they don't wipe data like I know the ACS roms don't. Also if the rom you are flashing backs up and restores your data before flashing like some do, it MIGHT, idk for sure, but might backup this folder as well.
That... totally works. Stays after a reboot too. Thanks! This at least solves one problem and makes the idea totally doable again
Im still curious about a solution to the partition thing though. It would be nice to have a Home folder that was literally always around and that I wouldn't have to worry about even after installing new roms. I know some of them don't wipe data but I would generally Odin when installing a new ROM anyway. Installing Cyanogen for the first time definitely requires that and I feel like I may go back to a stock rom once or twice before CM goes final.
The reason nothing "sticks" when you put it in the root FS if because it is a RAM filesystem, loaded from a file image (zImage) at boot -- it's not a more typical file system in secondary storage like all the other filesystems. This is simply an artifact of how embedded linux systems work.
Sent from my mind using telepathitalk
I've had a lot of success creating a bootable CM7 using the size agnostic preparation instructions. (Here) I want to keep the Nook at stock, for a variety of reasons. Anyway, I created a very nice installation on a 16gb uSD card and did a lot of work setting up LP+ and my hundred-odd android apps. (I also have an Evo 4G). I was fortunate enough to get a 32gb uSD at a great price and want to move my installation over to that. The most successful by making an image with the Win32DriveImage and flashing that back to the 32gb uSD card, which leaves a large area of un-partitioned space. I've tried a couple downloaded tools but have been unsuccessful. Is there a command I can use in Terminal Emulator to to do that? I know I can use the agnostic procedure to start from scratch, but I'd really hate to do that.
The only thing that would make starting over is if someone can point me to instructions that would allow me to have an installation that boots from uSD and has fully functional CWR and Rom Manager. I love how it works on my EVO to download and install updates with a couple clicks. (Everything I've tried there seems to mess with the core Nook).
Thanks a lot!
Rob
Use Minitool Partition Wizard, or another windows partition manager to expand the last storage partition.
LBN1 said:
Use Minitool Partition Wizard, or another windows partition manager to expand the last storage partition.
Click to expand...
Click to collapse
Thanks for the suggestion. I tried a few partition managers and run into the same problem including with MiniTool. It will start the process of expanding or copying and expanding in one step, but it will eventually say "file system error" just before it finishes. It suggests repairing the file system, but none of the tools can do this with the ext4 partition. Still trying though. Gonna give the Acronis partition manager a whirl.
bitbearmi said:
Is there a command I can use in Terminal Emulator to to do that? I know I can use the agnostic procedure to start from scratch, but I'd really hate to do that.
Click to expand...
Click to collapse
You can edit partitions with fdisk from the terminal emulator. I suggest googling, it's a pretty old school tool and isn't very friendly. You should easily be able to resize your "sd" partition with that. Actually more accurately you should be able to delete that last partition and then create a bigger one in it's place. won't keep your data, but you can just copy it over to your computer and resize, then copy back.
Another option would be gparted which comes with basically every live linux cd ever. That one can actually do true resizes and should handle ext4 partitions easily (it is a linux file system after all)
bitbearmi said:
The only thing that would make starting over is if someone can point me to instructions that would allow me to have an installation that boots from uSD and has fully functional CWR and Rom Manager. I love how it works on my EVO to download and install updates with a couple clicks. (Everything I've tried there seems to mess with the core Nook).
Click to expand...
Click to collapse
You don't need to start over. Get a new uboot.bin for your cards boot partition from here.
Then get the clockwordmod kernel and ramdisk from the zip at the end of this post. Put the uImage and uRamdisk on the sd card as uAltImg and uAltRam.
Now when you choose sd:alternate from the boot menu it will boot you into clockwork.
Thank you so much. I think that will do the trick.
..rob
ylixir said:
You don't need to start over. Get a new uboot.bin for your cards boot partition from here.
Then get the clockwordmod kernel and ramdisk from the zip at the end of this post. Put the uImage and uRamdisk on the sd card as uAltImg and uAltRam.
Now when you choose sd:alternate from the boot menu it will boot you into clockwork.
Click to expand...
Click to collapse
OK. All is well and the dual-boot solution is super-convenient. But I'm a little perplexed as to how to work with CWM in this environment. Ideally I'd like this to work just as it does on my EVO, Rom Manager lets me know there is a new version, I select it, it downloads asks if an want Gapps and backup (yes please) then it does its thing. Maybe that is way too much to ask. If so, then the main things I need to know are how to instal an updated build that I download separately? Do I just copy it to the root of the boot partition.
Sorry for being such a n00b with the nook. Its funny but I'm much more confident messing with my phone, which if bricked, is pretty catastrophic. (LOL)
The instructions for updating CM7 for the agnostic build is in the OP's post for that build.
"How to update to a new build:
put the new build you want to try on the first partition. (the name must be update-cm-*.zip or cm_encore_full*.zip or just update-*.zip)
Boot from the SDcard in the recovery mode (see above) and the new snapshot would be installed.
The partition layout would be preserved, filesystems are NOT reformatted, so your data should be safe."
Also, Easeus Partition Manager is supposed to be able to resize partitions w/o destroying data. YMMV, of course. I used it to extend ext 4 but prior to putting anything there.
Didn't have any luck with easus either, but ended up using a gparted boot which worked great. Normally I would use recovery nandroid to backup the rom before installing the updated, but when I did that by booting into alternate, I ended up backing up the nook rom to the root partition, so I think the safest thing to do is to use win32diskmanager to image the entire sd card.
ylixir said:
You don't need to start over. Get a new uboot.bin for your cards boot partition from here.
Then get the clockwordmod kernel and ramdisk from the zip at the end of this post. Put the uImage and uRamdisk on the sd card as uAltImg and uAltRam.
Now when you choose sd:alternate from the boot menu it will boot you into clockwork.
Click to expand...
Click to collapse
So, just to make absolutely sure, if I already have CM7 installed on an SD card, which I've been using as a daily driver, installing apps, downloading Kindle books, PDFs, and the like, but I want to put CWMR onto the SD card, the steps you outlined should be OK?
NOTE: I know, I know, if I'm confused I probably shouldn't be screwing around with things...But the size-agnostic SD CM7 method was so bloodless that I thought the other stuff would be pretty easy to do. For whatever reason, adding stuff like the OC kernel and CWMR has been a little confusing.
I have a question that is more android-in-general than Nook specific. I am trying this out on my Nook first, as it is an unbrickable device, before tinkering with my target device (a phone). My phone also does not have Clockworkmod recovery support, so a bricked device would be fatal.
I am attempting to increase the memory available for installed apps. My phone has limited space, but a bunch of pre-installed junk that I thought I might be able to get rid of in order to make more space for more apps. Knowing that simply deleting these pre-installed apps from the /system folder does really nothing, I set about making and editing an image file from the /system partition, then reflashing this image back to phone. As I am trying this on the Nook first, here is what I did:
1. Adb into the Nook and dd the system partition to a system.img file on the sd card.
2. Copy the system.img file to my desktop and mount the image.
3. Edit the image, removing the LiveWallpapers.apk file (a hefty ~3M file), then save the result back out as a new system.img.
4. Copy the new system.img to the sd card, then adb back into the Nook and dd the system.img from the sd card back to the system partition.
Everything appeared to work fine. The Nook boots, runs fine, and the LiveWallpapers.apk file is nowhere to be seen. Problem is, there is no difference in the available memory on the device.
In retrospect, I suppose I should not have expected there to be a difference. I am under the impression that the system partition is a read-only partition, and that extra space on this partition is not available for installation of apps. I am guessing that in order to increase the memory available, I would need to resize the data partition.
So, ultimately, my question is whether or not this is correct. Do I need to resize the data partition in order to actually get more memory available for apps, or is there an easier way? If I would need to resize the partition, how would I go about doing this, and would I need to take this extra space away from the system partition (the extra memory would need to come from somewhere, I imagine). I would envision removing bloatware from the system partition, shrinking that partition as I would no longer need that much space, and giving that extra memory to the data partition. Bear in mind that I need to do all of this through adb as I will not have Clockworkmod recovery on my target device.
Alternatively, I could be out my gourd and none of this makes any sense. Feel free to let me know if this is the case.
Thanks!
You've got it right.
The Nook emmc has partitions for boot, rom, system, data, and media. Originally data was 1g and media (/emmc under CM7) was 5g, newer models have reversed this. Data is where apps and their data go.
There are threads here about repartitioning newer Nooks with lots of good discussion. It sounds like you are capable (or want to be capable) of creating a custom partition scheme; there's enough info there for you to do that.
Experimenting with an 8g SD card might be a good place to get familiar with the tools. The "size-agnostic" installer will use a pre-partitioned SD if it finds one IIRC.
Good luck!
Sent from my NookColor using xda premium
xdajunkman said:
I have a question that is more android-in-general than Nook specific. I am trying this out on my Nook first, as it is an unbrickable device, before tinkering with my target device (a phone). My phone also does not have Clockworkmod recovery support, so a bricked device would be fatal.
...
Click to expand...
Click to collapse
I just wanted to re-iterate the importance of what you said here.
I have sent several people off to buy Nook Colors who were interested in developing for android, for this very reason.
Nothing else you can get your hands on ( to my knowledge ) is as safe of a dev-tool as the Nook Color, because of the first boot to sd-card.
It doesn't matter what you do to it, at the end of the day you'll have a working device unless you throw it down the stairs or something.
Bonus points for running an sd-install directly, because when you hose it you just reflash a new microsd card.
Can't reformat the card because windows only reads the boot partition? No problem - if you still have your Nook Color with it's stock software just boot it up and pop the microsd card in. The B & N software in the Nook Color will just format the card, without a care in the world for any existing partition schemes or whatnot.
You're on the right track for what you're trying to do, as the previous poster has pointed out, so just wanted to give you another vote of confidence letting you know you're doing all the right things for all the right reasons.
Thanks for the replies!
You know, I actually did the repartition of my Nook using the CWR zip file. I hadn't thought to go look through the original thread for the manual instructions. As you pointed out, I found the directions here:
http://forum.xda-developers.com/showpost.php?p=13971291&postcount=110
The only problem is that his instructions require that you boot from the SD card in order to manipulate your interal memory. This is fine and good on the Nook, but not possible with my phone. Any idea what would happen if I tried to repartition the internal memory while booting from the internal memory? Seems that this would not be possible....or at least wrought with peril. I think that my phone can boot into a fastboot mode, but have not tried that...anyone know if this would help?
Perhaps I am just playing with fire here and need to settle for cramped memory space on my phone. I am just too accustomed to my 5GB of available app space on my Nook.
Thanks again.
Well, after some more Googling, I think I might abandon the repartitioning bit. I think I am likely to brick my phone, even though I think I could do it manually on the Nook. In addition, it appears that many phones are set up so that the kernel resets the internal memory partitioning on boot....so I might also need to mess with the kernel to get this to stick. This is beyond my skill set and really not worth my turning my phone into a paperweight.
I thought of a bit of a workaround, however. As I can extract and edit the image of the system partition, I will simply install the apps that I will eventually want on my phone on my Nook instead, extract the apk's from the Nook, then insert them into the system image file from my phone. Reflashing the system image then puts these apps into the system partition instead of the data partition, effectively saving me hoards of space on my data partition. A bit laborious, but for several core apps that I know I will want and that are memory hogs, I think it will be worth it.
Anyone see any problem with this approach?
I have been looking for something like this for a while. The flipout lacks internal memory and it soon becomes a problem if you want to have a good set of apps.
Here's what you'll need:
1. Rooted Flipout (I won't post instructions to this step, look for "Universal AndRoot")
2. Partitioned SD card (see below for instructions), depending on the method, you might need a phone with CWM to do this and ADB installed on your PC.
3. Download Link2SD from Market
So here are the steps:
1. Partition your SD card. There are many ways to do it. I will post two ways:
Use MiniTool Partition Wizard Home Edition
My PC didn't like this tool and I wasn't able to use it. However, it should be quite easy, you just need to put your card in a card reader and build two partitions with the following characteristic:
First partition will be your main card partition, should be of the whole card size minus the extended partition you want to create
Second partition should also be fat32 (link2sd didn't like ext2 nor ext3 on the flipout, it only worked with fat32)
Use CWM. I personally didn't want to install it on the Flipout, so I used a Samsung Epic 4G for the steps. You should be able to use any phone with CWM to do it, put your SD card in the phone with CWM and boot into recovery:
adb shell reboot recovery
parted /dev/block/mmcblk0 (open partition manager for SD card)
print (prints partition table)
Here you should have one partition table, starting at some point and ending at some point like 7969 if your card has 8GB. Take note of the End value as you'll need it.
rm 1 (deletes partition 1, this will erase all data on the SD card)
mkpartfs primary fat32 0 7425 (creates a new primary partition, the second number should be the value you took note of in the last step minus the size in MB of your desired extended partition).
mkpartfs primary fat32 7425 7937 (creates the new partition for applications, starting at the end of the last partition and ending on the max size of the card. In this case I used fat32 as I couldn't do it with ext3 nor ext2, link2sd didn't like this format on the flipout for some reason).
The partitions are created and you should be able to go to the next step.
3. Reboot your flipout with the partitioned SD card, make sure to have link2sd installed.
4. Open link2sd, it will take a while, ask for root permissions (always accept and make sure to have Remember checked).
5. It will ask for the partition type, select fat32. If you are asked to reboot your phone you have everything setup, otherway please post your problem.
6. Once rebooted, open link2sd again and go to settings and configure. I don't like having all applications automatically linked as widgets and this kind of apps can fail if they are on the SD, so I have this setting unchecked. However this is a personal decision.
7. To move an app to the card, hold your finger on it and when the menu appears, press link and confirm.
8. To move an app from the card to the phone, hold on it and press unlink, check everything and wait for the app to be returned.
Further Tips:
Avoid moving apps to the SD that are use widgets or that run all the time like: messenger apps, alarm clocks, climate widgets, etc. I tried one or two without any failure but I feel they could be less reliable this way.
Don't remove your SD card if the phone is turned on, now it has a partition that is used by the system, if you remove it you could have issues, I would only remove the card with the phone turned off completely and not boot without the card.
I made some tests connecting the USB cable to the PC and using the phone in storage mode, the PC could see the primary SD card partition and the phone could still work with apps on the second partition, so it seems to be stable in this sense.
If you need to switch to another card, you would have to setup the new card in the same way; I don't know yet if backing up the second partition and restoring it to the new card will work. If your data is critical use some SW like Titanium backup to back up the apps that are linked, remove them completely and restore when you have the new card setup.
So, this has worked for me like a charm, the phone really seems stable and I have so far like 150MB of apps on the SD card. No need to have a newer Android version, it seems very stable.
Disclaimer:
Any process that involves rooting your phone and partitioning can potentially cause data loss and/or bricking your phone. Do this only if you are 100% sure of what you're doing, I will take no responsibility for any data loss / damage caused by this process.
If you have any questions I will be glad to help.
Hi great post above
I rooted my phone and I partitioned my sd card into 2 partitions , both FAT32 primary 3.7GB and when i open link2sd and select either ext 2 or ext 3 I get an error message
"Mount scrip error
Mount scripe cannot be created.
mount: no such device
ext 2 may not be supported on your device. Try FAt32 on the second partition"
Has anyone come accross this problem before ?
Hi,
When you open link2sd,scroll down and select fat32. I tried formatting the second partition with ext2 and ext3 wit no luck. Fat32 is working just fine.
Regards
Hi Thanks a million that worked great
thanks
hi i tried wat u told but after some time link2sd is showing failure that "cannot link readonly" can u help me
Your guide works great. Finally I can have all apps I like to have installed at once.
mschmiedel said:
[*]If you need to switch to another card, you would have to setup the new card in the same way; I don't know yet if backing up the second partition and restoring it to the new card will work. If your data is critical use some SW like Titanium backup to back up the apps that are linked, remove them completely and restore when you have the new card setup.
[/list]
Click to expand...
Click to collapse
I can tell some experiences with backups.
Before I had blur stock rom with link2sd and changed to deblur central europe rom. After reinstalling link2sd all apps where still gone.
And even after restoring all user apps with titanium backup they were restored to phone memory. I had relink them with link2sd manually and to batch restore with titanium backup twice because it broke down in the middle because phone memory was full.
Unfortunately link2sd is no magically way to have them backed up apps and to be independent from the rom. Titanium backup is still needed but that is fine. Nothing seams broken after restore with TI and relink with link2sd.
lovdanie, it's strange, had no issues with the tested phone yet, I partitioned 500mb and it has already like 200-250MB of apps linked and is working great, no issues.
One thing that could have happened is that you removed the SD card. Are you sure the SD card hasn't been touched or formatted?
bagers, it's not really a magical solution, it's just a way to get more space on a phone that lacks internal memory...
Regards
Just for some info.. under windoze try the "MiniTool Partition Wizard Home Edition" makes partitions like charm..
Guys any one have links for disk partitioners? minitool is not a freeware as u have t buy it when you apply the partition. any one know a way roubnd this? please help
miniProBhashi,
That's why I always use CWM to partition the SD card. As I don't have it on the Bllur, I put the card on another phone I have with CWM and it always works... Maybe if you have a linux PC you could do the same thing...
Regards
Help
Hi, I just partitioned my SD card. When I open the Link2SD app, it did prompt me to select the file system of the SD card's second partion, however, after I select FAT32/FAT16, Link2SD could not gain root access, there's no pop-up of indicating me to select "Allow" on the Superuser Request. Now wot do I do. Please help, thank you...
Well, I would start checking the SuperUser app to see if there is some exception in there. If you don't have it, check out if your phone is rooted by installing some other app that requires root access.
If not, check the root method for your phone.
If it's the Motorola Flipout, download version 1.6.1 from this thread, install it and run it:
http://forum.xda-developers.com/showthread.php?t=747598
Regards
mschmiedel said:
Well, I would start checking the SuperUser app to see if there is some exception in there. If you don't have it, check out if your phone is rooted by installing some other app that requires root access.
If not, check the root method for your phone.
If it's the Motorola Flipout, download version 1.6.1 from this thread, install it and run it:
http://forum.xda-developers.com/showthread.php?t=747598
Regards
Click to expand...
Click to collapse
My phone is Galaxy ace, and superuser doesnt prompt anything on start-up.
Tried rooting manually, doesn't work as well
Hi,
I would try on a Galaxy Ace forum to check for the rooting process and validate if your phone is really rooted. When you are 100% sure you have root you can come back to this post and we can check if there's some other issue...
Regards
Flipout problem
Done all u told...
Then this problem came..
Mount script cannot be created.
mount: Invalid Argument
p0kjats said:
Done all u told...
Then this problem came..
Mount script cannot be created.
mount: Invalid Argument
Click to expand...
Click to collapse
Hi,
Have seen similar problems when using ext filesystems. Are you 100% sure that the secondary partition on the sd card is fat32? It really should work on the flipout without any issues.
Remember that you need:
* Rooted flipout
* Partitioned sd card (secondary partition must be fat32)
* Link2sd opened and allowed to use root permission
If you are sure you did everything stated above, we can look at it with more detail. What tool did you use to partition the sd card?
root permission
hi,
i have installed Link2SD from Market to my lg optimus p500 os,gingerbird2.3.3,when i stared to move app to sd it asks root permission.
so pls guid me to activate root permission in my device
drnags said:
hi,
i have installed Link2SD from Market to my lg optimus p500 os,gingerbird2.3.3,when i stared to move app to sd it asks root permission.
so pls guid me to activate root permission in my device
Click to expand...
Click to collapse
Hi,
It doesn't make much sense to use Link2SD if you're on Gingerbread as your OS natively can copy apps to the SD card (at least some of them). Just go to "Manage Applications", and select the app you want to copy, there should be an option to "Move to SD"...
If you still have some good reason to use Link2SD, you should first look in a forum for your specific device to find out how to obtain root (I cannot help because it varies for each device)... Once you have root access, I can help you out with this process.
Regards
miniProBhashi said:
Guys any one have links for disk partitioners? minitool is not a freeware as u have t buy it when you apply the partition. any one know a way roubnd this? please help
Click to expand...
Click to collapse
When I partitioned mine I used GParted Live. It's a Linux-based boot disk, but you don't really have to know anything about Linux to use it. Just download the .ISO and burn a CD, pop it in your PC and boot off it. Its free, graphical (not command line) and relatively easy to use. There is also an option there to set it up to boot live off a USB drive, but that's a bit more involved to set up.
gparted . sourceforge . net / livecd.php (sorry, it won't let me directly post links yet)
If you can burn a .ISO to a CD, you can probably figure it out. Just make sure you pay attention to which disk you are partitioning (look at the sizes) so you don't accidentally re-partition the hard drive in your PC.
EDIT: If there is anything you need to back up off the SD card, I would do that in Windows first, and then copy it back using Windows after. You CAN do this with GParted Live but there would be additional steps to mount / unmount the Windows partition on the PC that you want to copy to.
the bootstrapped recovery seems to be having a partitioning tool.
Maybe im wrong, haven't used it though
Okay, I've literally been working on this for the last 2 days, tried everything I've found so far, and the most progress I've made was (somehow) making both sdcard and extsdcard show the same storage mount, but I have no clue what change made that occur for one reboot. So far, I've tried the following:
vold.fstab editing
build.prop editing
FolderMount (desparate...)
I've even tried the debuggerd script I found in this other forum, and yes I edited the script to point to the correct vold blocks (in my case they're 179:96 and 179:97 for the internal and external storage, respectively)
While I'm not against using a fully custom rom for these tablets (I have two), the dilemma is that my 4-year-old sons use them, so the KidsMode needs to function properly. They've run out of storage space on these due to three FREAKING HUGE games they absolutely insist on keeping on the tablets at all times, and apps like GL to SD need to be run and remounted on every reboot, so it isn't a suitable solution...
Best case, I would love a boot.img swap so it'll be zero-maintenance. I've been searching and so far I haven't turned up anything I can use... I'm a long-time "power user" with several devices running custom kernels, various builds of CM, and even a modded version of CM12 on my tablet I compiled myself. I'm not a beginner, but I'm definitely out of my league on this one.. Any assistance will be appreciated.
UPDATE
I'ne partially succeeded. I've figured out how to remount /sdcard to the external sd card, but it's not a perfect redirect. It shows in file managers, but not in the Settings under Storage, and the free space shown in Application Manager is blank (crashes in a few seconds), or it continues to show the real internal sd card info. I used the following single command in the debuggerd.mnt file:
Code:
mount -t vfat -o rw /dev/block/vold/179:97 /storage/sdcard0
no luck
No luck with the swap... The only option I believe I have at this point is to either install a custom rom (but I haven't found a single one...), or I need to pull the boot.img to edit it. So far I've not been able to find the boot partition, and the "by-name" list doesn't mention anything related to "boot"
My last thought is to try to extract it from a stock firmware. Is that possible? I don't have linux running, and all boot devices are disabled on my work laptop so a live distro isn't an option...
Any help or opinions will be greatly appreciated...