summaryrefslogtreecommitdiffstats
path: root/documentation/bsp-guide
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2010-11-04 13:01:19 -0700
committerRichard Purdie <rpurdie@linux.intel.com>2010-11-04 20:54:30 +0000
commit890a794e38f2d11ec0dd6e39e5ab77a929cb51d9 (patch)
tree75a69ef3e6752085f5bc1a3d84fab378af5b515a /documentation/bsp-guide
parent4b7f1eee28dafcb237f54e1739a9936fdd80ebc4 (diff)
downloadpoky-890a794e38f2d11ec0dd6e39e5ab77a929cb51d9.tar.gz
Created a new folder to hold the BSP Guide
I created a new sub folder to hold the BSP Guide by itself so there are three folders now for each of the Yocto manuals: BSP Guide, quick start and poky ref manual. The new folder for the BSP guide is 'bsp-guide'. It contains the bsp.xml file, its own Makefile, a bsp-guide.xml file, and its own 'Figures' directory. The 'bsp-guide.xml' file that was in the poky reference folder was deleted. Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Diffstat (limited to 'documentation/bsp-guide')
-rw-r--r--documentation/bsp-guide/Makefile35
-rw-r--r--documentation/bsp-guide/bsp-guide.xml62
-rw-r--r--documentation/bsp-guide/bsp.xml459
-rw-r--r--documentation/bsp-guide/figures/poky-ref-manual.pngbin0 -> 17829 bytes
-rw-r--r--documentation/bsp-guide/style.css952
5 files changed, 1508 insertions, 0 deletions
diff --git a/documentation/bsp-guide/Makefile b/documentation/bsp-guide/Makefile
new file mode 100644
index 0000000000..7e8d216904
--- /dev/null
+++ b/documentation/bsp-guide/Makefile
@@ -0,0 +1,35 @@
1all: html pdf tarball
2
3pdf:
4 ../tools/poky-docbook-to-pdf bsp-guide.xml ../template
5
6XSLTOPTS = --stringparam html.stylesheet style.css \
7 --stringparam chapter.autolabel 1 \
8 --stringparam section.autolabel 1 \
9 --stringparam section.label.includes.component.label 1 \
10 --xinclude
11
12##
13# These URI should be rewritten by your distribution's xml catalog to
14# match your localy installed XSL stylesheets.
15XSL_BASE_URI = http://docbook.sourceforge.net/release/xsl/current
16XSL_XHTML_URI = $(XSL_BASE_URI)/xhtml/docbook.xsl
17
18html:
19# See http://www.sagehill.net/docbookxsl/HtmlOutput.html
20 xsltproc $(XSLTOPTS) -o bsp-guide.html $(XSL_XHTML_URI) bsp-guide.xml
21
22tarball: html
23 tar -cvzf bsp-guide.tgz style.css bsp-guide.html figures/poky-ref-manual.png
24
25validate:
26 xmllint --postvalid --xinclude --noout bsp-guide.xml
27
28OUTPUTS = bsp-guide.pdf bsp-guide.html
29SOURCES = *.png *.xml *.css *.svg
30
31publish:
32 scp -r $(OUTPUTS) $(SOURCES) o-hand.com:/srv/www/pokylinux.org/doc/
33
34clean:
35 rm -f $(OUTPUTS)
diff --git a/documentation/bsp-guide/bsp-guide.xml b/documentation/bsp-guide/bsp-guide.xml
new file mode 100644
index 0000000000..e90602cb00
--- /dev/null
+++ b/documentation/bsp-guide/bsp-guide.xml
@@ -0,0 +1,62 @@
1<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
2"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
3
4<book id='poky-handbook' lang='en'
5 xmlns:xi="http://www.w3.org/2003/XInclude"
6 xmlns="http://docbook.org/ns/docbook"
7 >
8 <bookinfo>
9
10 <mediaobject>
11 <imageobject>
12 <imagedata fileref='poky-ref-manual.png'
13 format='SVG'
14 align='center' scalefit='1' width='100%'/>
15 </imageobject>
16 </mediaobject>
17
18 <title>Board Support Package (BSP) Developers Guide</title>
19
20 <authorgroup>
21 <author>
22 <firstname>Richard</firstname> <surname>Purdie</surname>
23 <affiliation>
24 <orgname>Intel Corporation</orgname>
25 </affiliation>
26 <email>richard@linux.intel.com</email>
27 </author>
28 </authorgroup>
29
30 <revhistory>
31 <revision>
32 <revnumber>0.9</revnumber>
33 <date>27 October 2010</date>
34 <revremark>Beta Draft</revremark>
35 </revision>
36 </revhistory>
37
38 <copyright>
39 <year>2010</year>
40 <holder>Linux Foundation</holder>
41 </copyright>
42
43 <legalnotice>
44 <para>
45 Permission is granted to copy, distribute and/or modify this document under
46 the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-nc-sa/2.0/uk/">Creative Commons Attribution-Non-Commercial-Share Alike 2.0 UK: England &amp; Wales</ulink> as published by Creative Commons.
47 </para>
48 </legalnotice>
49
50 </bookinfo>
51
52 <xi:include href="bsp.xml"/>
53
54<!-- <index id='index'>
55 <title>Index</title>
56 </index>
57-->
58
59</book>
60<!--
61vim: expandtab tw=80 ts=4
62-->
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml
new file mode 100644
index 0000000000..3b4b4818fa
--- /dev/null
+++ b/documentation/bsp-guide/bsp.xml
@@ -0,0 +1,459 @@
1<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
2"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
3
4<chapter id='bsp'>
5
6 <title>Board Support Packages (BSP) - Developers Guide</title>
7
8 <para>
9 A Board Support Package (BSP) is a collection of information that
10 defines how to support a particular hardware device, set of devices, or
11 hardware platform.
12 The BSP includes information about the hardware features
13 present on the device and kernel configuration information along with any
14 additional hardware drivers required.
15 The BSP also lists any additional software
16 components required in addition to a generic Linux software stack for both
17 essential and optional platform features.
18 </para>
19
20 <para>
21 The intent of this document is to define a structure for these components
22 so that BSPs follow a commonly understood layout.
23 Providing a common form allows end-users to understand and become familiar
24 with the layout.
25 A common form also encourages standardization
26 of software support of hardware.
27 </para>
28
29 <para>
30 The proposed format does have elements that are specific to the Poky and
31 OpenEmbedded build systems.
32 It is intended that this information can be
33 used by other systems besides Poky and OpenEmbedded and thatspecified it will be simple
34 to extract information and convert it to other formats if required.
35 Poky, through its standard slyers mechanism, can directly accept The format
36 described as a layer.
37 The BSP captures all
38 the hardware specific details in one place in a standard format, which is
39 useful for any person wishing to use the hardware platform regardless of
40 the build system being used.
41 </para>
42
43 <para>
44 The BSP specification does not include a build system or other tools -
45 it is concerned with the hardware-specific components only.
46 At the end
47 distribution point you can shipt the BSP combined with a build system
48 and other tools.
49 However, it is important to maintain the distinction that these
50 are separate components that happen to be combined in certain end products.
51 </para>
52
53 <section id="bsp-filelayout">
54 <title>Example Filesystem Layout</title>
55
56 <para>
57 The BSP consists of a file structure inside a base directory, meta-bsp in this example,
58 where "bsp" is a placeholder for the machine or platform name.
59 Examples of some files that it could contain are:
60 </para>
61 <para>
62 <literallayout class='monospaced'>
63 meta-bsp/
64 meta-bsp/binary/zImage
65 meta-bsp/binary/poky-image-minimal.directdisk
66 meta-bsp/conf/layer.conf
67 meta-bsp/conf/machine/*.conf
68 meta-bsp/conf/machine/include/tune-*.inc
69 meta-bsp/packages/bootloader/bootloader_0.1.bb
70 meta-bsp/packages/linux/linux-bsp-2.6.50/*.patch
71 meta-bsp/packages/linux/linux-bsp-2.6.50/defconfig-bsp
72 meta-bsp/packages/linux/linux-bsp_2.6.50.bb
73 meta-bsp/packages/modem/modem-driver_0.1.bb
74 meta-bsp/packages/modem/modem-daemon_0.1.bb
75 meta-bsp/packages/image-creator/image-creator-native_0.1.bb
76 meta-bsp/prebuilds/
77 </literallayout>
78 </para>
79
80 <para>
81 The following sections detail what these files and directories could contain.
82 </para>
83
84 </section>
85
86 <section id="bsp-filelayout-binary">
87 <title>Prebuilt User Binaries (meta-bsp/binary/*)</title>
88
89 <para>
90 This optional area contains useful prebuilt kernels and userspace filesystem
91 images appropriate to the target system.
92 Users could use these to get a system
93 running and quickly get started on development tasks.
94 The exact types of binaries
95 present will be highly hardware-dependent but a README file should be present
96 explaining how to use them with the target hardware.
97 If prebuilt binaries are
98 present, source code to meet licensing requirements must also be provided in
99 some form.
100 </para>
101
102 </section>
103
104 <section id='bsp-filelayout-layer'>
105 <title>Layer Configuration (meta-bsp/conf/layer.conf)</title>
106
107 <para>
108 This file identifies the structure as a Poky layer by identifying the
109 contents of the layer and containing information about how Poky should use
110 it.
111 Generally, a standard boilerplate file consisting of the following works.
112 </para>
113
114 <para>
115 <literallayout class='monospaced'>
116 # We have a conf directory, add to BBPATH
117 BBPATH := "${BBPATH}${LAYERDIR}"
118
119 # We have a recipes directory containing .bb and .bbappend files, add to BBFILES
120 BBFILES := "${BBFILES} ${LAYERDIR}/recipes/*/*.bb \ ${LAYERDIR}/recipes/*/*.bbappend"
121
122 BBFILE_COLLECTIONS += "bsp"
123 BBFILE_PATTERN_bsp := "^${LAYERDIR}/"
124 BBFILE_PRIORITY_bsp = "5"
125 </literallayout>
126 </para>
127
128 <para>
129 This file simply makes bitbake aware of the recipes and conf directories and is required
130 for recognition of the BSP by Poky.
131 </para>
132
133 </section>
134
135 <section id="bsp-filelayout-machine">
136 <title>Hardware Configuration Options (meta-bsp/conf/machine/*.conf)</title>
137
138 <para>
139 The machine files bind together all the information contained elsewhere
140 in the BSP into a format that Poky/OpenEmbedded can understand.
141 If the BSP supports multiple machines, multiple machine configuration files
142 can be present.
143 These filenames correspond to the values to which users have set the MACHINE variable.
144 </para>
145
146 <para>
147 These files define things such as what kernel package to use
148 (PREFERRED_PROVIDER of virtual/kernel), what hardware drivers to
149 include in different types of images, any special software components
150 that are needed, any bootloader information, and also any special image
151 format requirements.
152 </para>
153
154 <para>
155 At least one machine file is required for a Poky BSP layer.
156 However, you can supply more than one file.
157 </para>
158
159 </section>
160
161 <section id="bsp-filelayout-tune">
162 <title>Hardware Optimization Options (meta-bsp/conf/machine/include/tune-*.inc)</title>
163
164 <para>
165 These are shared hardware "tuning" definitions and are commonly used to
166 pass specific optimization flags to the compiler.
167 An example is tune-atom.inc:
168 </para>
169 <para>
170 <literallayout class='monospaced'>
171 BASE_PACKAGE_ARCH = "core2"
172 TARGET_CC_ARCH = "-m32 -march=core2 -msse3 -mtune=generic -mfpmath=sse"
173 </literallayout>
174 </para>
175 <para>
176 This example defines a new package architecture called "core2" and uses the
177 specified optimization flags, which are carefully chosen to give best
178 performance on atom processors.
179 </para>
180 <para>
181 The tune file would be included by the machine definition and can be
182 contained in the BSP or referenced from one of the standard core set of
183 files included with Poky itself.
184 </para>
185 <para>
186 Both the base package architecuture file and the tune file are optional for a Poky BSP layer.
187 </para>
188 </section>
189
190 <section id='bsp-filelayout-kernel'>
191 <title>Linux Kernel Configuration (meta-bsp/packages/linux/*)</title>
192
193 <para>
194 These files make up the definition of a kernel to use with this
195 hardware.
196 In this case it is a complete self-contained kernel with its own
197 configuration and patches but kernels can be shared between many
198 machines as well.
199 Following is an example:
200 <literallayout class='monospaced'>
201 meta-bsp/packages/linux/linux-bsp_2.6.50.bb
202 </literallayout>
203 This example file is the core kernel recipe that details from where to get the kernel
204 source.
205 All standard source code locations are supported so this could
206 be a release tarball, some git repository, or source included in
207 the directory within the BSP itself.
208 </para>
209 <para>
210 The file then contains information about what patches to apply and how to configure and build them.
211 It can reuse the main Poky kernel build class, so the definitions here can remain very simple.
212 </para>
213 <para>
214 <literallayout class='monospaced'>
215 linux-bsp-2.6.50/*.patch
216 </literallayout>
217 </para>
218 <para>
219 The above example file contains patches you can apply against the base kernel, wherever
220 they may have been obtained from.
221 </para>
222 <para>
223 <literallayout class='monospaced'>
224 meta-bsp/packages/linux/linux-bsp-2.6.50/defconfig-bsp
225 </literallayout>
226 </para>
227 <para>
228 Finally, this last example file contains configuration information to use to configure the kernel.
229 </para>
230 <para>
231 Examples of kernel recipes are available in Poky itself.
232 These files are optional since a kernel from Poky itself could be selected, although it
233 would be unusual not to have a kernel configuration.
234 </para>
235 </section>
236
237 <section id='bsp-filelayout-packages'>
238 <title>Other Software (meta-bsp/packages/*)</title>
239
240 <para>
241 This section describes other pieces of software that the hardware might need for best
242 operation.
243 These are examples of the kinds of things that you could encounter.
244 The examples used in this section are standard <filename>.bb</filename> file recipes in the
245 usual Poky format.
246 You can include the source directly by referring to it in the source control system or
247 the released tarballs of external software projects.
248 You only need to provide these types of files if the platform requires them.
249 </para>
250 <para>
251 The following file is a bootloader recipe that can be used to generate a new
252 bootloader binary.
253 Sometimes these files are included in the final image format and are needed to reflash hardware.
254 </para>
255 <para>
256 <literallayout class='monospaced'>
257 meta-bsp/packages/bootloader/bootloader_0.1.bb
258 </literallayout>
259 </para>
260 <para>
261 These next two files are examples of a hardware driver and a hardware daemon that might need
262 to be included in images to make the hardware useful.
263 Although the example uses "modem" there may be other components needed, such as firmware.
264 </para>
265 <para>
266 <literallayout class='monospaced'>
267 meta-bsp/packages/modem/modem-driver_0.1.bb
268 meta-bsp/packages/modem/modem-daemon_0.1.bb
269 </literallayout>
270 </para>
271 <para>
272 Sometimes the device needs an image in a very specific format so that the update
273 mechanism can accept and reflash it.
274 Recipes to build the tools needed to do this can be included with the BSP.
275 Following is an example.
276 </para>
277 <para>
278 <literallayout class='monospaced'>
279 meta-bsp/packages/image-creator/image-creator-native_0.1.bb
280 </literallayout>
281 </para>
282 </section>
283
284 <section id='bs-filelayout-bbappend'>
285 <title>Append BSP-Specific Information to Existing Recipes</title>
286 <para>
287 Suppose you have a recipe such as 'pointercal' that requires machine-specific information.
288 At the same time, you have your new BSP code nicely partitioned into a layer, which is where
289 you would also like to specify any machine-specific information associated with your new machine.
290 Before the <filename>.bbappend</filename> extension was introduced, you would have to copy the whole
291 pointercal recipe and files into your layer, and then add the single file for your machine.
292 </para>
293 <para>
294 With the <filename>.bbappend</filename> extension, however, your work becomes much easier.
295 It allows you to easily merge BSP-specific information with the original recipe.
296 Whenever bitbake finds any <filename>.bbappend</filename> files, they will be
297 included after bitbake loads the associated <filename>.bb</filename> but before any finalize
298 or anonymous methods run.
299 This allows the BSP layer to do whatever it might want to do to customize the original recipe.
300 </para>
301 <para>
302 If your recipe needs to reference extra files it can use the FILESEXTRAPATH variable
303 to specify their location.
304 The example below shows extra files contained in a folder called ${PN} (the package name).
305 </para>
306 <literallayout class='monospaced'>
307 FILESEXTRAPATHS := "${THISDIR}/${PN}"
308 </literallayout>
309 <para>
310 This technique allows the BSP to add machine-specific configuration files to the layer directory,
311 which will be picked up by bitbake.
312 For an example see <filename>meta-emenlow/packages/formfactor</filename>.
313 </para>
314 </section>
315
316 <section id="bsp-filelayout-prebuilds">
317 <title>Prebuild Data (meta-bsp/prebuilds/*)</title>
318 <para>
319 This location can contain precompiled representations of the source code
320 contained elsewhere in the BSP layer.
321 Assuming a compatible configuration is used, Poky can process and use these optional precompiled
322 representations to provide much faster build times.
323 </para>
324 </section>
325
326 <section id='bsp-click-through-licensing'>
327 <title>BSP 'Click-Through' Licensing Procedure</title>
328
329 <note><para> This section is here as a description of how
330 click-through licensing is expected to work, and is
331 not yet not impemented.
332 </para></note>
333
334 <para>
335 In some cases, a BSP may contain separately licensed IP
336 (Intellectual Property) for a component, which imposes
337 upon the user a requirement to accept the terms of a
338 'click-through' license. Once the license is accepted
339 (in whatever form that may be, see details below) the
340 Poky build system can then build and include the
341 corresponding component in the final BSP image. Some
342 affected components may be essential to the normal
343 functioning of the system and have no 'free' replacement
344 i.e. the resulting system would be non-functional
345 without them. Other components may be simply
346 'good-to-have' or purely elective, or if essential
347 nonetheless have a 'free' (possibly less-capable)
348 version which may substituted for in the BSP recipe.
349 </para>
350
351 <para>
352 For the latter cases, where it is possible to do so from
353 a functionality perspective, the Poky website will make
354 available a 'de-featured' BSP completely free of
355 encumbered IP, which can be used directly and without
356 any further licensing requirements. If present, this
357 fully 'de-featured' BSP will be named meta-bsp (i.e. the
358 normal default naming convention). This is the simplest
359 and therefore preferred option if available, assuming
360 the resulting functionality meets requirements.
361 </para>
362
363 <para>
364 If however, a non-encumbered version is unavailable or
365 the 'free' version would provide unsuitable
366 functionality or quality, an encumbered version can be
367 used. Encumbered versions of a BSP are given names of
368 the form meta-bsp-nonfree. There are several ways
369 within the Poky build system to satisfy the licensing
370 requirements for an encumbered BSP, in roughly the
371 following order of preference:
372 </para>
373
374 <itemizedlist>
375 <listitem>
376
377 <para>
378 Get a license key (or keys) for the encumbered BSP
379 by visiting
380 <ulink url='https://pokylinux.org/bsp-keys.html'>https://pokylinux.org/bsp-keys.html</ulink>
381 and give the web form there the name of the BSP and your e-mail address.
382 </para>
383
384 <literallayout class='monospaced'>
385 [screenshot of dialog box]
386 </literallayout>
387
388 <para>
389 After agreeing to any applicable license terms, the
390 BSP key(s) will be immediately sent to the address
391 given and can be used by specifying BSPKEY_&lt;keydomain&gt;
392 environment variables when building the image:
393 </para>
394
395 <literallayout class='monospaced'>
396 $ BSPKEY_&lt;keydomain&gt;=&lt;key&gt; bitbake poky-image-sato
397 </literallayout>
398
399 <para>
400 This will allow the encumbered image to be built
401 with no change at all to the normal build process.
402 </para>
403
404 <para>
405 Equivalently and probably more conveniently, a line
406 for each key can instead be put into the user's
407 local.conf file.
408 </para>
409
410 <para>
411 The &lt;keydomain&gt; component of the
412 BSPKEY_&lt;keydomain&gt; is required because there
413 may be multiple licenses in effect for a give BSP; a
414 given &lt;keydomain&gt; in such cases corresponds to
415 a particular license. In order for an encumbered
416 BSP encompassing multiple key domains to be built
417 successfully, a &lt;keydomain&gt; entry for each
418 applicable license must be present in local.conf or
419 supplied on the command-line.
420 </para>
421 </listitem>
422 <listitem>
423 <para>
424 Do nothing - build as you normally would, and follow
425 any license prompts that originate from the
426 encumbered BSP (the build will cleanly stop at this
427 point). These usually take the form of instructions
428 needed to manually fetch the encumbered package(s)
429 and md5 sums into e.g. the poky/build/downloads
430 directory. Once the manual package fetch has been
431 completed, restarting the build will continue where
432 it left off, this time without the prompt since the
433 license requirements will have been satisfied.
434 </para>
435 </listitem>
436 <listitem>
437 <para>
438 Get a full-featured BSP recipe rather than a key, by
439 visiting
440 <ulink url='https://pokylinux.org/bsps.html'>https://pokylinux.org/bsps.html</ulink>.
441 Accepting the license agreement(s) presented will
442 subsequently allow you to download a tarball
443 containing a full-featured BSP legally cleared for
444 your use by the just-given license agreement(s).
445 This method will also allow the encumbered image to
446 be built with no change at all to the normal build
447 process.
448 </para>
449 </listitem>
450 </itemizedlist>
451 <para>
452 Note that method 3 is also the only option available
453 when downloading pre-compiled images generated from
454 non-free BSPs. Those images are likewise available at
455 <ulink url='https://pokylinux.org/bsps.html'>https://pokylinux.org/bsps.html</ulink>.
456 </para>
457 </section>
458
459</chapter>
diff --git a/documentation/bsp-guide/figures/poky-ref-manual.png b/documentation/bsp-guide/figures/poky-ref-manual.png
new file mode 100644
index 0000000000..333442e0d6
--- /dev/null
+++ b/documentation/bsp-guide/figures/poky-ref-manual.png
Binary files differ
diff --git a/documentation/bsp-guide/style.css b/documentation/bsp-guide/style.css
new file mode 100644
index 0000000000..3564affccb
--- /dev/null
+++ b/documentation/bsp-guide/style.css
@@ -0,0 +1,952 @@
1/*
2 Generic XHTML / DocBook XHTML CSS Stylesheet.
3
4 Browser wrangling and typographic design by
5 Oyvind Kolas / pippin@gimp.org
6
7 Customised for Poky by
8 Matthew Allum / mallum@o-hand.com
9
10 Thanks to:
11 Liam R. E. Quin
12 William Skaggs
13 Jakub Steiner
14
15 Structure
16 ---------
17
18 The stylesheet is divided into the following sections:
19
20 Positioning
21 Margins, paddings, width, font-size, clearing.
22 Decorations
23 Borders, style
24 Colors
25 Colors
26 Graphics
27 Graphical backgrounds
28 Nasty IE tweaks
29 Workarounds needed to make it work in internet explorer,
30 currently makes the stylesheet non validating, but up until
31 this point it is validating.
32 Mozilla extensions
33 Transparency for footer
34 Rounded corners on boxes
35
36*/
37
38
39 /*************** /
40 / Positioning /
41/ ***************/
42
43body {
44 font-family: Verdana, Sans, sans-serif;
45
46 min-width: 640px;
47 width: 80%;
48 margin: 0em auto;
49 padding: 2em 5em 5em 5em;
50 color: #333;
51}
52
53h1,h2,h3,h4,h5,h6,h7 {
54 font-family: Arial, Sans;
55 color:#999999;
56 clear: both;
57}
58
59h1 {
60 font-size: 2em;
61 text-align: left;
62 padding: 0em 0em 0em 0em;
63 margin: 2em 0em 0em 0em;
64}
65
66h2.subtitle {
67 margin: 0.10em 0em 3.0em 0em;
68 padding: 0em 0em 0em 0em;
69 font-size: 1.8em;
70 padding-left: 20%;
71 font-weight: normal;
72 font-style: italic;
73}
74
75h2 {
76 margin: 2em 0em 0.66em 0em;
77 padding: 0.5em 0em 0em 0em;
78 font-size: 1.5em;
79 font-weight: normal;
80}
81
82h3.subtitle {
83 margin: 0em 0em 1em 0em;
84 padding: 0em 0em 0em 0em;
85 font-size: 142.14%;
86 text-align: right;
87}
88
89h3 {
90 margin: 1em 0em 0.5em 0em;
91 padding: 1em 0em 0em 0em;
92 font-size: 140%;
93 font-weight: normal;
94}
95
96h4 {
97 margin: 1em 0em 0.5em 0em;
98 padding: 1em 0em 0em 0em;
99 font-size: 120%;
100 font-weight: normal;
101}
102
103h5 {
104 margin: 1em 0em 0.5em 0em;
105 padding: 1em 0em 0em 0em;
106 font-size: 110.000%;
107 border-bottom: 1px solid black;
108}
109
110h6 {
111 margin: 1em 0em 0em 0em;
112 padding: 1em 0em 0em 0em;
113 font-size: 80%;
114 font-weight: normal;
115}
116
117.authorgroup {
118 background-color: transparent;
119 background-repeat: no-repeat;
120 padding-top: 256px;
121 background-image: url("figures/poky-ref-manual.png");
122 background-position: left top;
123 margin-top: -256px;
124 padding-right: 50px;
125 margin-left: 50px;
126 text-align: right;
127 width: 600px;
128}
129
130h3.author {
131 margin: 0em 0me 0em 0em;
132 padding: 0em 0em 0em 0em;
133 font-weight: normal;
134 font-size: 100%;
135 clear: both;
136}
137
138.author tt.email {
139 font-size: 66%;
140}
141
142.titlepage hr {
143 width: 0em;
144 clear: both;
145}
146
147.revhistory {
148 padding-top: 2em;
149 clear: both;
150}
151
152.toc,
153.list-of-tables,
154.list-of-examples,
155.list-of-figures {
156 padding: 1.33em 0em 2.5em 0em;
157}
158
159.toc p,
160.list-of-tables p,
161.list-of-figures p,
162.list-of-examples p {
163 padding: 0em 0em 0em 0em;
164 padding: 0em 0em 0.3em;
165 margin: 1.5em 0em 0em 0em;
166}
167
168.toc p b,
169.list-of-tables p b,
170.list-of-figures p b,
171.list-of-examples p b{
172 font-size: 100.0%;
173 font-weight: bold;
174}
175
176.toc dl,
177.list-of-tables dl,
178.list-of-figures dl,
179.list-of-examples dl {
180 margin: 0em 0em 0.5em 0em;
181 padding: 0em 0em 0em 0em;
182}
183
184.toc dt {
185 margin: 0em 0em 0em 0em;
186 padding: 0em 0em 0em 0em;
187}
188
189.toc dd {
190 margin: 0em 0em 0em 2.6em;
191 padding: 0em 0em 0em 0em;
192}
193
194div.glossary dl,
195div.variablelist dl {
196}
197
198.glossary dl dt,
199.variablelist dl dt,
200.variablelist dl dt span.term {
201 font-weight: normal;
202 width: 20em;
203 text-align: right;
204}
205
206.variablelist dl dt {
207 margin-top: 0.5em;
208}
209
210.glossary dl dd,
211.variablelist dl dd {
212 margin-top: -1em;
213 margin-left: 25.5em;
214}
215
216.glossary dd p,
217.variablelist dd p {
218 margin-top: 0em;
219 margin-bottom: 1em;
220}
221
222
223div.calloutlist table td {
224 padding: 0em 0em 0em 0em;
225 margin: 0em 0em 0em 0em;
226}
227
228div.calloutlist table td p {
229 margin-top: 0em;
230 margin-bottom: 1em;
231}
232
233div p.copyright {
234 text-align: left;
235}
236
237div.legalnotice p.legalnotice-title {
238 margin-bottom: 0em;
239}
240
241p {
242 line-height: 1.5em;
243 margin-top: 0em;
244
245}
246
247dl {
248 padding-top: 0em;
249}
250
251hr {
252 border: solid 1px;
253}
254
255
256.mediaobject,
257.mediaobjectco {
258 text-align: center;
259}
260
261img {
262 border: none;
263}
264
265ul {
266 padding: 0em 0em 0em 1.5em;
267}
268
269ul li {
270 padding: 0em 0em 0em 0em;
271}
272
273ul li p {
274 text-align: left;
275}
276
277table {
278 width :100%;
279}
280
281th {
282 padding: 0.25em;
283 text-align: left;
284 font-weight: normal;
285 vertical-align: top;
286}
287
288td {
289 padding: 0.25em;
290 vertical-align: top;
291}
292
293p a[id] {
294 margin: 0px;
295 padding: 0px;
296 display: inline;
297 background-image: none;
298}
299
300a {
301 text-decoration: underline;
302 color: #444;
303}
304
305pre {
306 overflow: auto;
307}
308
309a:hover {
310 text-decoration: underline;
311 /*font-weight: bold;*/
312}
313
314
315div.informalfigure,
316div.informalexample,
317div.informaltable,
318div.figure,
319div.table,
320div.example {
321 margin: 1em 0em;
322 padding: 1em;
323 page-break-inside: avoid;
324}
325
326
327div.informalfigure p.title b,
328div.informalexample p.title b,
329div.informaltable p.title b,
330div.figure p.title b,
331div.example p.title b,
332div.table p.title b{
333 padding-top: 0em;
334 margin-top: 0em;
335 font-size: 100%;
336 font-weight: normal;
337}
338
339.mediaobject .caption,
340.mediaobject .caption p {
341 text-align: center;
342 font-size: 80%;
343 padding-top: 0.5em;
344 padding-bottom: 0.5em;
345}
346
347.epigraph {
348 padding-left: 55%;
349 margin-bottom: 1em;
350}
351
352.epigraph p {
353 text-align: left;
354}
355
356.epigraph .quote {
357 font-style: italic;
358}
359.epigraph .attribution {
360 font-style: normal;
361 text-align: right;
362}
363
364span.application {
365 font-style: italic;
366}
367
368.programlisting {
369 font-family: monospace;
370 font-size: 80%;
371 white-space: pre;
372 margin: 1.33em 0em;
373 padding: 1.33em;
374}
375
376.tip,
377.warning,
378.caution,
379.note {
380 margin-top: 1em;
381 margin-bottom: 1em;
382
383}
384
385/* force full width of table within div */
386.tip table,
387.warning table,
388.caution table,
389.note table {
390 border: none;
391 width: 100%;
392}
393
394
395.tip table th,
396.warning table th,
397.caution table th,
398.note table th {
399 padding: 0.8em 0.0em 0.0em 0.0em;
400 margin : 0em 0em 0em 0em;
401}
402
403.tip p,
404.warning p,
405.caution p,
406.note p {
407 margin-top: 0.5em;
408 margin-bottom: 0.5em;
409 padding-right: 1em;
410 text-align: left;
411}
412
413.acronym {
414 text-transform: uppercase;
415}
416
417b.keycap,
418.keycap {
419 padding: 0.09em 0.3em;
420 margin: 0em;
421}
422
423.itemizedlist li {
424 clear: none;
425}
426
427.filename {
428 font-size: medium;
429 font-family: Courier, monospace;
430}
431
432
433div.navheader, div.heading{
434 position: absolute;
435 left: 0em;
436 top: 0em;
437 width: 100%;
438 background-color: #cdf;
439 width: 100%;
440}
441
442div.navfooter, div.footing{
443 position: fixed;
444 left: 0em;
445 bottom: 0em;
446 background-color: #eee;
447 width: 100%;
448}
449
450
451div.navheader td,
452div.navfooter td {
453 font-size: 66%;
454}
455
456div.navheader table th {
457 /*font-family: Georgia, Times, serif;*/
458 /*font-size: x-large;*/
459 font-size: 80%;
460}
461
462div.navheader table {
463 border-left: 0em;
464 border-right: 0em;
465 border-top: 0em;
466 width: 100%;
467}
468
469div.navfooter table {
470 border-left: 0em;
471 border-right: 0em;
472 border-bottom: 0em;
473 width: 100%;
474}
475
476div.navheader table td a,
477div.navfooter table td a {
478 color: #777;
479 text-decoration: none;
480}
481
482/* normal text in the footer */
483div.navfooter table td {
484 color: black;
485}
486
487div.navheader table td a:visited,
488div.navfooter table td a:visited {
489 color: #444;
490}
491
492
493/* links in header and footer */
494div.navheader table td a:hover,
495div.navfooter table td a:hover {
496 text-decoration: underline;
497 background-color: transparent;
498 color: #33a;
499}
500
501div.navheader hr,
502div.navfooter hr {
503 display: none;
504}
505
506
507.qandaset tr.question td p {
508 margin: 0em 0em 1em 0em;
509 padding: 0em 0em 0em 0em;
510}
511
512.qandaset tr.answer td p {
513 margin: 0em 0em 1em 0em;
514 padding: 0em 0em 0em 0em;
515}
516.answer td {
517 padding-bottom: 1.5em;
518}
519
520.emphasis {
521 font-weight: bold;
522}
523
524
525 /************* /
526 / decorations /
527/ *************/
528
529.titlepage {
530}
531
532.part .title {
533}
534
535.subtitle {
536 border: none;
537}
538
539/*
540h1 {
541 border: none;
542}
543
544h2 {
545 border-top: solid 0.2em;
546 border-bottom: solid 0.06em;
547}
548
549h3 {
550 border-top: 0em;
551 border-bottom: solid 0.06em;
552}
553
554h4 {
555 border: 0em;
556 border-bottom: solid 0.06em;
557}
558
559h5 {
560 border: 0em;
561}
562*/
563
564.programlisting {
565 border: solid 1px;
566}
567
568div.figure,
569div.table,
570div.informalfigure,
571div.informaltable,
572div.informalexample,
573div.example {
574 border: 1px solid;
575}
576
577
578
579.tip,
580.warning,
581.caution,
582.note {
583 border: 1px solid;
584}
585
586.tip table th,
587.warning table th,
588.caution table th,
589.note table th {
590 border-bottom: 1px solid;
591}
592
593.question td {
594 border-top: 1px solid black;
595}
596
597.answer {
598}
599
600
601b.keycap,
602.keycap {
603 border: 1px solid;
604}
605
606
607div.navheader, div.heading{
608 border-bottom: 1px solid;
609}
610
611
612div.navfooter, div.footing{
613 border-top: 1px solid;
614}
615
616 /********* /
617 / colors /
618/ *********/
619
620body {
621 color: #333;
622 background: white;
623}
624
625a {
626 background: transparent;
627}
628
629a:hover {
630 background-color: #dedede;
631}
632
633
634h1,
635h2,
636h3,
637h4,
638h5,
639h6,
640h7,
641h8 {
642 background-color: transparent;
643}
644
645hr {
646 border-color: #aaa;
647}
648
649
650.tip, .warning, .caution, .note {
651 border-color: #aaa;
652}
653
654
655.tip table th,
656.warning table th,
657.caution table th,
658.note table th {
659 border-bottom-color: #aaa;
660}
661
662
663.warning {
664 background-color: #fea;
665}
666
667.caution {
668 background-color: #fea;
669}
670
671.tip {
672 background-color: #eff;
673}
674
675.note {
676 background-color: #dfc;
677}
678
679.glossary dl dt,
680.variablelist dl dt,
681.variablelist dl dt span.term {
682 color: #044;
683}
684
685div.figure,
686div.table,
687div.example,
688div.informalfigure,
689div.informaltable,
690div.informalexample {
691 border-color: #aaa;
692}
693
694pre.programlisting {
695 color: black;
696 background-color: #fff;
697 border-color: #aaa;
698 border-width: 2px;
699}
700
701.guimenu,
702.guilabel,
703.guimenuitem {
704 background-color: #eee;
705}
706
707
708b.keycap,
709.keycap {
710 background-color: #eee;
711 border-color: #999;
712}
713
714
715div.navheader {
716 border-color: black;
717}
718
719
720div.navfooter {
721 border-color: black;
722}
723
724
725 /*********** /
726 / graphics /
727/ ***********/
728
729/*
730body {
731 background-image: url("images/body_bg.jpg");
732 background-attachment: fixed;
733}
734
735.navheader,
736.note,
737.tip {
738 background-image: url("images/note_bg.jpg");
739 background-attachment: fixed;
740}
741
742.warning,
743.caution {
744 background-image: url("images/warning_bg.jpg");
745 background-attachment: fixed;
746}
747
748.figure,
749.informalfigure,
750.example,
751.informalexample,
752.table,
753.informaltable {
754 background-image: url("images/figure_bg.jpg");
755 background-attachment: fixed;
756}
757
758*/
759h1,
760h2,
761h3,
762h4,
763h5,
764h6,
765h7{
766}
767
768div.preface .titlepage .title,
769div.colophon .title,
770div.chapter .titlepage .title {
771 background-image: url("images/title-bg.png");
772 background-position: bottom;
773 background-repeat: repeat-x;
774}
775
776div.section div.section .titlepage .title,
777div.sect2 .titlepage .title {
778 background: none;
779}
780
781
782h1.title {
783 background-color: transparent;
784 background-image: url("poky-ref-manual.png");
785 background-repeat: no-repeat;
786 height: 256px;
787 text-indent: -9000px;
788 overflow:hidden;
789}
790
791h2.subtitle {
792 background-color: transparent;
793 text-indent: -9000px;
794 overflow:hidden;
795 width: 0px;
796 display: none;
797}
798
799 /*************************************** /
800 / pippin.gimp.org specific alterations /
801/ ***************************************/
802
803/*
804div.heading, div.navheader {
805 color: #777;
806 font-size: 80%;
807 padding: 0;
808 margin: 0;
809 text-align: left;
810 position: absolute;
811 top: 0px;
812 left: 0px;
813 width: 100%;
814 height: 50px;
815 background: url('/gfx/heading_bg.png') transparent;
816 background-repeat: repeat-x;
817 background-attachment: fixed;
818 border: none;
819}
820
821div.heading a {
822 color: #444;
823}
824
825div.footing, div.navfooter {
826 border: none;
827 color: #ddd;
828 font-size: 80%;
829 text-align:right;
830
831 width: 100%;
832 padding-top: 10px;
833 position: absolute;
834 bottom: 0px;
835 left: 0px;
836
837 background: url('/gfx/footing_bg.png') transparent;
838}
839*/
840
841
842
843 /****************** /
844 / nasty ie tweaks /
845/ ******************/
846
847/*
848div.heading, div.navheader {
849 width:expression(document.body.clientWidth + "px");
850}
851
852div.footing, div.navfooter {
853 width:expression(document.body.clientWidth + "px");
854 margin-left:expression("-5em");
855}
856body {
857 padding:expression("4em 5em 0em 5em");
858}
859*/
860
861 /**************************************** /
862 / mozilla vendor specific css extensions /
863/ ****************************************/
864/*
865div.navfooter, div.footing{
866 -moz-opacity: 0.8em;
867}
868
869div.figure,
870div.table,
871div.informalfigure,
872div.informaltable,
873div.informalexample,
874div.example,
875.tip,
876.warning,
877.caution,
878.note {
879 -moz-border-radius: 0.5em;
880}
881
882b.keycap,
883.keycap {
884 -moz-border-radius: 0.3em;
885}
886*/
887
888table tr td table tr td {
889 display: none;
890}
891
892
893hr {
894 display: none;
895}
896
897table {
898 border: 0em;
899}
900
901 .photo {
902 float: right;
903 margin-left: 1.5em;
904 margin-bottom: 1.5em;
905 margin-top: 0em;
906 max-width: 17em;
907 border: 1px solid gray;
908 padding: 3px;
909 background: white;
910}
911 .seperator {
912 padding-top: 2em;
913 clear: both;
914 }
915
916 #validators {
917 margin-top: 5em;
918 text-align: right;
919 color: #777;
920 }
921 @media print {
922 body {
923 font-size: 8pt;
924 }
925 .noprint {
926 display: none;
927 }
928 }
929
930
931.tip,
932.note {
933 background: #91ae35;
934 color: #fff;
935 padding: 20px;
936 margin: 20px;
937}
938
939.tip h3,
940.note h3 {
941 padding: 0em;
942 margin: 0em;
943 font-size: 2em;
944 font-weight: bold;
945 color: #fff;
946}
947
948.tip a,
949.note a {
950 color: #fff;
951 text-decoration: underline;
952}