summaryrefslogtreecommitdiffstats
path: root/docs/getting-started/image-workflow-prep-host.md
blob: d1027aa4677a4c2e6125c9294d0f24088d0a49b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# 1. Preparing Your Build Host

Preparing your build host so that it can build an AGL image means
making sure your system is set up to use the
[Yocto Project](https://yoctoproject.org) OpenEmbedded build system,
which is based on
[BitBake](https://yoctoproject.org/docs/2.4.4/bitbake-user-manual/bitbake-user-manual.html).

This section presents minimal information so you can prepare the build host
to use the "Rocko" version of the Yocto Project (i.e. version 2.4.4).
If you want more details on how the Yocto Project works, you can reference
the Yocto Project documentation
[here](https://www.yoctoproject.org/docs/).

**NOTE:** This entire section presumes you want to build an image.
You can skip the entire build process if you want to use a ready-made
development image.
The
[supported images][AGL snapshots master latest] exist for several boards as
well as for the Quick EMUlator (QEMU).
See the
"[Downloading an Image](./app-workflow-image.html#downloading-an-image)"
section for more information on the ready-made images.

1. **Use a Supported Linux Distribution:** To use the AGL software, it is
   recommended that your build host is a native Linux machine that runs a
   Yocto Project supported distribution as described by the
   "[Supported Linux Distributions](https://www.yoctoproject.org/docs/2.4.4/ref-manual/ref-manual.html#detailed-supported-distros)"
   section in the Yocto Project Reference Manual.
   Basically, you should be running a recent version of Ubuntu, Fedora, openSUSE,
   CentOS, or Debian.

   If you must use a build host that is not a native Linux machine, you can
   install and use Docker to create a container that allows you to work as
   if you are using a Linux-based host.
   The container contains the same development environment (i.e. distros, packages,
   and so forth) as would a properly prepared build host running a supported
   Linux distribution.
   For information on how to install and set up this Docker container, see the
   "[Setting Up a Docker Container](./docker-container-setup.html)"
   section.

2. **Be Sure Your Build Host Has Enough Free Disk Space:**
   Your build host should have at least 50 Gbytes.

3. **Be Sure Tools are Recent:**  You need to have recent versions for
   the following tools:

   * Git 1.8.3.1 or greater
   * Tar 1.27 or greater
   * Python 3.4.0 or greater

   If your distribution does not meet these minimal requirements, see the
   "[Required Git, tar, and Python Versions](https://www.yoctoproject.org/docs/2.4.4/ref-manual/ref-manual.html#required-git-tar-and-python-versions)"
   section in the Yocto Project Reference Manual for steps that you can
   take to be sure you have these tools.

4. **Install Essential, Graphical, and Eclipse Plug-in Build Host Packages:**
   Your build host needs certain host packages.
   Depending on the Linux distribution you are using, the list of
   host packages differ.
   See
   "[The Build Host Packages](https://www.yoctoproject.org/docs/2.4.4/yocto-project-qs/yocto-project-qs.html#packages)"
   section of the Yocto Project Quick Start for information on the packages you need.

   **NOTE:** If you are using the CentOS distribution, you need to
   separately install the epel-release package and run the `makecache` command as
   described in
   "[The Build Host Packages](https://www.yoctoproject.org/docs/2.4.4/yocto-project-qs/yocto-project-qs.html#packages)"
   section of the Yocto Project Quick Start.

   Aside from the packages listed in the previous section, you need the following:

   * **Ubuntu and Debian:** curl
   * **Fedora:** curl
   * **OpenSUSE:** glibc-locale curl
   * **CentOS:** curl