Project

General

Profile

Support #618

Updated by Daniel Curtis over 9 years ago

{{>toc}} 

 This is a guide for creating a Yocto linux image on Ubuntu 12.04. 

 h2. Prepare the Environment 

 * Make sure the system is up to date: 
 <pre> 
 sudo apt-get update && sudo apt-get upgade 
 </pre> 

 * Install a few prerequisite packages: 
 <pre> 
 sudo apt-get install apt-get install gawk wget git bitbake diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev xterm 
 </pre> 

 h2. Prepare the Source Code 

 * Create a directory for the source code: 
 <pre> 
 mkdir ~/git && cd ~/git 
 </pre> 

 * Get the latest Yocto version: 
 <pre> 
 git clone -b dizzy git://git.yoctoproject.org/poky.git 
 cd poky 
 </pre> 

 h3. Configure Intel BSP 

 * Get the latest Intel Board Support Packages into the Yocto directory: 
 <pre> 
 git clone git://git.yoctoproject.org/meta-intel -b dizzy 
 </pre> 

 * Source the @oe-init-build-env@ script: 
 <pre> 
 source oe-init-build-env 
 </pre> 

 * Edit @build/conf/local.conf@ 
 <pre> 
 nano ~/git/poky/build/conf/local.conf 
 </pre> 
 #* And modify the config to match the *genericx86* machine: 
 <pre> 
 MACHINE ?= "genericx86" 
 </pre> 

 * Add the meta-intel layer to the bblayers.conf file: 
 <pre> 
 nano ~/git/pky/build/conf/bblayers.conf 
 </pre> 
 #* And modify the BBLAYERS definition: 
 <pre> 
 BBLAYERS ?= " \ 
   /home/user/git/poky/meta \ 
   /home/user/git/poky/meta-yocto \ 
   /home/user/git/poky/meta-yocto-bsp \ 
   /home/user/git/poky/meta-intel \ 
   " 
 </pre> 

 h2. Build the Yocto Image 

 * Run bitbake to build core-image-minimal: 
 <pre> 
 bitbake core-image-minimal 
 </pre> 

 h3. Deploy the Yocto Image 

 The original files in the +Yocto image provided by Intel+ are: 
 * boot/grub/grub.cfg 
 * bzImage 
 * core-image-minimal-initramfs-clanton.cpio.gz 
 * grub.efi 
 * image-full-galileo-clanton.ext3 

 After the bitbake build process there will be lots of files in the @~/git/poky/build/tmp/deploy/images/genericx86@ including the files needed to copy over to the microSD micro SD Card, however there are many files that are unnecessary. 

 * Mount the microSD card: 
 <pre> 
 sudo mkdir /media/microsd 
 sudo mount /dev/mmcblk0p1 /media/microsd 
 </pre> 

 * Copy the required files to the microSD card: 
 <pre> 
 sudo cp ~/git/poky/build/tmp/deploy/images/genericx86/bzImage /media/microsd/bzImage 
 sudo cp ~/git/poky/build/tmp/deploy/images/genericx86/core-image-minimal-initramfs-genericx86.cpio.gz /media/microsd/core-image-minimal-initramfs-genericx86.cpio.gz 
 sudo cp ~/git/poky/build/tmp/deploy/images/genericx86/bootia32.efi /media/microsd/bootia32.efi 
 sudo cp ~/git/poky/build/tmp/deploy/images/genericx86/core-image-minimal-genericx86.ext3 /media/microsd/core-image-minimal-genericx86.ext3 
 </pre> 

 * Sync and unmount the microSD card: 
 <pre> 
 sudo sync 
 sudo umount /media/microsd 
 </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

Back