From: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] Announcing Inferno for Android phones
Date: Sat, 17 Sep 2011 00:39:40 +0200 [thread overview]
Message-ID: <CAHcDtnnEOU2+5FAUkJJnAJbOgCpT-UTGLSxXKByAgaAQbSnCVQ@mail.gmail.com> (raw)
In-Reply-To: <CAK4xykX4YSfRTKHJm6E+pAuTaxmLxa=CMxfoxNt4b+WZXss6Vw@mail.gmail.com>
Brilliant.
Any idea how much work it would be to adapt that for the nokia n900?
(runs maemo linux as native OS, or an half-assed android -nitdroid-
with some hackery.)
On Sat, Sep 17, 2011 at 12:32 AM, andrey mirtchovski
<mirtchovski@gmail.com> wrote:
> this is cool!
>
> On Fri, Sep 16, 2011 at 4:23 PM, John Floren <john@jfloren.net> 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)!
>>
>>
>
>
next prev parent reply other threads:[~2011-09-16 22:39 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-16 22:23 John Floren
2011-09-16 22:30 ` Nemo
2011-09-16 22:32 ` andrey mirtchovski
2011-09-16 22:39 ` Mathieu Lonjaret [this message]
2011-09-16 22:43 ` John Floren
2011-09-17 10:58 ` Richard Miller
2011-09-17 12:24 ` Mathieu Lonjaret
2011-09-16 22:41 ` Paul Lalonde
2011-09-16 22:46 ` andrey mirtchovski
2011-09-16 22:49 ` Nemo
2011-09-16 22:49 ` John Floren
2011-09-17 18:02 ` John Floren
2011-09-17 18:26 ` Joel Armstrong
2011-09-21 22:06 ` Ethan Grammatikidis
2011-09-21 22:11 ` ron minnich
2011-09-21 22:14 ` John Floren
2011-09-22 7:38 ` Bruce Ellis
2011-09-22 9:59 ` Ethan Grammatikidis
2011-09-16 23:34 ` Bruce Ellis
2011-09-16 23:38 ` ron minnich
2011-09-16 23:59 ` Joseph Stewart
2011-09-17 2:01 ` John Floren
2011-09-17 4:24 ` ron minnich
2011-09-17 4:35 ` John Floren
2011-09-17 4:43 ` Skip Tavakkolian
2011-09-17 5:48 ` ron minnich
2011-09-17 15:36 ` Ethan Grammatikidis
2011-09-17 16:29 ` ron minnich
2011-09-17 17:46 ` Wes Kussmaul
2011-09-17 18:01 ` John Floren
2011-09-17 18:23 ` Joel Armstrong
2011-09-17 20:26 ` ron minnich
2011-09-17 21:14 ` Joel Armstrong
2011-09-17 21:15 ` Joel Armstrong
2011-09-17 21:25 ` ron minnich
2011-09-17 21:53 ` ron minnich
2011-09-17 22:05 ` ron minnich
2011-09-17 22:56 ` andrey mirtchovski
2011-09-19 17:25 ` John Floren
2011-09-19 17:29 ` ron minnich
2011-09-19 17:29 ` ron minnich
2011-09-19 21:49 ` Bruce Ellis
2011-09-19 22:09 ` Steve Simon
2011-09-19 22:13 ` Joseph Stewart
2011-09-19 22:19 ` hiro
2011-09-19 22:48 ` John Floren
2011-09-22 10:11 ` Ethan Grammatikidis
2011-09-22 12:30 ` Bruce Ellis
2011-09-23 13:30 ` Ethan Grammatikidis
2011-09-23 13:40 ` Richard Miller
2011-09-23 13:48 ` erik quanstrom
2011-09-23 13:51 ` Mathieu Lonjaret
2011-09-23 23:14 ` Bruce Ellis
2011-09-26 7:26 ` Tharaneedharan Vilwanathan
2011-09-26 10:02 ` Ethan Grammatikidis
2011-09-26 14:52 ` John Floren
2011-09-23 13:55 ` Brian L. Stuart
2011-09-23 14:05 ` Gorka Guardiola
2011-09-23 14:54 ` Jeff Sickel
2011-09-27 23:05 ` John Floren
2011-11-04 21:45 ` Lyndon Nerenberg (VE6BBM/VE7TFX)
2011-11-04 21:55 ` John Floren
2011-11-04 22:43 ` Masen Marshall
2011-09-17 2:24 paul.a.lalonde
2011-09-17 2:35 ` Devon H. O'Dell
2011-09-17 2:40 ` John Floren
2011-09-17 2:46 ` John Floren
2011-09-17 2:48 ` Bruce Ellis
2011-09-17 3:37 ` ron minnich
2011-09-17 3:40 ` ron minnich
2011-09-17 3:55 ` Bruce Ellis
2011-09-17 2:46 ` Bruce Ellis
2011-09-28 14:43 252608386
2011-09-28 14:56 ` ron minnich
2011-09-28 15:11 ` John Floren
2011-09-28 15:31 ` JS enter
2011-09-28 19:53 ` John Floren
2011-09-28 19:57 ` John Floren
2011-09-29 23:02 ` Bruce Ellis
2011-09-30 0:15 ` Ethan Grammatikidis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAHcDtnnEOU2+5FAUkJJnAJbOgCpT-UTGLSxXKByAgaAQbSnCVQ@mail.gmail.com \
--to=mathieu.lonjaret@gmail.com \
--cc=9fans@9fans.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).