Home page

 Gecko Edubook

This page is currently a work-in-progress

My two units arrived early February 2010, one with Puppy 4.3.1 pre-installed, the other with WattOS.

I did some testing and identified various problems with both, see my blog report:

I have started to fix the problems...

Updating the Flash BIOS

The date of the BIOS in my unit with Puppy 4.3.1 was July 27, 2009. There is a later version (Jan 31, 2010) posted on the Internet that fixes a bug with APM.

This is where you can get the latest BIOS image file:

...the zip file contains two files, 'spiflash.exe' and 'edu.rom', the former is a MSDOS utility, the second the BIOS image.

But, how to execute a MSDOS program in the Gecko with Linux installed? Not so easy. A DOS emulator won't do (I tried). It is necessary to boot up MSDOS or Windows on the Gecko.

In fact, I wanted a permanent solution, so decided to install a dual-boot with FreeDOS and Puppy. Here are the basic steps to achieve the first part, booting FreeDOS:

Take 1

  1. Boot Quirky 006 on USB stick
    Quirky is my latest variant of Puppy, see my blog:
    ...though, any Puppy from 4.3.1 onward will do.
  2. Repartition internal SD card
    I ran Gparted and chose to repartition /dev/sda, which is the internal 8GB card. I wiped all partitions, then recreated sda1 fat32 256MB, sda2 ext3 6GB+, and left over about 500MB in case I wanted something else. I set the 'boot' flag on sda1.
  3. ms-sys
    'ms-sys' is a utility that is in Quirky, that works like the MSDOS 'sys' utility. This is how I used it:
    # ms-sys -w /dev/sda 
    DOS/Windows NT master boot record successfully written to /dev/sda
    # ms-sys -w /dev/sda1
    FAT32 DOS boot record successfully written to /dev/sda1
    ...actually, that second step is really designed for booting MSDOS, although there are commandline options to boot FreeDOS -- but I couldn't make them work and ended up using the 'sys-freedos' utility*:
    # ./sys-freedos.pl --disk=/dev/sda1 --heads=255 --sectors=63 --offset=63 --drive=128
  4. Install files to sda1
    I had the 'spiflash.exe' and 'edu.rom' files on the Flash stick, copied them to sda1. I had also earlier downloaded FreeDOS 1.0 live-CD and extracted 'KERNEL.SYS' and 'COMMAND.COM', that I also copied to sda1.
    Puppy has GRUB4DOS in the System menu. I ran that and installed it to sda1 (it also installs to the MBR). I edited 'menu.lst' with this:
    title Boot FreeDOS 1.0 in sda1
    root (hd0,0)
    chainloader /kernel.sys

* Note, sys-freedos is not in Puppy, you have to download it from the developer. But, I plan to put it into my next release of Quirky (007).

I shutdown, removed the USB stick, booted up the Gecko and got a FreeDOS prompt. I then ran this:
c:\> spiflash u edu.rom
...this updated the Flash BIOS ROM.

Take 2

To create a small image file of the SD card, I went through the whole process again, but slightly differently:
  1. I plugged the SD card into another computer running Puppy Linux. In my case it showed up as /dev/sdc.
  2. # dd if=/dev/zero of=/dev/sdc
  3. # ms-sys -w /dev/sdc
  4. Created the partitions with Gparted, as described above.
  5. # ./sys-freedos.pl --disk=/dev/sdc1 --heads=255 --sectors=63 --offset=63 --drive=128
  6. Installed files to /dev/sdc1 as in step 4 above.
  7. Installed GRUB4DOS to /dev/sdc1 as in step 5 above.


Here is the 'menu.lst file:
# menu.lst produced by grb4dosconf
color white/blue black/cyan white/black cyan/black
timeout 10
default 0

title Puppy Linux 4.3.2
root (hd0,1)
kernel /vmlinuz pmedia=atahd nosmp acpi=off
initrd /initrd.gz

title FreeDOS 1.0 (for experts only)
root (hd0,0)
chainloader /kernel.sys

title Grub4Dos commandline (for experts only)

title Reboot computer

title Halt computer
...this also needs to go in the fat32 partition in the SD card.

SD image file

I created the image file like this:
# dd if=/dev/sdc | gzip - > gecko-grub4dos-freedos.img.gz

To go the other way, to write the image file to the SD card, do this:
# gunzip -c gecko-grub4dos-freedos.img.gz | dd of=/dev/sdc

...be prepared for each of these operations to take awhile.

Download my SD card image file (for 8GB card only) from here:


Dual booting FreeDOS and Puppy Linux

After you have setup the SD card with GRUB4DOS and FreeDOS, by following the step-by-step instructions above, or just by copying my ready-made SD image file (for 8GB card only), then it is a very simple matter to install Puppy.

Download these files:


...and place them at /dev/sdc2, that is, in the ext3 partition of the SD card.

That's it, place the SD card in the Gecko and boot up.

Suggestions for first boot:
  1. Choose Xvesa X server, and 1024x600 resolution.
  2. At shutdown, choose to save to the entire 'sda2' partition. This will give you 6.8GB of personal storage.
  3. If any flash-enabled web-sites ask you to install the Adobe Flash player, decline.

Barry Kauler
February 2010