Gumstix Overo

Gumstix Overo

The Gumstix Overo is a tiny but powerful Computer-On-Module (COM) that performs like a full-sized Linux computer and can be programmed to perform a wide variety of functions in almost any application area including power management, time & attendance, security, access control, information technology, location tracking, medical, aviation, robotics and education, to name a few. The boards can also expand their peripheral IO through a variety of expansion boards.

The main features of an Overo COM can include:

  • TI OMAP3503/3503/3730 applications processor featuring the ARM® Cortex™-A8
  • Package-on-Package (POP) memory: 256MB or 512 MB low-power DDR RAM with no NAND / 256MB NAND or 512MB NAND
  • Bluetooth / 802.11b/g wireless communications module
  • microSD card slot
  • TI 65950 Power Management IC
  • Four (4) mounting holes - one in each corner
  • 17 mm x 58 mm
  • 6 grams
  • USB 2.0, 10/100 ethernet, MMC, audio, and more via expansion boards

SD Card Creation

  1. At a minimum, you need to create the first partition on an SD card to store the bootloader files and kernel uImage. For the root filesystem you can choose to use either a second partition on the SD card or a USB drive.
  2. The first partition should be FAT16 LBA (partition type 0E), and a size of 128MB is plenty of space for the needed files.
    Format the partition with mkfs.vfat, for example: mkfs.vfat -F 16 -n "bootloader" /dev/mmcblk0p1
  3. If you plan to use the SD card for the root filesystem as well, create a second partition of type Linux filling the rest of the free space, preferably at least 1-2GB.
    Format the partition with mkfs.ext3, for example: mkfs.ext3 -L "rootfs" /dev/mmcblk0p2
  4. If you plan to use a USB drive for the root filesystem, create a first partition on the drive of type Linux using at least 1-2GB.
    Format the partition with mkfs.ext3, for example: mkfs.ext3 -L "rootfs" /dev/sdb1
  5. Download the Overo bootloader tarball and extract the files onto the first partition of the SD card. These files contain the U-Boot binary needed to load the kernel. For Storm boards use MLO-Storm from the tarball in place of MLO.
  6. Download the root filesystem tarball and extract it (as root) to the ext3 partition on either the SD card or the USB drive. It is important to do this as root, as special files need to be created as part of the filesystem that can only be created by root.
  7. Copy /boot/uImage from the ext3 partition to the fat16 partition.
  8. Create a boot.scr file following the instructions below to boot into the system.

Creating a boot.scr

  1. Create a file called bootcmd, and place U-Boot commands in there like a script file. For example:
    setenv bootargs 'console=ttyO2,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait' mmc init fatload mmc 0:1 0x80300000 uImage bootm 0x80300000 boot
  2. Use mkimage to create the boot.scr file. For example:
    mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Overo boot script" -d bootcmd boot.scr
  3. Copy the resulting boot.scr to the fat16 partition on the SD card.

Using a 4.3" Touchscreen

  1. Install required and extra packages. XFCE4 is used here as an example, you can choose the environment you like. The onboard package provides an on-screen keyboard.
    pacman -S xf86-video-omapfb xfce4 xorg xinput_calibrator onboard
  2. Edit /etc/rc.conf and add these to the MODULES array in this specific order: panel-generic-dpi omapfb
  3. Using the same technique in the Installation tab, modify your bootcmd file to add the last two items to the bootargs setting:
    setenv bootargs 'console=ttyO2,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait omapfb.mode=640x480 omapdss.def_disp=lcd43'
  4. Rebuild the boot.scr file, and copy it to the fat16 partition on the SD card if it's not there already:
    mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Overo boot script" -d bootcmd boot.scr
  5. At the end of /etc/X11/xinit/xinitrc are lines indicating what to run when X starts. Comment them out, and replace them with the following:
    onboard& startxfce4 -with-ck-launch
  6. Edit (or create, if needed) /etc/X11/xorg.conf.d/99-calibration.conf to calibrate your touchscreen. You will want to re-run the calibration program xinput_calibrator, which is also in the menu, but this will get the touchscreen usable. The EmulateThirdButton lines set up X so that if you press and hold on the location the cursor currently is, it will right click. However, you still must move the cursor to the spot you want to right click first.
    Section "InputClass" Identifier "calibration" MatchProduct "ADS7846 Touchscreen" Option "Calibration" "108 3892 3769 269" Option "EmulateThirdButton" "1" Option "EmulateThirdButtonTimeout" "500" Option "EmulateThirdButtonThreshold" "100" EndSection
  7. Here is an example xorg.conf to get you started:
    Section "Module" Load "extmod" Load "dbe" Load "glx" Load "freetype" Load "type1" Load "record" Load "dri" EndSection

    Section "Monitor" Identifier "Builtin Default Monitor" EndSection

    Section "Device" Identifier "Builtin Default fbdev Device 0" Driver "omapfb" EndSection

    Section "Screen" Identifier "Builtin Default fbdev Screen 0" Device "Builtin Default fbdev Device 0" Monitor "lcd43" EndSection

    Section "ServerLayout" Identifier "Builtin Default Layout" Screen "Builtin Default fbdev Screen 0" EndSection

  8. Reboot, log in and type startx.

Architecture

ARMv7l Cortex-A8

Processor

TI OMAP 35xx 600/720MHz

RAM

512MB

NAND

256MB

SD

Micro SD

USB

Exp

Ethernet

10/100

Wireless

B/G, Bluetooth v2.0 + EDR