update README
[scm/bb/meta-tizen.git] / README.md
1 Create a Tizen Common x86_64 image with Yocto
2 =============================================
3
4 Target: Haswell/Ivy CPU
5
6 # Create your working directory
7
8 Create a working directory (for example "~/yocto"):
9
10         mkdir -p ${HOME}/yocto
11         cd ${HOME}/yocto
12
13 Create a download directory (optional). It will act as a common download
14 directory amongst projects:
15
16         mkdir -p ${HOME}/yocto/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 clone git@github.com:eurogiciel-oss/meta-tizen.git
35
36 # Configuration
37
38 Configure the environment:
39
40         cd ${HOME}/yocto/poky
41         source ./oe-init-build-env build
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}/yocto/poky/meta \
59           ${HOME}/yocto/poky/meta-yocto \
60           ${HOME}/yocto/poky/meta-yocto-bsp \
61           ${HOME}/yocto/meta-intel \
62           ${HOME}/yocto/meta-intel/meta-isg/meta-haswell-wc \
63           ${HOME}/yocto/meta-openembedded/meta-efl \
64           ${HOME}/yocto/meta-openembedded/meta-oe \
65           ${HOME}/yocto/meta-openembedded/meta-multimedia \
66           ${HOME}/yocto/meta-openembedded/meta-ruby \
67           ${HOME}/yocto/meta-openembedded/meta-systemd \
68           ${HOME}/yocto/meta-tizen \
69           "
70         #For Arch haswell
71         #BBLAYERS += "${HOME}/yocto/meta-intel/meta-haswell-wc"
72         #For Arch Ivy
73         BBLAYERS += "${HOME}/yocto/meta-intel/meta-romley"
74
75 ## conf/local.conf
76
77 Most of default values can be kept. The one that needs to be changed is:
78
79         #For qemu
80         MACHINE ?= "qemux86-64"
81         #For haswell
82         MACHINE ?= "haswell-wc"
83         #For Ivy
84         MACHINE ?= "romley-ivb"
85
86 Other useful option to set:
87
88 Download directory:
89         DL_DIR ?= "${HOME}/yocto/downloads"
90
91 Setting the download directory DL_DIR to a directory shared amongst
92 projects prevents common data from being downloaded for each project.
93
94 Terminal emulator:
95         OE_TERMINAL = "screen"
96
97 The terminal emulator you want to use.
98
99 # WARNING
100 # WARNING TMP TRICKS WARNING
101 # WARNING
102 Unfortunately we have to copy some files to the meta directory
103
104     ls -1 classes/
105      image.bbclass
106      rootfs_rpm.bbclass
107
108     ls -1 lib/oe/
109      package_manager.py
110      smack.py
111
112 This should be temporary and will be removed as soon as possible.
113
114     cp ${HOME}/yocto/meta-tizen/classes/* ${HOME}/yocto/poky/meta/classes/
115     cp ${HOME}/yocto/meta-tizen/lib/oe/* ${HOME}/yocto/poky/meta/lib/oe/
116
117 # Build the Tizen Common image
118
119         bitbake tizen-common-core-image-minimal-dev
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         1) bitbake -kv tizen-common-core-image-minimal-dev
131         2) runqemu qemux86-64 tizen-common-core-image-minimal
132
133 The generate image can be found in tmp/deploy/images/${MACHINE}