This is how to get Puppy Linux working on an OQO Model 01.  The instructions
and files are provided as is.  No guarantees, no nothing.  The instructions do
not deal with bluetooth, wired ethernet, or the tablet stylus. I recommend
doing an install with the OQO connected to a standard VGA terminal and to a
USB keyboard and mouse, until everything is working right.

  1. Get the following Puppy Linux files e.g. from a Puppy live CD:
        vmlinuz
        initrd.gz
     and depending on the version (here for Puppy 2.15), two files 
        pup_215.sfs
        zdrv_215.sfs
     and optionally a file with personal saved information
        pup_save.2fs
     and optionally to do system development or compilation (for 2.15)
        devx_215.sfs

  2. Find out how to start Linux with grub. To avoid mucking around with
     partitions etc., I recommend following the instructions provided at
     http://www.icpug.org.uk/national/linnwin/.  This tells you how to run
     grub directly from a Windows 98 or XP partition, like on the OQO.

  3. Place vmlinuz and initrd.gz in some location as determined in step 2.
     Place the other 2-4 files from step 1 at the top level of a partition
     (e.g. the C: drive).  Puppy Linux will find them when it boots.

  4. Boot Linux and you should be able to get to an X windows desktop after
     answering some questions about the keyboard and the video terminal.

The OQO specific stuff, to be done within Linux, once it is up and running:

  1. The hardest job is to get the wifi working.  Either recompile usbvnet5A
     (modified to mention the OQO product-id and vendor) or use the version
     included here, which is for Linux kernel 2.6.18 (used in Puppy 2.15).
     Copy usbvnet5A.ko to /lib/modules/<kernel version>/kernel/drivers/net/.

  2. Edit /etc/rc.d/rc.local to have these three lines at the end:
         modprobe battery
         modprobe ac
         modprobe usbvnet5A
 
  3. To permit the included suspend-to-ram script to reset the screen properly
     when waking from sleep, copy the included vbetool to /usr/sbin.  This
     vbetool was extracted from vbetool_0.7-1.1_i386.deb.

  4. To go back and forth between an external screen (1280x1024) and the OQO
     internal screen (800x480), copy the included oqodisptool to /usr/sbin.
     This oqodisptool was extracted from oqodisptool_0.1_i386.deb.
     Then do
         ln -s /usr/X11R7/lib/xorg/modules/libpcidata.so /usr/lib/libpci.so.2 
     Copy the file oqo-xorg.conf to /etc/X11.  This conf file can be used with
     the included oqo-xwin script to restart X windows on either screen.

  5. Copy the scripts suspend-to-ram and oqo-xwin to ~/my-applications/bin

That's it!  Works for me.  Your kilometrage may vary.
