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
Installation
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:
- Partition table: msdos
- Partition type: fat32
- boot flag: no
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 ./setup.sh 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
Then:
chmod +x copy_deploy_full.sh ./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 |