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 10 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.
  • VirtualBox:  A virtualization product that runs on many operating systems and hosts a large number of guest operating systems including but not limited to Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7, Windows 8, Windows 10), DOS/Windows 3.x, Linux (2.4, 2.6, 3.x and 4.x), Solaris and OpenSolaris, OS/2, and OpenBSD. The offical site for VirtualBox is http://www.virtualbox.org.
  • 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.  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. If you are not using Hob, you get a terminal prompt.
  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."  When you are using Hob, 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.

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

Setting Up and Running the Build Appliance for VirtualBox

To get going with the Build Appliance you need to download the ZIP file that contains the Build Appliance files; download, install, and configure VirtualBox; 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. Go to the VirtualBox site and download the product. You should visit the virtualbox website if you are unfamiliar with VirtualBox. 
  6. Follow the instructions from the Virtualbox site for downloading and installing the product. 
  7. Launch VirtualBox.
  8. Start creating the virtual machine by naming it and describing the operating system on which you are going to install the virtual machine (e.g. Name: Build Appliance, Type: Linux, Version: Other Linux (64-bit)).
  9. Define the virtual machine's amount of memory.
  10. For the hard disk, you do not have to add one.
  11. Click "Continue" when the warning box appears indicating you are creating a virtual machine without a hard disk.
  12. The Oracle VM VirtualBox Manager window appears. You can see the specifics of the virtual machine you have defined.
  13. Click "Settings" and then the "General" tab and verify your virtual machine name, type, and version are correct and match what you defined earlier.
  14. Click "System" and configure the motherboard appropriately.
  15. Click on the "Processor" tab under "System" and configure the processor appropriately.
  16. Use the left navigation area to select "Storage". Click the controller in the storage tree to add a new controller.
  17. Use the pull-down menu and choose to add a controller (e.g. Add SATA Controller). Do not use the existing default IDE controller. You must add a new SATA controller. If you attach the disk drive to the existing (default) IDE controller, you will not be able to boot the image.
  18. At the prompt telling you are about to add a virtual hard disk to the controller, click "Choose Existing Disk".
  19. Navigate to where you unzipped the three Build Appliance files and open the Yocto_Build_Appliance.vmdk file.
  20. The file should appear as a new SATA controller in your Storage Tree back in the VirtualBox Manager.
  21. Back in the main screen for the VirtualBox Manager under "Storage", you should now see your new SATA device listed.
  22. If you are using Hob, the image boots after a moderate wait and Hob launches in the environment. If you are not using Hob, you should get a Build Appliance terminal prompt and you can run BitBake (e.g. bitbake core-image-minimal).

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".