More Pre Hacks and Inner Details Revealed
Seems like every time you turn around lately, a great new Pre hack has been discovered and lovingly documented for all the world to see. Originally created in the wake of Tuesday's release of the webOS Doctor tool, the Pre dev wiki has gone from blank slate to treasure trove, bursting at the seams with juicy modding goodness.
Intrepid hackers have accomplished everything from custom Universal Search engines to unlocking the three-page limitation in the Launcher, but the most truly impressive achievement thus far is the ability to directly install the 1700+ Optware Linux command-line packages - all without interfering with Palm's own built-in webOS applications.
Read on for a full list of what we hope will soon be easily-installed mods for all - including the latest on the Holy Grail of tethering. (In the meantime, if you're an experienced Linux user or just feeling adventurous, you can attempt it yourself.)
WebOS Technical Details
Now that the Pre is out and about and in the hands of some skilled tinkerers, more details of the innter workings of WebOS are making their way out. iPhone developer Steven Troughton-Smith has figured out some interesting stuff about Pre activation and using custom rom images. Steve discovered and detailed that the Pre can "easily" run unsigned firmware. He also details that the potential for future customization and more hacks are quite possible.
Another aspiring Pre hacker, Matthew Garrett, has posted some of the technical details concerning WebOS's Linux foundation, boot process and various other open source components.
Now onto the custom hacks... Let's get the big 'un out of the way first. Optware is the result of years of work from the nslu2-linux.org project, which was originally built around hacking Linux-running NAS hardware like the Linkysys NSLU2. It's a Linux package repository chock-full of apps like web servers, compiler toolchains and even things like Asterix (an open-source PBX platform). As mentioned in the introduction, you can now install these 1700+ packages onto the Pre, essentially turning the device into a full-fledged Linux computer. The best part? It's been rigged so that all of this can be done without getting in the way of webOS. There's no GUI for these apps as of yet - that will have to wait until the public release of the SDK - but they all work just fine via the command line.
Last night, I had a brief chat over IRC with Australia-based Linux developer Rod Whitby, who runs the NSLU2-Linux and Optware projects and has been contributing to the Pre hacking madhouse that is the #webos-internals IRC channel, in order to get a handle on what this all means for the less tech-savvy amongst us. The following is an edited transcript.
Rod Whitby: You should mention the Optware package repository, which has over 1700 command-line packages which can be directly installed on the Pre. These packages come from 4 years of work by the nslu2-linux.org project, and have been used by many many people on routers like the WRT54G and Network Attached Storage devices like the Linksys NSLU2. These are things like web servers, protocol analysers, complete compiler toolchains, etc. Even things like Asterisk, BitTorrent... None of them will have GUI front-ends at the moment. We need a public release of the SDK to achieve that.
Palminfocenter: But they can all be run from a command-line in the meantime? Do they all work straight off the bat?
RW: Yes, all the ones we have tried so far work fine. They are all designed to work completely alongside the existing vendor firmware, doing everything in the /opt directory and being able to operate even when / and /usr are read-only. We have recently upgraded the procedure so that we use our own ipkg-opt command to install the packages (Palm has a built-in ipkg command) so that we don't collide with Palm's built-in ipkg database.
PIC: This means use of the Pre as a full-fledged Linux computer is/will be quite doable - and it won't interfere with the built-in Palm stuff?
RW: Correct. Exactly that.
PIC: What about updates? Obviously it's early days, but will these mods be broken by Palm's over-the-air updates?
RW: The Optware packages are being installed in a loopback file that lives on /media/internal - the same place that you put your music files. So the worst case is that you'll just need to re-mount that loopback file after an update. This was a specific recent change to the procedure as well, to obviate problems on OTA updates.
PIC: These are impressive results for only a couple of day's work. At least, they seem that way to a non-savvy observer.
RW: I run the nslu2-linux.org and optware projects, and we've had lots of experience on getting Optware running on new devices as soon as we have root. We had a package feed specifically compiled and ready, waiting for the day when we got root.
PIC: "Specifically" compiled how? Did you choose mobile-friendly stuff that you thought would work well on Pre?
RW: It's specifically compiled for the OMAP processor on the Pre. There are no other Pre-specific modifications to Optware (yet). Palm have kept things very close to a normal Linux distribution, and therefore all things have "just worked" so far.
PIC: Is there any plan to make the installation of Optware and other Pre mods more user-friendly?
RW: We're working on a 1-step script now. When the public SDK is released you can be sure there will be a GUI app to install Optware, and use it via an on-device Terminal application. For the other mods that touch Palm code, we have some ideas about using subversion and quilt to be able to distribute and apply patches on the device, be able to undo them all for an OTA update and then reapply them. Being a pretty standard Linux box, we can use all these tools that normal software developers use for patching code directly on the device.
Universal Search Addons
One of the Pre's most notable features is Universal Search - just start hammering away on your keyboard to search anything you like. Or that's the theory, anyway - in practice, the Pre is initially limited to searching Google, Google Maps, Wikipedia and Twitter. You can fix that, though - all you need is root access and to follow the six steps listed on this page. And thoughtfully, there's even a page of pre-configured logo graphics and code for Amazon, BibleGateway, deviantART, eBay, Facebook, Google Images, IMDb, Last.fm, Merriam-Webster, RadioReference, Reddit and yelp.
Show Call Duration in Call Logs
Did you know that Sprint deliberately disables call duration information being displayed on their phones? Never having used their service, I couldn't tell you if it's true or not - but if you want this information to reappear on your Pre, then all you need to do is follow these instructions.
Only three launcher pages? Get serious, Palm- oh wait, you are. Pre actually has the functionality for adding and deleting Launcher pages built into its code already; you just need to uncomment it. So you can now re-create all those custom app categories you were used to on Palm OS. You'll find the instructions at the bottom of the same page as the Call Log mod.
Out-of-the-box, the Pre doesn't offer any kind of LED notification, which has been somewhat of a sore point for those who are used to having their phone light up when there's new messages etc. While a proper hack has yet to be implemented, this page shows it's definitely doable.
Possibly the biggest item on the Pre user's wish-list is the ability to use your Pre as a 3G wireless modem - an idea which was nixed by Sprint in the intervening period between Pre's January debut and June release. Unfortunately for those eagerly awaiting a hack, the public discussion group at #webos-internals is not going to be working on this, as tethering would enable users to directly violate their Sprint Terms of Service and land the whole effort in legal hot water. On the bright side, it has (apparently) already been accomplished - so all that's needed is someone brave enough to release the mod publically and risk the Wrath of Palm.