A pretty good week for 9fans! Grats all involved! Paul On Fri, Sep 16, 2011 at 3:32 PM, andrey mirtchovski wrote: > this is cool! > > On Fri, Sep 16, 2011 at 4:23 PM, John Floren wrote: > > We would like to announce the availability of Inferno for Android > > phones. Because our slogan is "If it ain't broke, break it", we > > decided to replace the Java stack on Android phones with > > Inferno. We've dubbed it the Hellaphone--it was originally Hellphone, > > to keep with the Inferno theme, but then we realized we're in Northern > > California and the change was obvious. > > > > The Hellaphone runs Inferno directly on top of the basic Linux layer > > provided by Android. We do not even allow the Java system to > > start. Instead, emu draws directly to the Linux framebuffer (thanks, > > Andrey, for the initial code!) and treats the touchscreen like a > > one-button mouse. Because the Java environment doesn't start, it only > > takes about 10 seconds to go from power off to a fully-booted Inferno > > environment. > > > > As of today, we have Inferno running on the Nexus S and the Nook > > Color. It should also run on the Android emulator, but we haven't > > tested that in a long time. The cell radio is supported, at least on > > the Nexus S (the only actual phone we've had), so you can make phone > > calls, send texts, and use the data network. > > > > The Inferno window manager has been re-worked with cell phone use in > > mind. Windows are automatically sized to fill the whole screen. The > > menu has been moved to the top and the menu items have been made > > significantly larger. Physical buttons on the phone are now used to do > > many common tasks: > > > > (these keys are for the Nexus S, different bindings are used for > > the Nook, which has different keys available) > > * Back: Close the current window > > * Menu: Toggle the onscreen keyboard > > * Home: Minimize the current window > > * Power: Turn off the screen > > * Power+Volume Up: Open the screen brightness widget > > * Power+Volume Down: Turn off the phone > > * Power+Home: Restart Inferno > > > > Installation is reasonably simple. You'll need the Android SDK > > (http://developer.android.com/sdk/index.html), with the platform-tools > > package installed for the adb and fastboot utilities. We also strongly > > recommend installing CyanogenMod on your phone before > > proceeding--that's what we use to test. > > > > First, make absolutely sure you have the "adb" and "fastboot" > > commands in your path--see the previous paragraph regarding the > > SDK and try running "adb" to be sure. Download the tarball from > > http://bitbucket.org/floren/inferno/downloads/hellaphone.tgz and > > unpack it in your root. You should end up with a /data/inferno > > directory (we put it there because of the Inferno build > > process). Then, go to the /data/inferno/android directory and run > > the Reflash-Nexus-S.sh script (assuming you have a Nexus S. Run > > Reflash-Nook-Color.sh if you have a Nook). This will > > automatically set up the phone to boot into either Inferno or the > > regular Java environment--during bootup, the screen will go solid > > white; if you touch the screen at this point, it will boot into > > the regular Android environment, otherwise it will timeout and go > > to Inferno. However, at this point you're not yet ready to boot > > into Inferno, so reboot the phone and touch the screen to go into > > the regular Android UI. The final task is to run the command "cd > > /data/inferno; ./parallel-push.sh". Reboot, let it boot into > > Inferno, and you're ready to go. > > > > You can also clone the repository > > (http://bitbucket.org/floren/inferno/) and build it yourself, but this > > is a significant effort. I do not recommend it if you wish to simply > > try the system, but if you want to do development you should get the > > repository. > > > > Disclaimer: If you break your phone, it's not our fault. Don't email > > us, don't come knocking on our door, and don't call us--oh wait, you > > won't be able to do that anyway, your phone is broken! > > > > Credit where credit is due: Ron Minnich came up with the initial > > idea--we've been kicking the idea of a Plan 9/Inferno phone around for > > years. Our summer interns, Joel Armstrong and Joshua Landgraf, did the > > lion's share of the work of making Inferno into a usable cell phone > > OS--no small feat, considering that neither had any Limbo or Inferno > > experience before the start of the summer! They re-wrote the UI, > > puzzled out the undocumented cell radio interface, figured out audio, > > worked to make Inferno more portable across phones, and generally > > figured out how to make Inferno and the Android kernel coexist > > peacefully. Andy Jones, another intern, also did some very early work > > with Android that helped us figure out the Android init process and > > how to build for Android. I took care of getting Inferno running on > > the phone in the first place and have been adding things occasionally > > since then. We would also like to thank Andrey Mirtchovski for > > providing the OLPC framebuffer code (which ported to the Android > > phones relatively easily), and of course Charles Forsyth for keeping > > the Inferno torch lit all these years (and helping me figure out some > > puzzling problems throughout the summer)! > > > > > > -- I'm migrating my email. plalonde@telus.net will soon be disconnected. Please use paul.a.lalonde@gmail.com from now on.