[squeak-dev] SqueakNOS on XO (was Re: Summe of Code 2008 Project
bert at freudenbergs.de
Thu Mar 6 07:29:59 UTC 2008
On Mar 5, 2008, at 22:29 , Jecel Assumpcao Jr wrote:
> Bert Freudenberg wrote:
>> Well, if it performs acceptable on the B2, it will fly on the
>> production machines :)
> In terms of performance, it should be very close to what the included
> eToys achieve now on the two machines, so we can even run some
> benchmarks and have an idea of what the improvement would be. Note
> the extra memory wouldn't help since even 128MB is far more RAM than
> this system would need.
> A B2 version of SqueakNOS might not run correctly on newer models
> due to
> hardware differences (Geode NX vs GX, camera interface and other
> changes). But it would be easy to make any necessary changes.
> For the initial port, I was thinking of a "proof of concept" where the
> graphics code would be patched to work at 1200x900 instead of 1024x768
> and the rest would be unchanged. If the keyboard and mouse work (and
> they probably would) then this would already allow some interesting
> demos. None of the rest of the hardware would work.
> The milestone that would move SqueakNOS from a cute demo to a
> alternative is being able to save an image. The project stalled before
> that was achieved. Everything that needs to be devoloped can be
> done at
> the Smalltalk level - you don't need any changes to the VM after it is
> basically working. But without being able to save you are limited to a
> painful cross development cycle: see some bug or improvement, make
> change, test it, go back to the PC, type the change once again,
> save the
> image, create a new bootable disk, boot the XO again and see if the
> change was properly incorporated. It would be much nicer (and make the
> difference between the project actually moving forward or staying
> as it
> is now) to: see some bug or improvement, make change, test it and save
> The gain in productivity would be comparable to OLPC moving from the
> cross development with LinuxBIOS to native development with
> OpenFirmware. Behold, the power of the interactive prompt!
> The internal Flash should be off limits, for now. So saving images
> either a USB drive (very complex drivers), using the wifi network
> complex drivers in addition to USB and a TCP/IP stack) or a SD card
> (most likely the simplest option). I would start out with multiple raw
> partitions to get as quickly as possible to the point of native
> development and then would code a FAT file system using that,
> moving to saving on regular files.
> After that things should move much faster, and it would be possible to
> add the camera, USB and the most popular types of devices, the
> wifi and so on.
Well, I actually would cheat a bit (if you would call it cheating).
OFW has all the drivers (including touchpad, keyboard, NAND, USB
drives, filesystems, Wifi, TCP/IP, Camera), and exposes them to the
OS. So you only need one little simple driver to access the OFW
device tree, and you should be good.
Some friends at the U of Magdeburg experimented with Squeak in Linux
framebuffer mode (no X11), and found that it performs worse. That's
because the X11 driver uses Geode-specific accelerations - these
might be worth to access natively.
- Bert -
More information about the Squeak-dev