[Documentation] [TitleIndex] [WordIndex

Note: This tutorial assumes that you have completed the previous tutorials: Start.
(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

Intel Galileo initial Yocto image install

Description: How to download, build and install the Intel Galileo Linux image.

Keywords: Intel Galileo

Tutorial Level: INTERMEDIATE

Next Tutorial: Adding ROS to the image Adding ROS


This tutorial assumes you have a Linux Ubuntu machine.

Upgrade firmware

I was unable to get the card to boot from the SD Card until the firmware was updated. The "target" is the old version on the Galileo board, the "downloaded" is what is on your host computer.

Formatting the SD Card

I'm not sure what format the card needs, but I was able to get it to work with:

Install Basic Image

The first step is to download, build and install the basic image. This ensures the tools are set up correctly. First, download Download "Board Support Package Sources for Intel Quark" from https://communities.intel.com/community/makers/software/drivers.

mkdir ~/devel_gal
cd ~/devel_gal
sudo apt-get install p7zip-full git
7z x ~/Downloads/Board_Support_Package_Sources_for_Intel_Quark_v0.7.5.7z
tar xzvf Board_Support_Package_Sources_for_Intel_Quark_v0.7.5/meta-clanton_v0.7.5.tar.gz
cd meta-clanton_v0.7.5
source poky/oe-init-build-env yocto_build

Make a backup copy of the original recipe.

cp ../meta-clanton-distro/recipes-core/images/image-full.bb ../meta-clanton-distro/recipes-core/images/image-full.bb.old

Next, switch to the "clanton-full" release, which uses the eglibc library instead of uClibc (Arduino sketches won't work !?!?). Update conf/local.conf

DISTRO ?= "clanton-full"

(Note that if you bitbake the "clanton-tiny" distro, you'll have to delete the whole meta-clanton-v0.7.5 directory and start fresh.)

Comment out the entire ../meta-clanton-distro/recipes-multimedia/v4l2apps/v4l-utils_0.8.8.bbappend file:

#FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
#SRC_URI += "file://uclibc-enable.patch"
#DEPENDS += "libiconv"

Edit ../meta-clanton-bsp/recipes-kernel/linux/files/clanton.patch and make sure this line has "=1" at the end:

+static unsigned int i2c_std_mode = 1;

Finally compile the image:

sudo apt-get install diffstat texinfo gawk chrpath g++ make build-essential
bitbake image-full

Compiling will take a few hours. When it's done, the needed files will be in tmp/deploy/images. Note that the files you need are symbolic links to the actual files. If you use Dolphin, it won't copy the symbolic links, and you'll need to do some file renaming. If you use the command prompt, you can copy the files like this (assuming your card is mounted at /media/BOOTME). Create a copy_deploy_full.sh script:

cp -r tmp/deploy/images/boot /media/BOOTME
cp tmp/deploy/images/bzImage /media/BOOTME/
cp tmp/deploy/images/core-image-minimal-initramfs-clanton.cpio.gz /media/BOOTME/
cp tmp/deploy/images/grub.efi /media/BOOTME/
cp tmp/deploy/images/image-full-clanton.ext3 /media/BOOTME


chmod +x copy_deploy_full.sh

Wait for the files to finish copying, eject the SD card and pop it into the Galileo board. Plug in the Ethernet connection to your router before the power supply. If everything works, you'll see the "SD" LED quite active during the boot process. After about a minute, you can SSH into the card. Use the router's DHCP table to find the IP address.

Note that you can also run an emulated machine by changing conf/local.conf to say "MACHINE = "qemux86", bitbaking, and running:

runqemu ~/devel_gal/meta-clanton_v0.7.5/yocto_build/tmp/deploy/images/bzImage-qemux86.bin ~/devel_gal/meta-clanton_v0.7.5/yocto_build/tmp/deploy/images/image-full-qemux86.ext3

Previous: Start

Next: Adding ROS to the image

2018-03-17 12:17