Wednesday, July 11, 2012

My Little Android Phone - Hacked and made way better.

Just so we are clear here, I own a very low end Android. The Samsung Prevail from Boost Mobile. Electronically its the same as the Prelude from Straight-Talk (I.E. Wal-Mart) The only real difference between the two is some software and the type of Wireless phone network they use. (I don't mean the carrier network I mean the radio type.)

Now let me make this a simple statement, I love my Android. Despite its low end as a smart phone status.

Why? Cause its easy to root (I did) My network is unlimited data (at least for now) and I use my phone as my Internet Gateway when I can't get a WiFi signal. (Thank you EasyTether Pro.)

Ah but like any good break fix hacker I didn't stop there. I also gave my Phone an extra 2 GB of system space (hidden) so that I could install more apps and really use it for far more than the engineers who designed it thought about.

IMHO, I think all Androids should come with at least 2 GB of internal memory. Again just my personal opinion. Alas though, most do not and mine had a mere pittance of 161 MB. In the world of Android, that's not a lot.

I wanted my phone for business purposes but I did some research on what phones were available in my price range when I got it. Taking into account features and whether I could do something with it once I got it.

Criteria:

Had to be a phone I could root, Tools to do so had to be easy to find and download with clear instructions. I didn't want a brick, I wanted a phone I was in control of.

Had to be able to get my laptop onto the Internet, whether it could do that with an app or had the function already built in. (Boost does not include that function on their phones BTW.)

So when my low on space warning kept going off I did all I could but finally I realized I had to break down and get a SD card with more space. I went with a 16 GB card.

Initially I just backed up the 2 GB card that came with my phone, shoved the 16 GB card in its place on the phone and restored my files. (Super easy to do.)

Despite removing a lot of crap apps off the phone and cleaning up the cruft after rooting it, I still didn't have a lot of room available. I moved every app I could to the SD card but forget having any real good apps that actually did something. Add I have a Angry Birds addict in my 8 year old son... You get the picture. I mean the phone only has 43.9 MB free on the internal storage available now and that barely covers the minimum amount needed for buffering. Despite giving myself the extra 2 GB of storage for the internal operations the phone itself doesn't see it and I still have all my needed system files on that 161 MB that cannot be moved. Now you are probably asking, "How can you use an extra 2 GB of storage for the system memory if the phone doesn't see it?" As in all things Android the answer is; "There's an app for that."

GParted and Link2SD

First and foremost Android is a Linux system. What makes it Unique is that it plays well with Windows. In part because the SD cards are formatted using FAT32 and secondly because Google's interface is made to work friendly with Windows. Of course it works very well with a Linux based PC as well. Though for some oddball reason rooting requires a Windows based PC to accomplish.

In order to utilize link2sd you must have a rooted Android device. (Phone or Tablet.) Now some Android devices running Gingerbread and up can use ext4 but most will only access ext2. Check the specifications on your device to find out. ext4 is far superior to ext2 and if you can use it do so. My phone in this case is not compatible with ext4, which means ext2 for me.

You should get a bigger SD card for this 8, 16 or 32 MB. It doesn't really matter.

Start with GParted and prep your SD for link2sd. You will be creating 2 primary partions with partition one being FAT32 and partition two being ext2. The reason for this is that link2sd uses the second primary partition for its operations.

Before starting this process make sure that any and all data on the card is backed up. This especially important if you a preping a card that has already been used in your Android device. You will lose EVERYTHING that is not in the cloud. Including contact data not synced with Google. BACK UP YOUR DATA FIRST.

Start up gparted as root: (This is usually the only way it starts. However,...)


In right hand corner click the drop down and select the device that is your SD card. It will NEVER BE sda.


Most new sd cards will be pre-formatted in FAT32 format. Click on the partition in the list. If you have more than one partition on the device already then most likely the secondary partition is not removable. This may cause a problem if you cannot remove it and you may need to get another sd card if this is the case.



Unmount the partition(s) as shown above.

 
Now we want to create a new partition table as shown above.


The warning box pops up to let you know the consequences of your actions. Click Apply to continue.



Now create a new partition as shown above.


On a 16 GB SD card your settings should be so for the FAT32 device. On any size device use 1024 in the "Free space following" box to get an extra 1 GB for your system 2048 for an extra 2 GB. Use these numbers exactly to get the proper allocation.


Use the remaining space for your ext2. If your device is capable of using ext4 use that instead.



Click the commit changes button to start the partitioning process.


This is the final warning dialog. box. To this point nothing has happened. Once you click Apply your SD card will be wiped clean. MAKE SURE YOUR DATA IS BACKED UP BEFORE CLICKING Apply.


You will see a progress dialog next. BTW pressing cancel may hose you SD card so don't touch it.


The last dialog box lets you know the process is complete.

link2sd How It Works:

link2sd uses hard links to trick Android. Since link2sd is the only app that actually sees the 1 or 2 GB of space on the SD you created. (You can make Android see it by editing fstab on the device and force mounting it. This is unnecessary and I wouldn't suggest it.) What link2sd does is place binaries, dex and lib (if the app has any) in the hidden space on the SD card. then places links in place on Android's file system. Android sees the links as the actual files

PRO: Allows extra system space since a link takes much less space than the file being linked.

CON: Anything moved by link2sd will definitely load slower and has a huge chance of running slower as well. Unless you're really desperate for system space (like I am/was) keep as much as you can on the actual internal memory. Not all apps play nice with link2sd and you can have weird problems pop up when they don't.

Apps that can be moved to the SD card without link2sd should be done that way instead. The purpose of link2sd is to help manage space on the internal memory so it can function properly, not manage your apps. link2sd should be used for apps that you install that cannot otherwise be transferred to the SD card.

On that notation link2sd will not move core files and preinstalled apps at all. This is a fail safe. While link2sd has an option to convert preinstalled apps to user apps, it rarely works and the usual result is loss of that app. I highly suggest you never use that option.

You can download link2sd to your device via the Google Play Store.

When you first run link2sd its going to ask you what file system type the second primary partition is. Select ext2 (or ext4 if you used that) and watch link2sd work its magic.

link2sd can be configured to automatically move programs to the SD card. (Works on newly installed apps only. If you have any already installed you will have to move those manually.) I use this option myself because I can still move the app to the SD card user partition if link2sd does not need to handle it. It saves me a lot of hassle as well.

On a neat little observation, apps that don't have libs seem to run absolutely fine while those that do definitely run slower. The only issue I have had so far is having to much going at once. Something I never really dealt with before since I never had the ability to run a lot of apps do to memory limits. Well I still have them but just a lot less of them. (I think I nearly over heated my poor phone yesterday.)

If you need more space on your internal storage in Android, link2sd is definitely worth looking at.

Sunday, July 1, 2012

Getting to the brass tacks of the desktop!

I'm sold on Zorin OS to provide my desktop solution and as a Zorin 6 RC tester have had great joy in finally rediscovering my desktop. Zorin however only gave me the base to which I had to add and define my desktop set up.

Keeping in mind that as for as it goes Ubuntu is doing their damnest to push Unity despite it being unpopular among most users. The same can be said with Gnome Shell in Gnome 3. The gnome-panel application in Gnome 3 is also extremely limited. MATE and Cinnamon are both extremely immature options and both don't seem to be getting the support they need to be viable options.

Oddly enough Avant Windows Navigator seems to provide the solution even if its not as robust as I would like.






AWN has the ability to give me the controls I want in, for the most part, the way I want. Plus, thanks to the Zorin team, I have the use of GnoMenu again.


So yes I can my show support for my American Football team again this year. Of course I had to modify the XML code to make it work with the command set for Zorin and the modifications I made.

Originally I had removed gnome-panel but I had to reinstall it in order to get alacarte to work correctly so I could edit menu entries. This is an Ubuntu mod as alacarte is deprecated by the Gnome development team. Since there is no menu editor replacement as of yet Canonical built a work around solution to keep alacarte usable for the time being.

Of course I like having a system monitor up and going. Gkrellm has been my choice for several years because of its small initial footprint and many options. It really doesn't work well with Unity or Gnome-Shell but does very well in my current setup.


I configured Compiz-Fusion to have the cube. I also compiled and installed Emerald to handle my windows decorations.





So now the over all system configuration is the closest I have ever gotten since 12.04 was released and yes, I plan to stay with it as long as I can with Zorin.