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:
http://bkhome.org/blog/?viewDetailed=01394

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:
http://www.deviceonchip.com/index.php?option=com_rokdownloads&view=folder&Itemid=27&id=23:bios

...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:
    http://bkhome.org/blog/?viewCat=Quirky
    ...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.
  5. GRUB4DOS
    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.

Dual-booting

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)
commandline

title Reboot computer
reboot

title Halt computer
halt
...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:

http://distro.ibiblio.org/pub/linux/distributions/puppylinux/gecko-edubook-laptop/gecko-grub4dos-freedos.img.gz

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:

http://distro.ibiblio.org/pub/linux/distributions/puppylinux/gecko-edubook-laptop/vmlinuz
http://distro.ibiblio.org/pub/linux/distributions/puppylinux/gecko-edubook-laptop/initrd.gz
http://distro.ibiblio.org/pub/linux/distributions/puppylinux/gecko-edubook-laptop/pup-432.sfs

...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.

Regards,
Barry Kauler
http://bkhome.org/
February 2010