9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Bruce Ellis <bruce.ellis@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 12:48:47 +1000	[thread overview]
Message-ID: <CAJQxxwmjGUi8jXqxaV-X49sL0XFxF4hcYHNSJaGf37jkBkPd-A@mail.gmail.com> (raw)
In-Reply-To: <CAL4LZyiCwu=2MwnGPvpk_NzkvwJ-NR8x8eo_3sOW2zqEWZxsfw@mail.gmail.com>

did you stick with tk (seems so). a sad relic.

brucee

On 17 September 2011 12:46, John Floren <john@jfloren.net> wrote:
> By the way, it's pretty easy to try things out while the phone is
> running. Just push over /data/inferno, then you should be able to do
> something like this:
>
> % stop zygote # this kills off the java UI
> % /data/inferno/Android/arm/bin/emu-g
> ; wm/wm
>
> The README.android file should tell you all you need to know about
> managing the radio. Oh, and if you use the network, it's a good idea
> to do a "setprop net.dns1 8.8.8.8"  (at the Android prompt, not in
> Inferno) first, otherwise DNS doesn't seem to work right. When you're
> sick of testing inferno, just Ctrl-C the process and run "start
> zygote".
>
> I've found a few things that need to be fixed and will be working on
> them Monday. However, if you just want to get it running on your own
> phone, you should be able to do it. You'll need to have the full
> Android build environment set up, not just the SDK, and you'll need to
> have adb in your path. You may also need to put "agcc" (provided in
> the repo) into your path in order to actually build Inferno. I believe
> README.android has a summary of how to build Inferno yourself down at
> the bottom.
>
>
> John
>
> On Fri, Sep 16, 2011 at 7:40 PM, John Floren <john@jfloren.net> wrote:
>> We've only had one device with an actual radio in it, so we haven't
>> been able to test on anything but the Nexus S, but there's probably a
>> total of 100 lines of device-specific code. Mostly, you have to figure
>> out:
>>
>> 1. The screen dimensions and the color depth
>> 2. Which devices are for the touchscreen, which are for the buttons
>>
>> emu/port/main.c and emu/Android/screen.c contain all the
>> device-specific code, I think. If there is any justice, the radio
>> interface will be the same--we talk to "rild", the radio daemon,
>> rather than directly with the hardware.
>>
>> John
>>
>> On Fri, Sep 16, 2011 at 7:35 PM, Devon H. O'Dell <devon.odell@gmail.com> wrote:
>>> How difficult is it to get specs and port this to other android devices? I'd
>>> love to run this on my motorola droid if I could get all the radios working.
>>>
>>> --dho (via said droid)
>>>
>>> On Sep 16, 2011 10:25 PM, "paul.a.lalonde@gmail.com"
>>> <paul.a.lalonde@gmail.com> wrote:
>>>> For all these plan9ish things on OSX I run a case-sensitive file-system in
>>>> a file; just use the Disk Utility to make one and then mount it. I link mine
>>>> into my home directory and use it for all case-sensitive apps.
>>>> Paul
>>>>
>>>> Sent from my HTC Inspire™ 4G on AT&T
>>>>
>>>> ----- Reply message -----
>>>> From: "John Floren" <john@jfloren.net>
>>>> To: "Fans of the OS Plan 9 from Bell Labs" <9fans@9fans.net>,
>>>> <inferno-list@vitanuova.com>
>>>> Subject: [9fans] Announcing Inferno for Android phones
>>>> Date: Fri, Sep 16, 2011 7:01 pm
>>>>
>>>>
>>>> One caveat that I just came across: If you're trying to set up your
>>>> phone from Mac OS X, it's quite possible that the case-insensitive
>>>> filesystem will bite you. We have two directories at the same level,
>>>> named "android" and "Android". If you do an adb push from OS X,
>>>> they'll both end up in a directory called "android". Here's how you
>>>> can fix it:
>>>>
>>>> (run adb shell)
>>>> # mkdir /data/inferno/Android
>>>> # mv /data/inferno/android/arm /data/inferno/Android/
>>>>
>>>> There may be other problems lurking, but I'm pretty sure all of the
>>>> stuff Inferno needs is all lowercase.
>>>>
>>>>
>>>> John
>>>>
>>>> On Fri, Sep 16, 2011 at 3: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)!
>>>>>
>>>>
>>>
>>
>
>



-- 
Don't meddle in the mouth -- MVS (0416935147, +1-513-3BRUCEE)



  reply	other threads:[~2011-09-17  2:48 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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
  -- strict thread matches above, loose matches on Subject: below --
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
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
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

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=CAJQxxwmjGUi8jXqxaV-X49sL0XFxF4hcYHNSJaGf37jkBkPd-A@mail.gmail.com \
    --to=bruce.ellis@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).