summaryrefslogtreecommitdiffstats
path: root/meta-crownbay/README
blob: 65289f710db64412cc3b96c45c8d486f5638d3ca (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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
This README file contains information on building the meta-crownbay
BSP layer, and booting the images contained in the /binary directory.
Please see the corresponding sections below for details.

The Crown Bay platform consists of the Intel Atom Z6xx processor,
plus the Intel EG20T Platform Controller Hub (Tunnel Creek + Topcliff).

It also supports the E6xx embedded on-chip graphics via the Intel
Embedded Media and Graphics Driver (EMGD) 1.8 Driver.


Dependencies
============

This layer depends on:

  URI: git://git.openembedded.org/bitbake
  branch: master

  URI: git://git.openembedded.org/openembedded-core
  layers: meta
  branch: master

  URI: git://git.yoctoproject.org/meta-intel
  layers: intel
  branch: master


Patches
=======

Please submit any patches against this BSP to the Yocto mailing list
(yocto@yoctoproject.org) and cc: the maintainer:

Maintainer: Tom Zanussi <tom.zanussi@intel.com>

Please see the meta-intel/MAINTAINERS file for more details.


Table of Contents
=================

  I. Building the meta-crownbay BSP layer
 II. Special notes for building the meta-crownbay BSP layer
III. Booting the images in /binary


I. Building the meta-crownbay BSP layer
=======================================

In order to build an image with BSP support for a given release, you
need to download the corresponding BSP tarball from the 'Board Support
Package (BSP) Downloads' page of the Yocto Project website.

Having done that, and assuming you extracted the BSP tarball contents
at the top-level of your yocto build tree, you can build a crownbay
image by adding the location of the meta-crownbay layer to
bblayers.conf, along with the meta-intel layer itself (to access
common metadata shared between BSPs) e.g.:

  yocto/meta-intel \
  yocto/meta-intel/meta-crownbay \

The meta-crownbay layer contains support for two different machine
configurations. These configurations are identical except for the fact
that the one prefixed with 'crownbay' makes use of the
Intel-proprietary EMGD 1.8 graphics driver, while the one prefixed
with 'crownbay-noemgd' does not.

If you want to enable the layer that supports EMGD graphics add the
following to the local.conf file:

  MACHINE ?= "crownbay"

If you want to enable the layer that does not support EMGD graphics
add the following to the local.conf file:

  MACHINE ?= "crownbay-noemgd"

You should then be able to build a crownbay image as such:

  $ source oe-init-build-env
  $ bitbake core-image-sato

At the end of a successful build, you should have a live image that
you can boot from a USB flash drive (see instructions on how to do
that below, in the section 'Booting the images from /binary').

As an alternative to downloading the BSP tarball, you can also work
directly from the meta-intel git repository.  For each BSP in the
'meta-intel' repository, there are multiple branches, one
corresponding to each major release starting with 'laverne' (0.90), in
addition to the latest code which tracks the current master (note that
not all BSPs are present in every release).  Instead of extracting
a BSP tarball at the top level of your yocto build tree, you can
equivalently check out the appropriate branch from the meta-intel
repository at the same location.


II. Special notes for building the meta-crownbay BSP layer
==========================================================

The meta-crownbay layer makes use of the proprietary Intel EMGD
userspace drivers when building the "crownbay" machine (but not when
building the "crownbay-noemgd" machine).  If you got the BSP from the
'BSP Downloads' section of the Yocto website, the EMGD binaries needed
to perform the build will already be present in the BSP, located in
the meta-intel/common/recipes-graphics/xorg-xserver/emgd-driver-bin-1.8
directory, and you can ignore the rest of this section.

If you didn't get the BSP from the 'BSP Downloads' section of the
Yocto website, you can download a tarball containing an rpm that
contains the binaries and extract the binaries from that, and copy
them to the proper location in the meta-crownbay layer.

The following subsection describes that process in detail.


Downloading and extracting the binaries using the EMGD Linux tarball
--------------------------------------------------------------------

The first step of the process is to download the EMGD 1.8 Driver.
Here is the current link to the URL from which it can be downloaded:

http://edc.intel.com/Software/Downloads/EMGD/

In the Download Now tab, select:

Intel® architecture-based product: Linux Tar Ball
Operating System: MeeGo* 1.2 IVI Linux* (kernel 2.6.37, X.server 1.9, Mesa 7.9)

That will give you a large .tgz file:

Lin_EMGD_1_8_RC_2032.tgz

Extract the files in the tar file, which will in turn give you a
directory named IEMGD_HEAD_Linux.

The binaries are contained in an rpm file; you can extract the
binaries from the rpm file using rpm2cpio and cpio:

$ cd IEMGD_HEAD_Linux/MeeGo1.2
$ rpm2cpio emgd-bin-2032-1.6.i586.rpm > emgd-bin-2032-1.6.i586.cpio
$ mkdir extracted; cd extracted
$ cpio -idv < ../emgd-bin-2032-1.6.i586.cpio

You can now copy the xorg-xserver binaries to the emgd-driver-bin-1.8
directory in meta-intel/common:

$ cp -a usr/lib meta-intel/common/recipes-graphics/xorg-xserver/emgd-driver-bin-1.8

You also need to copy the IEMGD License.txt file to the same directory:

$ cp IEMGD_HEAD_Linux/License/License.txt meta-intel/common/recipes/xorg-xserver/emgd-driver-bin-1.8

Finally, you need to extract and copy the video plugins to the
emgd-driver-bin-1.8 directory in meta-intel/common:
 
$ cd IEMGD_HEAD_Linux/common/video_plugin
$ rpm2cpio gst-plugins-mixvideo-0.10.30-1.i586.rpm > gst-plugins-mixvideo-0.10.30-1.i586.cpio
$ rpm2cpio gst-plugins-va-0.10.7MFLD-1.i586.rpm > gst-plugins-va-0.10.7MFLD-1.i586.cpio
$ rpm2cpio gst-vabuffer-0.10.5MFLD-1.i586.rpm > gst-vabuffer-0.10.5MFLD-1.i586.cpio
$ rpm2cpio mixcommon-0.1.9-1.i586.rpm > mixcommon-0.1.9-1.i586.cpio
$ rpm2cpio mixvbp-0.1.24-1.i586.rpm > mixvbp-0.1.24-1.i586.cpio
$ rpm2cpio mixvideo-0.1.31-1.i586.rpm > mixvideo-0.1.31-1.i586.cpio
$ mkdir extracted; cd extracted
$ cpio -idv < ../gst-plugins-mixvideo-0.10.30-1.i586.cpio
$ cpio -idv < ../gst-plugins-va-0.10.7MFLD-1.i586.cpio
$ cpio -idv < ../gst-vabuffer-0.10.5MFLD-1.i586.cpio
$ cpio -idv < ../mixcommon-0.1.9-1.i586.cpio
$ cpio -idv < ../mixvbp-0.1.24-1.i586.cpio
$ cpio -idv < ../mixvideo-0.1.31-1.i586.cpio
$ rm usr/lib/*.so.0
$ cp -a usr/lib meta-intel/common/recipes-graphics/xorg-xserver/emgd-driver-bin-1.8

At this point, you should be able to build meta-crownbay images as usual.


III. Booting the images in /binary
==================================

This BSP contains bootable live images, which can be used to directly
boot Yocto off of a USB flash drive.

Under Linux, insert a USB flash drive.  Assuming the USB flash drive
takes device /dev/sdf, use dd to copy the live image to it.  For
example:

# dd if=core-image-sato-crownbay-20101207053738.hddimg of=/dev/sdf
# sync
# eject /dev/sdf

This should give you a bootable USB flash device.  Insert the device
into a bootable USB socket on the target, and power on.  This should
result in a system booted to the Sato graphical desktop.

If you want a terminal, use the arrows at the top of the UI to move to
different pages of available applications, one of which is named
'Terminal'.  Clicking that should give you a root terminal.

If you want to ssh into the system, you can use the root terminal to
ifconfig the IP address and use that to ssh in.  The root password is
empty, so to log in type 'root' for the user name and hit 'Enter' at
the Password prompt: and you should be in.

----

If you find you're getting corrupt images on the USB (it doesn't show
the syslinux boot: prompt, or the boot: prompt contains strange
characters), try doing this first:

# dd if=/dev/zero of=/dev/sdf bs=1M count=512