NOTE: Hob is now deprecated and will no longer be available starting from the upcoming 2.1 release of the Yocto Project. You can use Toaster instead. Hob will still be available inside the Build Appliance, but might not work as expected, since it is no longer maintained.

The Build Appliance allows you to build and boot a custom embedded Linux image with the Yocto Project using a non-Linux development system. You can download the Build Appliance at the DOWNLOADS page.

We don't recommend that you use the Build Appliance as a day-to-day production development environment. You should limit the Build Appliance to testing out and experiencing the Yocto Project. If you want to design a custom Build Appliance for other purposes, refer to the Build Appliance Design page on the Yocto Project wiki.

Understanding and Using the Build Appliance

To understand the Build Appliance, you need to be familiar with some terms and concepts:

  • Host Computer:  The system on which you are running the Build Appliance.  For example, the host computer could be a laptop computer running the Windows 7 operating system.
  • VMware:  The company that provides the VMware Player and VMware Workstation applications.  The offical site for VMware is http://www.vmware.com.
  • VMware Player:  A VMware product that lets you run multiple operating systems at the same time on your PC.  It allows you to create isolated virtual machines to try things out.  See http://www.vmware.com/products/player for more information.
  • VMware Workstation:  A VMware product that lets you run a full web or cloud environment on your PC.  See http://www.vmware.com/products/workstation/overview.html for more information.
  • OVF File:  The Open Virtual Machine Format file.  This file defines the Virtual Machine, including which disk image (vmdk) to use.  The disk image contains a Linux system build by the Yocto Project.  For information on the Open Virtual Machine Format file, see http://en.wikipedia.org/wiki/Open_Virtualization_Format.
  • Build Appliance:  The Disk File running on either the VMware Player or the VMware Workstation.

Build times for the Build Appliance vary based on the configuration of your Host Computer, the number of processors and memory associated with the virtual machine, and the number of threads allocated in Hob for the build.  Natural overhead exists with running anything in a virtual machine versus running it on bare metal.  The Yocto Project is no different.  In general, a properly configured virtual machine should have no more than 1.5x-2x build time as compared to the build time on a machine natively running Linux. You need to realize that the fastest build times occur when running the Yocto Project on a system natively running Linux.  However, because of the steps required to install a particular version of Linux and any required packages, the Build Appliance offers a quicker way for starting your first successful build.

Setting Up and Running the Build Appliance for VMware

To get going with the Build Appliance you need to download the ZIP file that contains the Build Appliance files, decide which VMware product is best for you, install and configure that product, and boot the image.  Follow these steps:

  1. Go to the Yocto Project DOWNLOADS page.
  2. From the "DOWNLOADS" page, click on "Tools" to display the latest released tools.
  3. Click on the link for the Yocto Project Build Appliance ZIP file (Yocto_Build_Appliance.zip) to download the file.
  4. Unzip the file into any directory.  You will get three files:  "Yocto_Build_Appliance.vmxf", "Yocto_Build_Appliance.vmdk", and "Yocto_Build_Appliance.vmx".
  5. Be sure you have either the VMware Player or VMware Workstation product.  You should visit the VMware website if you are unfamiliar with their products.  You need to decide which product you are going to download, install and configure.
  6. Follow the instructions from the VMware site for installing either VMware Player or VMware Workstation. 
  7. Launch your VMware product.
  8. Click the "Open a Virtual Machine" icon.
  9. Navigate to where you unzipped the three Build Appliance files.
  10. Select the .vmx VMware file (Yocto_Build_Appliance.vmx).
  11. Click "Open" to see your virtual machine in the left-hand panel.
  12. Select your new virtual machine from the list in the main screen of VMware Player or the VMware Workstation.
  13. Click on "Edit virtual machine settings".
  14. From the "Virtual Machine Settings" screen select "Memory".
  15. Move the slider control up to the maximum recommended memory.
  16. Select "Processors" from the screen.
  17. Use the dropdown control and choose the number of processors to match your host machine.
  18. Be sure the rest of your devices are appropriately set for your host.
  19. Click "OK" to save the settings and return to the VMware Player or VMware Workstation main screen.
  20. Use your VMware product to boot the image.  For VMware Player, choose "Play" the virtual machine.  For VMware Workstation, choose "Power on the Virtual Machine."  After a moderate wait while the image boots, the Hob launches in the environment.  If you get an error indicating that your local host does not support Virtualization Technology, you need to reboot your system into the BIOS and enable the setting for Virtualization Technology.  After doing so, repeat the steps beginning with Step 5.
  21. you can select "Settings" and configure the number of threads to use for building by defining the BB_NUMBER_THREADS and PARALLEL_MAKE variables.  You can also select a machine architecture and base image and then start your first build.  See the Hob Project page for an introduction and information on Hob.

After your first successful build, you can deploy the resulting image, select or de-select packages, and further customize your image.

Configuring Proxy Settings in Hob

NOTE: Hob is now deprecated and will no longer be available starting from the upcoming 2.1 release of the Yocto Project. You can use Toaster instead. Hob will still be available inside the Build Appliance, but might not work as expected, since it is no longer maintained.

If you are using the Build Appliance under proxy, you need to perform some additional steps to configure the Hob connectivity settings:

  1. Once Hob launches, click "Settings".
  2. Click the "Network" tab.
  3. Make sure "Manual proxy configuration" is selected and fill in the necessary proxy protocols.
  4. Click "Test network configuration" from the page to ensure connectivity works over the web.
  5. If the test passes, click "Save". If the test failed, make sure the proxy protocols you have specified are correct and try again.

Configuring Proxy Settings in the Midori Browser

If you are using the lightweight Midori browser under proxy to access a web page, you need to perform some additional steps to configure this browser:

  1. Launch the browser.
  2. Once the browser is running, click the "Settings" button in the top-right area of the broswer.
  3. Click "Preferences".
  4. Select the "Network" tab.
  5. Make sure "HTTP proxy server" is selected and fill in the necessary proxy protocols.
  6. Press "Close" and then try again to access the web page.

Using a Shared State Mirror

Although at this time, the Yocto Project does not provide any Shared State Mirrors, the Build Appliance can use a Shared State Mirror if one is available either in the local environment or is provided by a Distribution Vendor. Using a Shared State Mirror can save a lot of time during the build.

To set up a Shared State Mirror, follow these general steps:

  1. Create a Shared State Mirror repository through HTTP on your host machine. You can do this by first building an image using the Build Appliance and then copying the "sstate-cache" directory to the host. Once you have copied the directory, create the shared repository through HTTP. The repository must be accessible through a browser (e.g. http://128.224.162.103/sstate/).
  2. Start up a new Build Appliance and the Shared State Mirror. After starting up the Build Appliance, you can click "Settings" and select "Shared State". From there, add your URL in the Shared State Mirrors (e.g. http://128.224.162.103/sstate/PATH;downloadfilename=PATH).
  3. Build the image again using the Build Appliance. You can look at the BitBake log to see how the Shared State Mirror works.

Shutting Down the Build Appliance

To shut down the Build Appliance, follow these steps:

  1. Exit Hob by clicking on the "x" to close the window.
  2. Confirm exiting Hob to return to the shell prompt in the terminal.
  3. Enter "shutdown -h now".