View: HTML | Text | PS | PDF | RTF | Wiki | DocBook | DocBook Inline | changelog | about this header Circle Jeff Boweron  
Tabletify

Tabletify

Tabletify is a utility for Linux that will download and modify the latest CM9 for the Verizon Galaxy Nexus (Toro) to make it a tiny tablet. While I'm at it, I can also get Franco's kernel into your ROM for a single-stop flash.


Table of Contents
1. Description
2. Usage
3. Installation
3.1. Installing Under Windows
A. About Me

1. Description

Tabletify is in the very early days and may not progress without support from my adoring fans. The simple truth is the scripts in my PPA are there because I find them useful, unless I hear that other people find them useful they only get the features I want to add. If you'd like something that's not there make sure you let me know.

Standard disclaimer, I'm not responsible if your phone dies because you used my script, flashed a ROM it generated, or if a hole is torn through the space-time continuum causing the universe to blink out of existence. Due the the risk of the latter event, please refrain from using this script near known rift locations such as Cardiff which, by the way, would be a great website for comparing automobiles.

Currently Tabletify only officially supports the Verizon Galaxy Nexus, aka Toro, CM9 nightlies, and Franco's kernel. However, I now allow you to specify the model codename (for example, I strongly suspect using maguro will work just fine).

The idea for tablet mode is based off of Android Ninja's post and it's where I, ahem, "obtained" the contents of tabletmod.zip (however, I removed Apex launcher since I use Nova and didn't want to keep deleting it...). The other problem with Android Ninja's mod is that it outright replaces build.prop which breaks the ROM name.

The entire point of Tabletify is to create a new ZIP that I can install in a single step instead of my current process of installing CM9 and the Tablet mod manually, booting up (deleting Apex if I remember), then installing Franco's kernel. Now I just run tabletify, push the zip to my phone, and install it using ROM Manager. No muss, no fuss and I can set up a cron job on my Linux box to automate the whole process should I choose to.

Why the focus on tablet mode? Because I can! Tablet mode isn't that much different from standard mode, but it's more space-efficient if you like things a little smaller. On a 3.5" screen I can see it as a bit difficult to use, but on the gigantic Galaxy Nexus screen I find it pretty cool. Unlike some other vendors, pretty much every app works just fine on a tablet, but some are tablet optimized (and this is the same version that runs on your phone, no need to purchase it again). One of the nicer ones is Mint, but to avoid a screenshot that looks like a DoD press release I'll let you play with that one yourself.

Table 1. Tablet Mode Screenshots

Figure 1. Launch Screen

Tablet mode merges the ICS soft buttons with the notification bar.

Figure 2. Lock Screen

One of the more useful features is the auto-rotating lockscreen.

Figure 3. Settings

The settings screen is one of many with a tablet layout, most apps will have a similar view.

Figure 4. Notification Bar

The notification bar on CM9 switches between showing notifications and quick access to toggle buttons.

Figure 5. Play Store

The Play store is tablet-optimized as well.

Figure 6. YouTube

The YouTube app brings a 3D scrollable UI for video selection. Don't blame me for the videos in the screenshot, I rarely use the app...


2. Usage

You can run tabletify with no parameters and it will default to downloading the latest CM9 nightly, the stock kernel, and my own tablet mod with a filename equal to the CM9 filename with a -tablet tacked onto the end. I do prompt you in this mode and if you abort it will print usage information.

--romfile|-r

Allows you to specify a local file instead of downloading the latest CM9. This is useful if you want to experiment with another ROM (for example, CM9 for another phone model or AOKP) or if you just want to same some of CM9's bandwidth by downloading the torrent. You may also specify cm9 which is redundant since it's the default, however it will bypass the pesky "are you sure" screen in case you want the defaults but want a non-interactive version.

--model|-m

Specifies the CM9 model name. The two most common ones will likely be toro (the default, and the CDMA Galaxy Nexus) or maguro (the GSM Galaxy Nexus). For a complete list, just run tabletify --model and it will list them all for you, including CM7-only models that I would not recommend trying. Yes, the CM team calls this the "device" but, sadly, I already used -d for the --dpi parameter.

--tabletmod|-t

If you'd like the use Android Ninja's original mod. Note that I ignore the build.prop changes and make my own to the ROM's build.prop.

--kernel|-k

Allows you to specify a kernel filename or franco which will download the latest Franco milestone kernel. If you want the nightlies you can now specify franco-nightly but for something like GLaDOS or Imoseyon you'll need to download them manually and specify the file (for now).

--output|-o

Specifies a custom output file. This will overwrite anything that's already there, so I would probably refrain from using something like /vmlinuz. If this isn't specified, I'll use the ROM filename, append a -tablet and a kernel designation (Franco kernels only) as well as remove a signed designator since the resulting file won't be signed. Note that this filename may or may not make sense or be useful to you, if you use a non-CM9 ROM or a custom non-Franco kernel I'd recommend using the --output parameter.

--include|-i

This is the only parameter that can be used an arbitrary number of times, it allows you to include custom ZIPs into your ROM. For example, you can download a black-themed set of gapps and specify them here. You can also use wildcards, or specify multiple files in a space-separated list.

--dpi|-d

Allows you to override the default DPI value of 192.

--version|-v

Displays the help followed by the current version number and exits, if I've remembered to update the version number this could be useful...

--help|-h

Displays the help and exits.

Examples:


tabletify

Prompts you to download CM9 nightly and use the default tablet mod, stock kernel, and default dpi values.


tabletify --kernel franco --output update-cm9-franco-tablet.zip

Downloads the latest CM9 nightly, the latest Franco milestone, mashes them both together, sprinkles in a little tablet pixie-dust and spits out update-cm9-franco-tablet.zip. Note that in the real world I'd probably use update-cm9-$(date +%Y%m%d)-franco-tablet.zip which will include today's date but I didn't want to confuse things.


3. Installation

Most Ubuntu users should strongly consider using my Launchpad PPA which will help keep your package up-to-date. You can install it with the following commands:


sudo add-apt-repository ppa:ubuntu-ebower/ebower
sudo apt-get update
sudo apt-get install tabletify

If you're not fortunate enough to be able to use this, you can download the packages here:


3.1. Installing Under Windows

I've made a conscious decision to develop exclusively for Linux, if you use Windows or (heaven help you) OSX you can still run my programs for free. If I developed for Windows, you'd need to hope that Wine works or fork over the money for a Windows install disc. If I developed for OSX you would be legally obligated to buy Mac hardware due to restrictive licensing. Since I develop for Linux, you can obtain Linux with zero additional cost and run it on just about any system known to man.

First, try out Linux. I use Ubuntu which is pretty user-friendly, but feel free to check out other distros (or, if you want a more complete list, check out the excellent GNU/Linux Distribution Timeline). Fedora is another choice but it uses a different root than Ubuntu (RedHat vs. Debian) so some things will be different. Personally I'd rather be running Slackware, but that's not for someone who needs to read how to install my stuff under Windows. Download a CD and try it out, worst case you'll like it and install it alongside your existing OS or even as your primary OS.

Barring that, try out VirtualBox, installing this will allow you to install Linux within your current OS. This will let you run my programs just fine and try out Linux without making any changes to your existing system.

Finally, Windows users can also try Cygwin. It won't let you run Linux programs, but since the majority of my "programs" are really scripts you may be able to get them to work.


A. About Me

My name is Jeff Bower, I'm a technology professional with more years of experience in the telecommunications industry than I'd care to admit. I tend to post with the username jdbower on various forums. Writing these documents is a hobby of mine, I hope you find them useful and feel free to browse more at https://www.ebower.com/docs.

If you've got any questions or feedback please feel free to email me at docs@ebower.com or follow me on Google+ or Twitter.