November 18, 2016

Intel Galileo - Gen 2 - Getting Started

I returned from a trip hiking in the Grand Canyon to find a box from Mouser Electronics on my doorstep. Inside was my Galileo Gen 2, purchased from them for $45.00

Power supply

My unit shipped with a "wall wart" style power supply. The supply is rated at 12 volts, 1.25 amps and connects to the board via a 2.1 mm center positive barrel jack. This is fine to power the board, but some people recommend a 2.0 amp supply if you plan to add "shields" that expect to be powered by the board.

Note that if you have any original "Gen 1" Galileo boards, you must avoid using a Gen 2 power supply! The original boards expect regulated 5 volts and will be destroyed by the 12 volt Gen 2 supply. They really should have changed connectors, but they didn't ask me.

Serial console

This is connected by a line of 6 pins alongside the ethernet jack. Ground is towards the center of the board. This uses 3.3 volt logic levels (unlike the Gen 1, which used traditional +- 12 volt RS232 levels). It is not switched to 5 volt levels by the oddly labelled "IOREF" jumper that is suggestively located right next to these pins. That jumper changes the logic levels for the IO pins only.

I have a USB to serial cable already in service connected to a BBB (Beaglebone Black) and this "just worked" when moved to the Galileo. My cable only uses 3 pins (RxD, TxD, and Ground).

First output

To my surprise the thing boots and runs linux right out of the box! This is somewhat surprising coming from the 8M NOR flash, but that is what happens. I connect the serial console (using the picocom serial software on linux) and plug in the power. A pair of green LEDs on either side of the USB connector light up and after a short delay it offers me a GRUB screen and then goes ahead to boot linux.
    Press [Enter] to directly boot.
    Press [F7]    to show boot menu options.
I am not at all clear how to press "F7" using a serial emulator.
    GNU GRUB  version 0.97  (604K lower / 244604K upper memory)
 +-------------------------------------------------------------------------+
 | ---- No "boot/grub/grub.conf" file found on 1st USB or SD device ----   |  
 | Clanton SVP kernel-SPI initrd-SPI IMR-On IO-APIC/HPET NoEMU             |
 | Clanton SVP kernel-SPI initrd-MassStorage big-rootfs IMR-On IO-APIC/H>  |
 | Clanton SVP kernel-MassStorage initrd-MassStorage small-rootfs IMR-On>  |
 | Clanton SVP kernel-MassStorage initrd-MassStorage big-rootfs IMR-On I>  |
 | Clanton SVP kernel-MassStorage initrd-MassStorage big-rootfs IMR-On I>  |
 +-------------------------------------------------------------------------+
Poky 9.0.2 (Yocto Project 1.4 Reference Distro) 1.4.2 clanton /dev/ttyS1

clanton login: 
I can login as root with no password. The ps command shows more than what follows, but these lines are interesting. The output from the mount command has been pruned also.
root@clanton:~# uname -a
Linux clanton 3.8.7-yocto-standard #1 Fri Jun 6 22:18:10 PDT 2014 i586 GNU/Linux
root@clanton:~# ps
  905 root      1272 S    {launcher.sh} /bin/sh /opt/cln/galileo/launcher.sh
  906 root       768 S    /opt/cln/galileo/galileo_sketch_reset -i 63 -o 47
  910 root       836 S    /opt/cln/galileo/clloader --escape --binary --zmodem
root@clanton:~# df
  Filesystem           1K-blocks      Used Available Use% Mounted on
  devtmpfs                117548         0    117548   0% /dev
  tmpfs                   119032       104    118928   0% /var/volatile
  tmpfs                   119032         0    119032   0% /media/ram
root@clanton:~# mount
  rootfs on / type rootfs (rw,relatime)
  debugfs on /sys/kernel/debug type debugfs (rw,relatime)
  tmpfs on /var/volatile type tmpfs (rw,relatime)
  tmpfs on /media/ram type tmpfs (rw,relatime)
  devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620)

Feedback? Questions? Drop me a line!

Tom's Computer Info / tom@mmto.org