Monthly Archives: July 2012

A Dedicated Android System Pt-1

Its been a while since I’ve done anything here. I’ve been busy with life and just being lazy as well. You can relax if you think I’m going to push a provocative thought on you as today I’m just going to really live up to my name and be a bit techy. If techy is not your thing then please feel free to move on. I’ll have something thought provoking for you soon.

This will be part one of a series of post for this subject. This is the overall view and I will be putting together the next view shortly (actually already started) The Basics of this Idea is simple. I want a computer dedicated to my android devices. I want to have an environment that I can use android tools such as adb. I want to be able to have a place to develop the toys I want with my android, such as graphics, notification sounds, ringtones, and alarms. I want a system that I can use dsixda’s kitchen for my “Mods” to ROMS. Knowing what I want leads me to be able to gather all the tools I need to make this a reality. So I need a machine that can handle this kind of work. Fortunately its not intensive enough not to run on an older system. With that in mind I can put together a “road map” of what I need.

Putting this system together has taught me a few things about what I need to do and how I need to plan. I wanted a dedicated system and I didn’t want to go out an buy anything. Which was good considering I already had everything I needed. An old desktop that was just lying around. I knew I was not going to need a power hungry machine for this project.

So lets discuss the minimum of what you need. You need at least a P3 processor I would think. Mine has a P4 single core. I have a Gig of memory in my box so I would recommend you have at least that amount. There is never to much memory 🙂 Here is a list of the minimal’s

a. A Video card (basic graphics is all you need)

b. USB Port for each device you wish to connect. (Phone, Tablet)

c. A DVD/CD player

d. A Router or other network connection

e. Monitor, Keyboard, and Mouse

f. A drive for each device plus one for the OS

g. A supportive OS (must have ADB)

h. System requirements for that OS

i. Ethernet Card

j. sound card -(Optional)

My thoughts for the particular setup is something that will run everything I need and want. I have another system for doing everyday emails and surfing and movie watching and the likes. I want my resources to be for my devices and bash scripts I have for them.

Now when ready to set up its always best practice to have everything together and maybe even mark the drives you want for the separate devices. Are separate drives necessary not really but its nice if you have some smaller drives you want to use up. I had a couple of 60gig drives that I use. One is for the Tablet which has a total amount of 20 gig storage. The other for my Phone which has a 32gig micro SDCARD. You can use one disk and just partition the drive however if your not familiar with partitioning then your better off looking for smaller drives. USB ports will be a necessity for this system. You could use a laptop for this system but really I recommend a old desktop that has plenty of USB ports. The one I have came with 6 and I added 4 more via PCI CARD. You want to have each device physically connect to the machine and not through a hub. Now I don’t need 10 USB ports but its nice to have them 😀 Now the hardware need not to be all new If you don’t have a system to do this project look around in yard sales, Pawn Shops, Circulation papers and find a cheap computer (Nothing over a hundred dollars IMHO)

Software that is needed besides an OS is really just ADB and a Sync program if you wish to sync (ADB can do this) A guide or some other form of literature if you don’t know ADB or if your like me just dive in and start using it then you’ll learn. ADB probably can be left out but really why leave out such a power source of software. Rsync (which is part of most Linux distributions) 7zip is recommended but you can very well use tarball (.tar), gzip, or bzip. I like 7zip as its a cross platform app and I can use another OS to unzip these if need be. If your adamant about using Windows, Microsoft does have a decent Copy program called Robocopy (Robust File Copy) you can use a lot like Rsync. I also want graphic programs like gimp and veiwnior. Gimp would be for the creation and modification of files why Veiwnior is more for just veiwing the files.

I have a third hard drive that I use as my /home directory. This gives me a place to store those things like my bash scripts, a media folder for syncing between the Tablet, Phone and Computer. This makes keeping duplicates down to a minimum. Still a duplicate finder like FSLint File Duplicate Finder (Linux)is a good tool to keep around. If your using windows then Auslogics Duplicate File Finder is decent as well. I prefer to go after free programs.

The actual setup isn’t anything complex or complicated and can be done under a few hours. The great thing here is you have what you want and none of what you don’t need. One of the reasons I choose Linux over Windows for this project was the fact I can get a minimal install and just use the stuff I need. I don’t need a lot of programs just a few so I want to make sure that I understand what I want. So the basic idea again is to have a machine dedicated for the android devices I own. So going with that I came up with a hardware and software list that I need. Communication with the devices internals has to be done with ADB so I know I need something that supports it. I also wanted program that can sync files, compress files, and show me duplicates. I wanted to be able to automate the process. I also needed to make sure I had the hardware to support all this stuff. Then there are the developing tools I need and want. Audacity for my sounds, Gimp for the artwork and the kitchen for ROM modification. Now you may have other needs or wants so hopefully this guide will get you started with the basics at least. I am not running anything newer than five years old. Even the drives I have are older. Still good drives but a bit older. I wasn’t looking for super fast but what I have is decent for the needs I have. Now for putting it together and making it work.

When I got all the hardware together which wasn’t hard It was just a matter of plopping them into the CPU. I had three physical internal hard drives and 1 external hard drive that I put with this system, 1 hard drive for the OS, 1 hard drive for the /home folder, 1 hard drive for the Tablet, and the external for the Phone. I had a layout in mind for all my partitioning duties. I wanted for the OS drive to have a boot section (grub) and a swap section. Plus whatever wasn’t being used for general use. I did find in my collection of parts a 4 HUB USB PCI Card. The system has 6 (2 up front and 4 in the back) I decided to add the other in case I need them for other drives/devices. The last thing I really wanted hardware wise was to have an Ethernet card. Having the system on my home network makes transferring files much easier, than having to use Flash drives or worse yet Optical

Having all the components put in the computer and having everything work only left the software side of things to do. Software is pretty straight forward but again you must think of your needs and your comfort level. As stated I prefer and recommend Linux. Why? well Android is built on Linux so its natively supported which saves you from having to install all kinds of drivers and stuff because its already in the Linux Kernel. Also Linux has better resource management than Windows. Now if you have a Mac then I would suggest getting a pc for this project. I need to make sure that the OS I want to install will support all the components and software that is needed. Most Linux distributions come with a “Live” disk that you can burn and run this creates a test environment that is dead as soon as you shutdown. However it lets you know if your going to have any issues or if something isn’t supported. Now with this system not only do I need tools to communicate with the devices and tools to copy and save, I also want the ability to use some diagnostic and recovery tools. Again free as in “free beer” being what I’m after I’ll use PhotoRec and Testdisk. Two powerful command line utilities (Donations to the Developer are appreciated and help in sure the longevity of the app).

There may be things that you think of later that you want or need so you want to make sure your System is expandable. Make sure you leave room on the OS hard drive for updates/upgrades and for those programs you find that you just cant live without. Now hardware wise I’m not going to have to do much until the programs just wont work anymore then by that time I should have another old system I can use. The best plan is really one that you can keep up with. I’ll be using Fedora for my OS and the reason is, is that it supports all I need. Now some may use Ubuntu, Linux Mint or even just sticking with the already familiar Windows. What ever OS you use make sure you know how to use it and make sure you have the apps you need for it. If it doesn’t support a must needed app then its not going to do you much good. You can fortunately do this in a Live environment from any computer. If your going to use Windows then you’ll either have to get ubcd4win or install in your normal system or another “test” system. I have some bash files that I just can’t seem to want to live without. These mostly are for backup purposes but are definitely not limited to this.

You can have a dedicated android system in no time with very little out of pocket expense. Its limits are only what you decide they are. Putting everything together and installing it only took me a few hours. Most do to the fact that I wanted to make sure my mount points were correctly identified and that my apps and all where working as expected.