Sony Mylo
Sun SPARCstation 2
Toshiba Satellite T2100
Toshiba Satellite 205CDS
OLPC XO

Sony Mylo COM-2

In this picture it displays Category2.html. The steel rule is 15 cm long.

Sun SPARCstation 2 4/75 (sun4c architecture) factory dated 1991 apr 24.

128 MB RAM, 1 GB and 500 MB disks. Computing power comparable to a high end 486 or low end Pentium. Except for a few years languishing in storage, the machine has been in operation almost continually since it was purchased. A disk drive and the bearings in the fan have been replaced.
name = carnot.yi.org
OS = Debian 3.0, Woody.
kernel = Linux 2.2.20.
Web server = Apache 1.3.9.
Mail server = Postfix 1.1.11.
Secure shell = ssh 3.4p1-1.woody.

Toshiba Satellite T2100

Intel 80486, 8 MB RAM.
Video = VGA 640x480.

The BIOS was upgraded from version 1.3 to version 5.00 using t21mv500.exe obtained from http://www.toshiba.com/.

The fixed disk drive was replaced with an ACS-CF-IDEToCFA-SFF adapter which accepts the same CF card as is used in the desktop machines. This machine can boot from either the FreeDOS or the PC Native Oberon partition on the CF. About 23 s elapses from activation of the power switch until the pointer is alive.

Installation included making an acrylic mounting plate, making a special ribbon cable and cutting openings in a plastic part of the cowling. Pictures illustrate.

Instructions for access to the drive bay are in http://www.bixnet.com/toshiba2.html.

The ribbon cable is a 5" 44 Pin IDE laptop 2.5" HD Extension M/F Cable from http://www.cablesonline.com/, modified. With the hdd connected via the ribbon cable, as purchased, the machine would not boot. Inspection of the cable and a check with the ohmmeter revealed that it was not a true extension cable. Conductor 1 was in the upper position on one end and in the lower position on the other end. Referring to the pin numbers on the connectors, this was the connectivity of the cable.
1 --- 2
2 --- 1
.
.
43 --- 44
44 --- 43
This is a consequence of both 44 pin connectors having the same handedness. For an example of the connector, Google "site:3m.com 152244". A hypothetical resolution of this problem is to put a connector of opposite handedness on each end of the ribbon. Such connectors are scarce in this locale. Therefore I removed one of the connectors, twisted adjacent pairs, and reinstalled the connector. To hold the wires in position while the connector was reinstalled, they were laced onto a simple jig with a nylon monofilament. The jig is just a piece of 3 mm acrylic with 25 holes at 2 mm intervals along one edge. The extra hole at each end of the row helped to fasten the monofilament. The drill was a little larger than twice the diameter of the monofilament. The ribbon should be trimmed across the line of insulation punctures before twisting pairs. Piercing the insulation at the old punctures will invite a shorted connection. In case you prefer to build the ribbon from parts, these can be used.
44 pin female IDC ribbon cable connector:
http://www.cablesonline.com/44pinfemidcr.html
44 pin male/male pin header:
http://www.cablesonline.com/44pinmalidc2.html
44 pin 2mm pitch ribbon cable:
http://www.cablesonline.com/1foot44pin20.html

ACS technical support suggests this clever alternative to twisting pairs. The result will not fit in the T2100 but may work in another system. Check the connectors in your system before making this construction. Add a second connector on one end of the ribbon. The connectors must be side by side with no intervening gap. A header, which serves as gender changer, can then be installed in the inner two of the four rows of 22 holes in the pair of connectors. In cross-section the completed ribbon has this appearance.

  |  | <- male pin header 
  |  | 
+--++--+              +--+ 
|  ||  |              |  | 
|  ||  |--------------|  | 
+--++--+              +--+

The space under the steel cover of the drive bay in the T2100 was not sufficient to accomodate the 5" length of the ribbon. It was shortened, as visible in the picture with the parts assembled. Measure the required length of the ribbon carefully and allow at least 5 mm extra. The height under the steel cover was also insufficient for the master/slave jumper pins. The pins and jumper block were trimmed down about 1.5 mm. Take care that the pins do not protrude above the jumper block. Piercing the insulation on the bottom of the steel plate can produce a fault.

The acrylic mounting plate serves two purposes. It positions the CF card where it is relatively safe from impact about 0.5 mm inside the cowling of the machine. Secondly, the milled recesses in the mounting plate accomodate the components on the bottom of the adapter. Not everyone has a milling machine and the time to cut the recess. An altenative is to mount the CF adapter on a pair of collars or stacks of washers. Check clearances carefully so that components are not squeezed. Also check the height available where you intend to install the adapter, before making a mounting plate.

Visible in the last two photos is a black thread used to pull the card. Also visible is a wire with black insulation which connects the ground of the system board to the ground on the ACS adapter. The adapter ground is marked on the PCB and is mentioned in the Web-accessable ACS manual.

This installation required several days of work in total. A suggestion for a different part or arrangement, or a query to clarify a detail is welcome. Email the address on the shop home page.

Toshiba Satellite 205CDS

This is an early Pentium model. It should run Bluebottle but it is not yet installed.

This machine also was endowed with an ACS-CF-IDEToCFA-SFF adapter. The fixed disk was left in place; the adapter replaces the removable CD drive. In this case the operating systems are installed on the hdd while my data is available from the CF card. Startup of ETH Oberon / PC Native 05.01.2003 requires 30 s. Why is this machine slower starting than the T2100? Probably the biggest factor is the hdd being slower than the CF card.

OLPC XO

The famous machine in ongoing development by the One Laptop Per Child project. It successfully runs UnixAos, developed and maintained by Günter Feldmann. It can be started by giving the command "aos" at a terminal prompt in Gnome or in the terminal activity in Sugar. With the screen of the XO being 1200 x 900 pixels in 153 mm x 115 mm, the Aos and Oberon displays are noticeably compressed in comparison to a desktop system. Refer to the following usage notes.

Salient Features

AosUnix Usage Notes

#!/bin/bash 
# A script to start UnixAos with a working directory in a removable flash store.  
# fsck is applied to the working filesystem before mounting is attempted.  
#  
# Preconditions for this script.   
# * The device containing the working files has a reliable name,  
#   typically made by a udev rule.  
#   Refer to https://wiki.archlinux.org/index.php/udev#Writing_udev_rules .  
#   In this instance the name is GreenSDHC or KingstonUSB. 
# * The following assignment to WorkingDevice is appropriate. 
# * A mountpoint exists for the working directory.   
#   The case statement selects the mount point. 
#   A system may automount a device at another location and automounting  
#   is harmless to this script. 
# * The following assignment to WorkingMountPoint is appropriate. 
# * An appropriate entry exists in /etc/fstab.   
#   This in an entry in dalton:/etc/fstab. 
#   /dev/GreenSDHC /home/peter/MY ext2 defaults,noauto,user,users 0  0 
# * The user can umount the working device. 
#   Note the users option in /etc/fstab.  Add your userid to users of  
#   /etc/group. 
# * The user can fsck the working filesystem. 
#   Add your userid to the adm of /etc/group and "chown root:adm /sbin/fsck". 
#   Alternatively, change "/sbin/fsck" below to "sudo /sbin/fsck" and adjust  
#   /etc/sudoers accordingly.  Execution of fsck can be tested interactively. 
# * The user can mount the working device.  Note the user option in /etc/fstab. 
# 
WorkingDevice=GreenSDHC  
Host=$(hostname -s) 
echo Host is $Host. 
HostInitial=${Host:0:1}  
echo HostInitial is $HostInitial. 
case $HostInitial in    
  d) WorkingMountPoint=/home/peter/MY ;;    
  j)  WorkingMountPoint=/home/peter/MY ;;    
  x)    WorkingMountPoint=/home/olpc/MY ;;   
  *) { echo "Host initial, "$HostInitial", not recognized."; 
       echo "Create Configuration."$HostInitial".XML and Oberon."$HostInitial".Text";    
       echo " and add the case in the myaos  script.";    
       exit; };; 
esac   
if [ ! -b /dev/$WorkingDevice ] 
  then   
  echo /dev/$WorkingDevice containing working files not connected.  Aborting.  
  exit   
fi   
if mountpoint -q $WorkingMountPoint 
  then  
  echo  umounting /dev/$WorkingDevice prior to fsck.  
  umount /dev/$WorkingDevice  
fi  
if ! /sbin/fsck /dev/$WorkingDevice 
  then  
  echo fsck found a problem in /dev/$WorkingDevice.  Try again.  
  exit  
fi  
echo Filesystem in /dev/$WorkingDevice passed fsck.  Proceed with mounting.  
mount /dev/$WorkingDevice  
if ! mountpoint -q $WorkingMountPoint 
  then   
  echo mount /dev/$WorkingDevice failed.  Aborting.   
  exit   
fi 
AosContextDir=$PWD   
cd $WorkingMountPoint   
if [ ! -f Configuration.$HostInitial.XML ] 
  then   
  echo Configuration.$HostInitial.XML not present in $WorkingMountPoint.  Aborting.   
  exit   
fi   
echo Copying into Configuration.XML. 
/bin/cp Configuration.$HostInitial.XML Configuration.XML   
if [ ! -f Oberon.$HostInitial.Text ] 
  then   
  echo Oberon.$HostInitial.Text not present in $WorkingMountPoint.  Aborting. 
  exit   
fi  
echo Copying into Oberon.Text. 
/bin/cp Oberon.$HostInitial.Text Oberon.Text   
#if [ -f AOS*.Log ] 
#  then   
  /bin/rm AOS*.Log  
#fi   
/bin/rm Trap*.txt 
#if [ -f .tmp.* ] 
#  then   
  /bin/rm .tmp.*  
#fi  
/usr/bin/aos   
cd $AosContextDir
  • For any practical usage, a mouse, with three buttons or two buttons and scroll wheel, is essential. The control key, <Ctrl> can serve in place of the third mouse button but only for a cursory demonstration.
  • On the XO, the Meta button is <Hand>, second from left and fourth from right in the bottom row of the keyboard.
  • A file in the system directory is covered by a file of the same name in the working directory. Therefore any file in the system directory can be left undisturbed while a copy in the working directory is modified. For example /usr/aos/system/Configuration.XML should be copied to the working directory and modified there. This in a Linux console.
    cp /usr/aos/system/Configuration.XML ~/<WorkingDirectory>/
    Then edit the working copy in Linux or in Aos.
    Similarly for the configuration of the Oberon subsystem, /usr/aos/system/Oberon.Text. Edit in Oberon.
  • An Oberon subsystem can be started interactively with Main Menu > Develop > Oberon Fullscreen. It can be started automatically by appending this setting to Configuration.XML, Autostart section.
    <Setting name="Start an Oberon process" value="Oberon.Start Oberon 1260x820 0 12 ~"/>
  • At first glance, the text in the Oberon subsystem is too small for normal legibility but observe that the Oberon area from the preceeding configuration is significantly smaller than the AOS desktop. With the mouse, drag the lower right corner of the Oberon area so that it occupies most of the AOS desktop.

    A similar result can be accomplished using the zooming keys. The point of the mouse cursor is the invariant point of the zoom scaling. The zooming functions of <pg up> and <pg dn> are the reverse of those described in Docu > Tutorial. Meta+<pg dn> zooms in and Meta+<pg up> zooms out. Move the cursor to the desired invariant point; in this case the upper left corner of the Oberon area. Then hold <Hand> and click <pg dn> until the scale is satisfactory. The scaling can be inverted by returning the cursor to the same invariant location and applying <Hand>+<pg up>.

    Requirements for Aos to Run on the Bare Hardware

    Valid CSS! Valid HTML 4.01 Transitional
    Best viewed with a Web browser.

    ET.OpenAscii ComputerSystems.html HTML.Compile * ~ Desktops.OpenDoc ComputerSystems.html ~ FTP.Open easthope@easthope.ca FTP.PutFiles ComputerSystems.html ~ FTP.Close

    Desktops.OpenDoc "http://carnot.yi.org/ComputerSystems.html#OLPC"