Update README.md
[scm/bb/meta-tizen.git] / README.md
1 Create a Tizen Common x86_64 image with Yocto
2 =============================================
3
4 Target: Haswell CPU
5
6 # Create your working directory
7
8 Create a working directory (for example "~/yocto"):
9
10         mkdir ~/yocto
11         cd ~/yocto
12
13 Create a download directory (optional). It will act as a common download
14 directory amongst projects:
15
16         mkdir ~/downloads
17
18 # Download sources
19
20 Downlaod Poky:
21
22         git clone git://git.yoctoproject.org/poky
23
24 Download Intel layers:
25
26         git clone git://git.yoctoproject.org/meta-intel
27
28 Download openembedded layers:
29
30         git clone git://git.openembedded.org/meta-openembedded
31
32 Download tizen layer:
33
34         git@github.com:eurogiciel-oss/meta-tizen.git
35
36 # Configuration
37
38 Configure the environment:
39
40         cd poky
41         . ./oe-init-build-env
42
43 # Configuration files
44
45 ## conf/bblayer.conf
46
47 This file contains the list of the layers in which poky has to search
48 for the recipes.
49
50         # LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
51         # changes incompatibly
52         LCONF_VERSION = "6"
53         
54         BBPATH = "${TOPDIR}"
55         BBFILES ?= ""
56         
57         BBLAYERS ?= " \
58           /home/user/yocto/poky/meta \
59           /home/user/yocto/poky/meta-yocto \
60           /home/user/yocto/poky/meta-yocto-bsp \
61           /home/user/yocto/meta-intel \
62           /home/user/yocto/meta-intel/meta-isg/meta-haswell-wc \
63           /home/user/yocto/meta-openembedded/meta-efl \
64           /home/user/yocto/meta-openembedded/meta-oe \
65           /home/user/yocto/meta-openembedded/meta-multimedia \
66           /home/user/yocto/meta-openembedded/meta-ruby \
67           /home/user/yocto/meta-openembedded/meta-systemd \
68           /home/user/yocto/meta-tizen \
69           "
70
71 ## conf/local.conf
72
73 Most of default values can be kept. The one that needs to be changed is:
74
75         MACHINE ?= "haswell-wc"
76
77 Other useful option to set:
78
79 Download directory:
80
81         DL_DIR ?= "${HOME}/yocto/downloads"
82
83 Setting the download directory DL_DIR to a directory shared amongst
84 projects prevents common data from being downloaded for each project.
85
86 Terminal emulator:
87
88         OE_TERMINAL = "screen"
89
90 The terminal emulator you want to use.
91
92 Example of a complete configuration file (without comments):
93
94         BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"
95         PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}"
96         MACHINE ?= "genericx86-64"
97         DL_DIR ?= "${HOME}/yocto/downloads"
98         BB_GENERATE_MIRROR_TARBALLS = "1"
99         DISTRO ?= "poky"
100         PACKAGE_CLASSES ?= "package_rpm"
101         EXTRA_IMAGE_FEATURES = "debug-tweaks"
102         USER_CLASSES ?= "buildstats image-mklibs image-prelink"
103         OE_TERMINAL = "screen"
104         PATCHRESOLVE = "noop"
105         BB_DISKMON_DIRS = "\
106                 STOPTASKS,${TMPDIR},1G,100K \
107                 STOPTASKS,${DL_DIR},1G,100K \
108                 STOPTASKS,${SSTATE_DIR},1G,100K \
109                 ABORT,${TMPDIR},100M,1K \
110                 ABORT,${DL_DIR},100M,1K \
111                 ABORT,${SSTATE_DIR},100M,1K"
112                 PACKAGECONFIG_pn-qemu-native = "sdl"
113                 ASSUME_PROVIDED += "libsdl-native"
114         CONF_VERSION = "1"
115
116 # Build the Tizen Common image
117
118         bitbake tizen-common-core-image-minimal
119
120 Two useful options are:
121
122 'k' "Continue as much as possible after an error. While the target that
123     failed and anything depending on it cannot be built, as much as
124     possible will be built before stopping."
125     
126 'v' "Output more log message data to the terminal."
127
128 Which gives:
129
130         bitbake -kv tizen-common-core-image-minimal
131
132 The generate image can be found in tmp/deploy/images/genericx86-64/