Support #599
Updated by Daniel Curtis over 9 years ago
{{>toc}} This is a guide on how I compiled an image of Yocto Linux for the Intel Galileo SoC on Arch Linux. *WARNING*: Arch Linux is not an officially supported build OS for Yocto Linux. h2. Prepare the Environment * Edit the pacman configuration: <pre> sudo nano /etc/pacman.conf </pre> #* And enable the multilib repository: <pre> [multilib] Include = /etc/pacman.d/mirrorlist </pre> * Refresh the pacman repo cache: <pre> sudo pacman -Sy </pre> * Install a few prerequisite packages: <pre> sudo pacman -S git python2 cpio gawk wget diffstat unzip gcc-multilib texinfo chrpath socat sdl xterm </pre> * Install bitbake from the AUR: <pre> yaourt bitbake </pre> h3. Fix Python environment * Create a dummy bin folder in the user directory: <pre> mkdir ~/bin </pre> #* Then add a symlink python to python2 and the config scripts in it: <pre> ln -s /usr/bin/python2 ~/bin/python ln -s /usr/bin/python2-config ~/bin/python-config export PATH=~/bin:$PATH </pre> * Finally put the new folder at the beginning of your PATH variable: <pre> echo 'export PATH=~/bin:$PATH' >> ~/.bashrc </pre> h2. Download the Source Code * Create a directory for the source code: <pre> mkdir ~/git && cd ~/git </pre> * Get the latest IoT Yocto Development Kit: <pre> git clone -b devkit-daisy git://git.yoctoproject.org/meta-intel-iot-devkit iotdk cd iotdk </pre> * Source the @iot-devkit-init-build-env@ script: <pre> source iot-devkit-init-build-env </pre> h2. Build the Yocto Image * Run bitbake to build iot-devkit-image: <pre> ../bitbake/bin/bitbake bitbake iot-devkit-image </pre> #* *NOTE*: There are many types of image targets for bitbake to use, such as: *# *iot-devkit-image*: A fully functional image to be placed on an SD card *# *iot-devkit-prof-dev-image*: A fully functional image to be placed on an SD card with full profiling and dev tools *# *iot-devkit-prof-image*: A fully functional image to be placed on an SD card with full profiling *# *iot-devkit-spi-image*: A small image capable of fitting into the on-board SPI flash * Fix the grub bitbake source: <pre> nano ~/git/iotdk/meta-quark-bsp/recipes-bsp/grub/grub_0.97.bb </pre> #* And the SRC_URI to the following: <pre> SRC_URI = "git://github.com/intel-iot-devkit/grub-fedora.git" </pre> * (Optional) To use the Hob GUI to assist in building, run: <pre> bitbake -u hob </pre> h2. Resources * http://www.yoctoproject.org/docs/1.7.1/mega-manual/mega-manual.html * http://www.yoctoproject.org/docs/1.7.1/bsp-guide/bsp-guide.html * http://www.yoctoproject.org/docs/1.7.1/bitbake-user-manual/bitbake-user-manual.html * http://wiki.ros.org/IntelGalileo/HydroGalileoInitialInstall * http://www.malinov.com/Home/sergey-s-blog/intelgalileo-buildinglinuximage * https://www.yoctoproject.org/downloads * http://layers.openembedded.org/layerindex/branch/master/layer/meta-intel-iot-devkit/