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