Give One Get One laptop for software development

Edward Cherlin echerlin at gmail.com
Tue Dec 25 21:39:20 EST 2007


On Dec 23, 2007 12:50 PM, M. Edward (Ed) Borasky <znmeb at cesmail.net> wrote:
> Danilo Câmara wrote:
> > I'm a student at State University of Campinas, Brazil. I'm researching
> > efficient implementation of Elliptic Curve Cryptography in constrained
> > environments.

How much memory for execution?

How much memory and storage for development?

What is your toolchain?

What libraries do you need?

I would want to work out algorithms in APL and translate to something
else after they were working. I may be able to provide an APL for the
XO next month. It's 29K. See Executable Math on the Wiki.

> I'm working with an ARM XScale PXA270 platform but would
> > like also to work with a x86-based constrained platform. I think the
> > OLPC laptop is an interesting option for many reasons.
> >
> > I'd like to know if one of those laptops of the Give One Get One program
> > are suitable for software development? I guess so, but would like to be
> > sure.

We have to know a bit more to be able to give you useful answers.

> How are you going to get an XO? The Give One Get One program is only in
> the USA and Canada, and the other units go to young children.

I have a Brazilian friend in the US who may be able to help you there.
She and her husband are currently in Brazil with their own XO.

> Assuming that you can obtain one, there are two ways to develop for the XO:
>
> 1. Cross-develop on a more powerful platform, download the software to
> the XO, and test it.
>
> 2. "Native" develop and test on the XO itself.
>
> The XO as currently shipping does *not* contain a development tool set
> other than Python and Etoys, which is a version of Squeak, which is a
> Smalltalk IDE. In particular, there is no Perl interpreter on the XO,
> and there is not GCC or any of the conventional Linux development tool set.

The XO is memory and storage constrained. You can plug in a multi-G
flash drive or an SD card for more storage, but you can' get more
memory. There is no swap partition. You could plug in an external hard
drive and set up a swap there.

There are instructions on the OLPC Wiki for dual-booting to Debian.
You could adapt them to create a command-line development environment
using a text-mode programming editor.

> On top of that, there is very little room on the XO's base flash hard
> drive (1 GB) for any additional software at the system level. As a
> consequence, I think you'd want to either cross-develop using the
> standard GNU/Linux tools, or use a more compact development tool set on
> the XO itself.

Yum is provided, so you can install a few hundred megabytes of
software with no difficulty. Large amounts would require a bit of
surgery, to install software other than in default locations and
expand the path or symlink everything.

> I recommend Forth for the "compact development tool set on the XO
> itself". The stock Fedora "gforth" package should work, although I've
> only tested it on an emulated XO -- my physical unit has not arrived
> yet. And there is a version of Forth that is more or less "XO-native" --
> it's a port of the boot firmware to run in the Linux environment.

Power on the XO. During the boot countdown, press the Esc key (top
left, x in a black circle). This will put you at the FORTH 'ok'
prompt. There are FORTH lessons on the Wiki.

> > Do I need any special hardware or cable to connect to the OLPC laptop
> > from my desktop? A telnet or SSH connection is all I need.
>
> Yes ... once you set the "root" and "olpc" passwords on the unit itself,
> you can "ssh" in over either the wireless network or via a USB standard
> Ethernet connection. I don't believe the "telnet" server is there --
> nobody I know uses telnet any more because it's insecure.
> >
> > I want real timings, so I think an emulated solution would not be
> > suitable.
>
> Well ... I guess that depends on how good your emulator is. But the
> Geode is more like an Athlon than anything else -- I think it has MMX
> and 3DNOW! but not SSE or 3DNOWEXT or any later SSE instruction sets.
> That's one of the reasons I think you might want to look at Forth --
> it's a complete IDE, it has an assembler built in, and it's pretty easy
> to profile Forth code at the chip level. That's tough to do in C because
> of the edit-compile-link-run cycle. BTW, gForth works just fine on the
> XScale. :)
>
> Oh, yeah -- one other question -- how are you doing elliptic curve
> crypto on the XSCale? Isn't it floating-point intensive?


-- 
Edward Cherlin
Earth Treasury: End Poverty at a Profit
http://www.EarthTreasury.org/
"The best way to predict the future is to invent it."--Alan Kay


More information about the Devel mailing list