All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] meta-crownbay: new layer for E6xx/EG20T systems
  2010-12-07  6:39 [PATCH 0/1] Add meta-crownbay Tom Zanussi
@ 2010-12-07  5:57 ` Tom Zanussi
  2010-12-07 10:40   ` Yu Ke
  2010-12-07 16:01   ` Bruce Ashfield
  2010-12-08 17:52 ` [PATCH 0/1] Add meta-crownbay Darren Hart
  1 sibling, 2 replies; 8+ messages in thread
From: Tom Zanussi @ 2010-12-07  5:57 UTC (permalink / raw)
  To: poky

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 23144 bytes --]

This layer provides support for Tunnel Creek + Topcliff Intel systems.

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

The EMGD and EG20T PCH kernel drivers are of course GPL'ed and are
submitted in a separate patchset for the 2.6.34 yocto kernel.

The userspace X drivers and supporting libraries however are closed
and need to be manually copied into the layer before building.  The
details on how to do this can be found in the README.before.building
doc in meta-crownbay/.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
---
 meta-crownbay/COPYING.MIT                          |   17 +++
 meta-crownbay/README.before.building               |  112 ++++++++++++++++++++
 meta-crownbay/conf/layer.conf                      |   10 ++
 meta-crownbay/conf/machine/crownbay.conf           |   46 ++++++++
 .../formfactor/formfactor/crownbay/machconfig      |    3 +
 .../recipes/formfactor/formfactor_0.0.bbappend     |    3 +
 .../recipes/linux/linux-yocto_git.bbappend         |    3 +
 .../xserver-xf86-config/crownbay/xorg.conf         |   47 ++++++++
 .../xorg-xserver/xserver-xf86-config_0.1.bbappend  |    3 +
 .../xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb |   90 ++++++++++++++++
 .../xserver-xf86-emgd/crosscompile.patch           |   19 ++++
 .../fix_open_max_preprocessor_error.patch          |   13 +++
 .../xserver-xf86-emgd/macro_tweak.patch            |   18 +++
 .../xorg-xserver/xserver-xf86-emgd/nodolt.patch    |   12 ++
 .../xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb     |   25 +++++
 15 files changed, 421 insertions(+), 0 deletions(-)
 create mode 100644 meta-crownbay/COPYING.MIT
 create mode 100755 meta-crownbay/README.before.building
 create mode 100644 meta-crownbay/conf/layer.conf
 create mode 100644 meta-crownbay/conf/machine/crownbay.conf
 create mode 100644 meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig
 create mode 100644 meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend
 create mode 100644 meta-crownbay/recipes/linux/linux-yocto_git.bbappend
 create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
 create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend
 create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
 create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
 create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
 create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
 create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch
 create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb

diff --git a/meta-crownbay/COPYING.MIT b/meta-crownbay/COPYING.MIT
new file mode 100644
index 0000000..fb950dc
--- /dev/null
+++ b/meta-crownbay/COPYING.MIT
@@ -0,0 +1,17 @@
+Permission is hereby granted, free of charge, to any person obtaining a copy 
+of this software and associated documentation files (the "Software"), to deal 
+in the Software without restriction, including without limitation the rights 
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
+copies of the Software, and to permit persons to whom the Software is 
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in 
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 
+THE SOFTWARE.
diff --git a/meta-crownbay/README.before.building b/meta-crownbay/README.before.building
new file mode 100755
index 0000000..ded4c05
--- /dev/null
+++ b/meta-crownbay/README.before.building
@@ -0,0 +1,112 @@
+The meta-crownbay layer makes use of the proprietary Intel EMGD
+userspace drivers, which at this point in time require that the user
+accept the Intel license by manually extracting the binaries and
+copying them to the proper location in the meta-crownbay layer.
+
+There currently isn't an automated way to do this, thus the manual
+step.  When Yocto supports a click-through installation mechanism, the
+binary files will be packaged as part of the recipe, and this step
+will be unnecessary.
+
+These steps require that you run a graphical application in Windows.
+Windows 7 was used for these instructions, but it shouldn't matter
+which version of Windows you use.
+
+The first step of the process is to download the EMGD 1.5 Gold Driver.
+Here is the current link to the URL which it can be downloaded from:
+
+http://edc.intel.com/Software/Downloads/EMGD/
+
+In the Download Now tab, select:
+
+Intel® architecture-based product: Intel Atom Processor E6XX Series
+Operating System: MeeGo 1.0 IVI Linux (kernel 2.6.33.3, X.server 1.8.0)
+
+That will give you a large zip file:
+
+IEMGD_1_5_GOLD_ALL_1742.zip
+
+Extract the files in the zip file, which will in turn give you a large
+.exe file:
+
+IEMGD_1_5_GOLD_ALL_1742.exe
+
+Run IEMGD_1_5_GOLD_ALL_1742.exe to install, accept licenses, etc.
+
+If it says to install watcom, follow the instructions to do that.
+
+When the installation completes, an application named "emgd-ced" will
+be present in the install directory.  Double-click to run it.
+
+Select the menu item: New Configuration
+
+In the tabbed page, make the following selections and/or enter the
+specified data:
+
+Configuration File Name: myconfig
+Platform Chipset: Intel Atom Processor E6xx
+Port Devices: LVDS, sDVO
+
+Hit the 'Next' button.
+
+On the next tabbed page, make the following selections and/or enter
+the specified data:
+
+Readable Port Name: portname0
+Encoder Configuration: Select sDVO Device: Internal LVDS
+
+Hit the 'Finish' button.
+
+Select the menu item: New Package
+
+In the tabbed page, make the following selections and/or enter the
+specified data:
+
+Package File Name: mypackage
+Configurations: selec myconfig.cnfg
+Target OS: Linux operating System
+
+Hit the 'Finish' button.
+
+Select the menu item: Generate Installation
+
+This will create the EMGD installation package:
+
+Generating EMGD installation...
+
+The installation package should now be under the 'workspace'
+subdirectory of the directory you installed to:
+
+workspace/installation/mypackage.pkg_installation/IEMGD_HEAD_Linux/IEMGD_HEAD_Linux.tgz
+
+This is the file you are interested in.  Copy it to your Poky build
+system, and uncompress/untar it:
+
+$ tar cvfz IEMGD_HEAD_Linux.tgz
+
+Finally, copy Xorg-xserver binaries in the Meego1.0 driver directory
+to the xserver-xf86-emgd-bin directory in the meta-crownbay layer:
+
+$ cp IEMGD_HEAD_Linux/MeeGo1.0/driver/Xorg-xserver-1.7.99/* meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin
+
+You also need to copy the IEMGD License.txt file to the same directory:
+
+$ cp IEMGD_HEAD_Linux/License/License.txt meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin
+
+At this point, you should be able to build meta-crownbay images as usual.
+
+----
+
+For reference, the EMGD Driver documentation is also available at the
+above link (it's also part of the installation).
+
+The specific text of the document is:
+
+User Guide: Intel® Embedded Media and Graphics Driver, EFI Video
+Driver, EPOG, and Video BIOS v1.5 for Windows* XP and Linux* Provides
+installation requirements/procedures & describes the vbios/firmware,
+configuration options, & functionality of Intel® EMGD under Windows* &
+Linux*. Refer to guide for details.
+
+File Type/Size: PDF 3,340KB
+Version: 008 : October 2010
diff --git a/meta-crownbay/conf/layer.conf b/meta-crownbay/conf/layer.conf
new file mode 100644
index 0000000..79dd89b
--- /dev/null
+++ b/meta-crownbay/conf/layer.conf
@@ -0,0 +1,10 @@
+# We have a conf and classes directory, add to BBPATH
+BBPATH := "${BBPATH}:${LAYERDIR}"
+
+# We have a recipes directory, add to BBFILES
+BBFILES := "${BBFILES} ${LAYERDIR}/recipes/*/*.bb \
+	${LAYERDIR}/recipes/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "crownbay"
+BBFILE_PATTERN_crownbay := "^${LAYERDIR}/"
+BBFILE_PRIORITY_crownbay = "6"
diff --git a/meta-crownbay/conf/machine/crownbay.conf b/meta-crownbay/conf/machine/crownbay.conf
new file mode 100644
index 0000000..a2c349a
--- /dev/null
+++ b/meta-crownbay/conf/machine/crownbay.conf
@@ -0,0 +1,46 @@
+#@TYPE: Machine
+#@NAME: crownbay
+
+#@DESCRIPTION: Machine configuration for Crown Bay systems
+# i.e. E660 + EG20T
+
+TARGET_ARCH = "i586"
+PACKAGE_EXTRA_ARCHS = "x86 atom"
+
+include conf/machine/include/tune-atom.inc
+
+BASE_PACKAGE_ARCH="atom"
+
+MACHINE_FEATURES = "kernel26 screen keyboard pci usbhost ext2 ext3 x86 \
+                    acpi serial usbgadget"
+
+KERNEL_IMAGETYPE = "bzImage"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
+PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-trim"
+PREFERRED_PROVIDER_virtual/libgl  ?= "mesa-dri"
+PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-emgd"
+PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-emgd"
+XSERVER ?= "xserver-xf86-emgd \
+           xserver-xf86-emgd-bin \
+           xf86-input-mouse \
+           xf86-input-keyboard \
+           xf86-input-evdev \
+           xf86-input-synaptics \
+           xf86-video-vesa"
+
+PREFERRED_VERSION_xserver-xf86-emgd ?= "1.7.99.2"
+PREFERRED_VERSION_xserver-xf86-emgd-bin ?= "1.7.99.2"
+
+SERIAL_CONSOLE = "115200 ttyS0"
+
+MACHINE_EXTRA_RRECOMMENDS = "kernel-modules eee-acpi-scripts"
+
+GUI_MACHINE_CLASS = "bigscreen"
+
+IMAGE_ROOTFS_SIZE_ext3 = "2000000"
+
+IMAGE_FSTYPES ?= "ext3 cpio.gz"
+
+GLIBC_ADDONS = "nptl"
+GLIBC_EXTRA_OECONF = "--with-tls"
diff --git a/meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig b/meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig
new file mode 100644
index 0000000..ffce012
--- /dev/null
+++ b/meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig
@@ -0,0 +1,3 @@
+# Assume a USB mouse and keyboard are connected
+HAVE_TOUCHSCREEN=0
+HAVE_KEYBOARD=1
diff --git a/meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend b/meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend
new file mode 100644
index 0000000..4a41d48
--- /dev/null
+++ b/meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS := "${THISDIR}/${PN}"
+ 
+PRINC = "1"
diff --git a/meta-crownbay/recipes/linux/linux-yocto_git.bbappend b/meta-crownbay/recipes/linux/linux-yocto_git.bbappend
new file mode 100644
index 0000000..3a50a32
--- /dev/null
+++ b/meta-crownbay/recipes/linux/linux-yocto_git.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS := "${THISDIR}/${PN}"
+COMPATIBLE_MACHINE_crownbay = "crownbay"
+KMACHINE_crownbay  = "crownbay"
diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
new file mode 100644
index 0000000..f78a538
--- /dev/null
+++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
@@ -0,0 +1,47 @@
+##
+## X Config options generated from CED
+## x11 conf skeleton
+## DriverVer=
+##
+
+Section "Screen"
+    Identifier    "Screen0"
+    Device        "IntelEMGD-0"
+    Monitor       "Monitor0"
+    SubSection    "Display"
+    EndSubSection
+EndSection
+
+# Primary (First/only) display
+Section "Device"
+    Identifier "IntelEMGD-0"
+    Driver     "emgd"
+    VendorName "Intel(R) DEG"
+    BoardName  "Embedded Graphics"
+    BusID      "0:2:0"
+    Screen      0
+    Option     "PcfVersion"            "1792"
+    Option     "ConfigId"              "1"
+    Option     "ALL/1/name"                   "e6xx"
+    Option     "ALL/1/General/PortOrder"      "40000"
+    Option     "ALL/1/General/DisplayConfig"  "1"
+    Option     "ALL/1/General/DisplayDetect"  "1"
+    Option     "ALL/1/Port/4/General/name"           "lvds"
+    Option     "ALL/1/Port/4/General/EdidAvail"      "3"
+    Option     "ALL/1/Port/4/General/EdidNotAvail"   "1"
+    Option     "ALL/1/Port/4/General/Rotation"       "0"
+    Option     "ALL/1/Port/4/General/Edid"           "1"
+EndSection
+
+Section "ServerLayout"
+    Identifier     "Default Layout"
+    Screen 0       "Screen0" 0 0
+   # InputDevice    "Mouse0" "CorePointer"
+   # InputDevice    "Keyboard0" "CoreKeyboard"
+   # InputDevice    "DevInputMice" "SendCoreEvents"
+EndSection
+
+Section "ServerFlags"
+    Option        "DontZap"  "0"
+    Option        "AutoAddDevices"  "False"
+EndSection
diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend
new file mode 100644
index 0000000..4b8d0e6
--- /dev/null
+++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend
@@ -0,0 +1,3 @@
+THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}"
+FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:"
+
diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
new file mode 100644
index 0000000..1b2e1e8
--- /dev/null
+++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
@@ -0,0 +1,90 @@
+SUMMARY = "EMGD 1.5 xserver binaries"
+DESCRIPTION = "EMGD 1.5 includes some userspace binaries that use non-free licensing.  Intel Open Source Technology Center unfortunately has no power to change that, but tries to make their use as painless as possible.  Please see the README.before.building in meta-crownbay/recipes/xorg-xerver for instuctions on the (simple) manual steps necessary to make the necessary binaries available to this recipe.  Please do that before building an image"
+
+LICENSE = "Intel-binary-only"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/License.txt;md5=95c4d031b83ab803f3f2401b04ecfbcd"
+PR = "r0"
+
+FILESPATH = "${FILE_DIRNAME}/xserver-xf86-emgd-bin"
+
+FILES_${PN} = "${libdir}/*.so.* ${libdir}/dri ${libdir}/xorg/modules/drivers"
+
+SRC_URI = "file://emgd_dri.so \
+           file://emgd_drv.so \
+           file://emgd_drv_video.so \
+           file://libEGL.so \
+           file://libGLES_CM.so \
+           file://libGLESv2.so \
+           file://libIMGegl.so \
+           file://libOpenVG.so \
+           file://libOpenVGU.so \
+           file://libPVROGL.so \
+           file://libPVRScopeServices.so \
+           file://libXegd_escape.so.2.0.0 \
+           file://libglslcompiler.so \
+           file://libpvr2d.so \
+           file://libpvrPVR2D_DRIWSEGL.so \
+           file://libsrv_init.so \
+           file://libsrv_um.so \
+           file://libva-x11.so.1.0.1 \
+           file://libva.so.1.0.1 \
+           file://License.txt"
+
+S = "${WORKDIR}"
+
+do_install () {
+	install -d -m 0755 ${D}/${libdir}/dri ${D}/${libdir}/xorg/modules/drivers
+
+	install -m 0755	${S}/emgd_dri.so			${D}${libdir}/dri/emgd_dri.so.1.1.15.3082
+	ln -sf		emgd_dri.so.1.1.15.3082			${D}${libdir}/dri/emgd_dri.so
+
+	install -m 0755	${S}/emgd_drv.so			${D}${libdir}/xorg/modules/drivers/emgd_drv.so
+	install -m 0755	${S}/emgd_drv_video.so			${D}${libdir}/xorg/modules/drivers/emgd_drv_video.so
+
+	install -m 0755	${S}/libEGL.so				${D}${libdir}/libEGL.so.1.1.15.3082
+	ln -sf		libEGL.so.1.1.15.3082			${D}${libdir}/libEGL.so
+
+	install -m 0755	${S}/libGLES_CM.so			${D}${libdir}/libGLES_CM.so.1.1.15.3082
+	ln -sf		libGLES_CM.so.1.1.15.3082		${D}${libdir}/libGLES_CM.so
+
+	install -m 0755	${S}/libGLESv2.so			${D}${libdir}/libGLESv2.so.1.1.15.3082
+	ln -sf		libGLESv2.so.1.1.15.3082		${D}${libdir}/libGLESv2.so
+
+	install -m 0755	${S}/libIMGegl.so			${D}${libdir}/libIMGegl.so.1.1.15.3082
+	ln -sf		libIMGegl.so.1.1.15.3082		${D}${libdir}/libIMGegl.so
+
+	install -m 0755	${S}/libOpenVG.so			${D}${libdir}/libOpenVG.so.1.1.15.3082
+	ln -sf		libOpenVG.so.1.1.15.3082		${D}${libdir}/libOpenVG.so
+
+	install -m 0755	${S}/libOpenVGU.so			${D}${libdir}/libOpenVGU.so.1.1.15.3082
+	ln -sf		libOpenVG.so.1.1.15.3082		${D}${libdir}/libOpenVGU.so
+
+	install -m 0755	${S}/libPVROGL.so			${D}${libdir}/libPVROGL.so.1.1.15.3082
+	ln -sf		libPVROGL.so.1.1.15.3082		${D}${libdir}/libPVROGL.so
+
+	install -m 0755	${S}/libPVRScopeServices.so		${D}${libdir}/libPVRScopeServices.so.1.1.15.3082
+	ln -sf		libPVRScopeServices.so.1.1.15.3082	${D}${libdir}/libPVRScopeServices.so
+
+	install -m 0755	${S}/libXegd_escape.so.2.0.0		${D}${libdir}/libXegd_escape.so.2.0.0
+
+	install -m 0755	${S}/libglslcompiler.so			${D}${libdir}/libglslcompiler.so.1.1.15.3082
+	ln -sf		libglslcompiler.so.1.1.15.3082		${D}${libdir}/libglslcompiler.so
+
+	install -m 0755	${S}/libpvr2d.so			${D}${libdir}/libpvr2d.so.1.1.15.3082
+	ln -sf		libpvr2d.so.1.1.15.3082			${D}${libdir}/libpvr2d.so
+
+	install -m 0755	${S}/libpvrPVR2D_DRIWSEGL.so		${D}${libdir}/libpvrPVR2D_DRIWSEGL.so.1.1.15.3082
+	ln -sf		libpvrPVR2D_DRIWSEGL.so.1.1.15.3082	${D}${libdir}/libpvrPVR2D_DRIWSEGL.so
+
+	install -m 0755	${S}/libsrv_init.so			${D}${libdir}/libsrv_init.so.1.1.15.3082
+	ln -sf		libsrv_init.so.1.1.15.3082		${D}${libdir}/libsrv_init.so
+
+	install -m 0755	${S}/libsrv_um.so			${D}${libdir}/libsrv_um.so.1.1.15.3082
+	ln -sf		libsrv_um.so.1.1.15.3082		${D}${libdir}/libsrv_um.so
+
+	install -m 0755	${S}/libva-x11.so.1.0.1			${D}${libdir}/libva-x11.so.1.0.1
+
+	install -m 0755	${S}/libva.so.1.0.1			${D}${libdir}/libva.so.1.0.1
+}
+
+LEAD_SONAME = "libEGL.so"
diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
new file mode 100644
index 0000000..2341e40
--- /dev/null
+++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
@@ -0,0 +1,19 @@
+Index: xorg-server-1.7.99.2/configure.ac
+===================================================================
+--- xorg-server-1.7.99.2.orig/configure.ac	2010-01-29 16:38:49.000000000 +0000
++++ xorg-server-1.7.99.2/configure.ac	2010-01-29 16:42:39.000000000 +0000
+@@ -503,14 +503,10 @@
+ 
+ dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d,
+ dnl otherwise uses standard subdirectories of FONTROOTDIR
+-AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d],
+-	[DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'],
+-	[
+ 		DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/"
+ 		case $host_os in
+ 			darwin*)    DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
+ 		esac
+-	])
+ AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]),
+ 				[ FONTPATH="$withval" ],
+ 				[ FONTPATH="${DEFAULT_FONT_PATH}" ])
diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
new file mode 100644
index 0000000..565832e
--- /dev/null
+++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
@@ -0,0 +1,13 @@
+Index: git/os/osdep.h
+===================================================================
+--- git.orig/os/osdep.h	2008-10-07 18:38:21.000000000 +0100
++++ git/os/osdep.h	2008-10-07 18:39:36.000000000 +0100
+@@ -92,7 +92,7 @@
+  * like sysconf(_SC_OPEN_MAX) is not supported.
+  */
+ 
+-#if OPEN_MAX <= 256
++#if 0
+ #define MAXSOCKS (OPEN_MAX - 1)
+ #else
+ #define MAXSOCKS 256
diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
new file mode 100644
index 0000000..6998adf
--- /dev/null
+++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
@@ -0,0 +1,18 @@
+Index: xorg-server-1.5.0/xorg-server.m4
+===================================================================
+--- xorg-server-1.5.0.orig/xorg-server.m4	2007-05-29 20:36:51.000000000 +0100
++++ xorg-server-1.5.0/xorg-server.m4	2008-11-04 23:56:55.000000000 +0000
+@@ -28,9 +28,12 @@
+ # Checks for the $1 define in xorg-server.h (from the sdk).  If it
+ # is defined, then add $1 to $REQUIRED_MODULES.
+ 
++m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR)
++
+ AC_DEFUN([XORG_DRIVER_CHECK_EXT],[
++	PKG_PROG_PKG_CONFIG
+ 	SAVE_CFLAGS="$CFLAGS"
+-	CFLAGS="$CFLAGS -I`pkg-config --variable=sdkdir xorg-server`"
++	CFLAGS="$CFLAGS -I$PKG_CONFIG_SYSROOT_DIR`pkg-config --variable=sdkdir xorg-server`"
+ 	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include "xorg-server.h"
+ #if !defined $1
diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch
new file mode 100644
index 0000000..6b34032
--- /dev/null
+++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch
@@ -0,0 +1,12 @@
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac	2009-01-15 20:35:31.000000000 +0000
++++ git/configure.ac	2009-01-15 20:35:38.000000000 +0000
+@@ -62,7 +62,6 @@
+ AC_LIBTOOL_WIN32_DLL
+ AC_DISABLE_STATIC
+ AC_PROG_LIBTOOL
+-DOLT
+ AC_PROG_MAKE_SET
+ PKG_PROG_PKG_CONFIG
+ AC_PROG_LEX
diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
new file mode 100644
index 0000000..d5d15df
--- /dev/null
+++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
@@ -0,0 +1,25 @@
+require recipes-graphics/xorg-xserver/xserver-xf86-dri-lite.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3dd2bbe3563837f80ed8926b06c1c353"
+
+PROTO_DEPS += "xf86driproto dri2proto"
+
+DEPENDS += "font-util"
+
+PE = "1"
+PR = "r0"
+
+SRC_URI += "file://nodolt.patch \
+            file://crosscompile.patch"
+
+# Misc build failure for master HEAD
+SRC_URI += "file://fix_open_max_preprocessor_error.patch"
+
+SRC_URI[md5sum] = "5c8773499a6a8c1ddaedf33577ec9634"
+SRC_URI[sha256sum] = "8b30800004c98fc7a8e6ff31a339f28451be5132e774443be22bf226e1791e34"
+
+RDEPENDS_${PN} += "xserver-xf86-emgd-bin"
+
+COMPATIBLE_MACHINE = "crownbay"
+
+EXTRA_OECONF += "--enable-dga --enable-dri --enable-dri2"
-- 
1.7.0.4



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 0/1] Add meta-crownbay
@ 2010-12-07  6:39 Tom Zanussi
  2010-12-07  5:57 ` [PATCH 1/1] meta-crownbay: new layer for E6xx/EG20T systems Tom Zanussi
  2010-12-08 17:52 ` [PATCH 0/1] Add meta-crownbay Darren Hart
  0 siblings, 2 replies; 8+ messages in thread
From: Tom Zanussi @ 2010-12-07  6:39 UTC (permalink / raw)
  To: poky

Adds a new layer for Tunnel Creek/Topcliff systems.

Pull URL: git://git.pokylinux.org/poky-contrib.git
  Branch: tzanussi/crownbay
  Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=tzanussi/crownbay

Thanks,
    Tom Zanussi <tom.zanussi@intel.com>
---


Tom Zanussi (1):
  meta-crownbay: new layer for E6xx/EG20T systems

 meta-crownbay/COPYING.MIT                          |   17 +++
 meta-crownbay/README.before.building               |  112 ++++++++++++++++++++
 meta-crownbay/conf/layer.conf                      |   10 ++
 meta-crownbay/conf/machine/crownbay.conf           |   46 ++++++++
 .../formfactor/formfactor/crownbay/machconfig      |    3 +
 .../recipes/formfactor/formfactor_0.0.bbappend     |    3 +
 .../recipes/linux/linux-yocto_git.bbappend         |    3 +
 .../xserver-xf86-config/crownbay/xorg.conf         |   47 ++++++++
 .../xorg-xserver/xserver-xf86-config_0.1.bbappend  |    3 +
 .../xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb |   90 ++++++++++++++++
 .../xserver-xf86-emgd/crosscompile.patch           |   19 ++++
 .../fix_open_max_preprocessor_error.patch          |   13 +++
 .../xserver-xf86-emgd/macro_tweak.patch            |   18 +++
 .../xorg-xserver/xserver-xf86-emgd/nodolt.patch    |   12 ++
 .../xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb     |   25 +++++
 15 files changed, 421 insertions(+), 0 deletions(-)
 create mode 100644 meta-crownbay/COPYING.MIT
 create mode 100755 meta-crownbay/README.before.building
 create mode 100644 meta-crownbay/conf/layer.conf
 create mode 100644 meta-crownbay/conf/machine/crownbay.conf
 create mode 100644 meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig
 create mode 100644 meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend
 create mode 100644 meta-crownbay/recipes/linux/linux-yocto_git.bbappend
 create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
 create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend
 create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
 create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
 create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
 create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
 create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch
 create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] meta-crownbay: new layer for E6xx/EG20T systems
  2010-12-07  5:57 ` [PATCH 1/1] meta-crownbay: new layer for E6xx/EG20T systems Tom Zanussi
@ 2010-12-07 10:40   ` Yu Ke
  2010-12-07 18:18     ` Tom Zanussi
  2010-12-07 16:01   ` Bruce Ashfield
  1 sibling, 1 reply; 8+ messages in thread
From: Yu Ke @ 2010-12-07 10:40 UTC (permalink / raw)
  To: Tom Zanussi; +Cc: poky

Hi Tom,

I like the README.before.building, it provide comprehensive and useful info. Meanwhile, I am still feel this is not convenient especially for linux people who don't want to run windows app like IEMGD_1_5_GOLD_ALL_1742.exe.

I totally understand this is caused by the weired EMGD package approach. the ultimate way to fix that would be persuding EMGD release team to change their package appraoch. But before that happens, could we tweak a bit in our side, for example, put the final IEMGD_HEAD_Linux.tgz to our autobuilder, and make a SRC_URI to fetch it. in this case, thing will be automatically settled down and won't bother people by the manual install process. Just my two cents.

Regards
Ke

On Dec 06, 23:57, Tom Zanussi wrote:
> This layer provides support for Tunnel Creek + Topcliff Intel systems.
> 
> It supports the E6xx embedded on-chip graphics via the Intel Embedded
> Media and Graphics Driver (EMGD) 1.5 Gold Driver.
> 
> The EMGD and EG20T PCH kernel drivers are of course GPL'ed and are
> submitted in a separate patchset for the 2.6.34 yocto kernel.
> 
> The userspace X drivers and supporting libraries however are closed
> and need to be manually copied into the layer before building.  The
> details on how to do this can be found in the README.before.building
> doc in meta-crownbay/.
> 
> Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
> ---
>  meta-crownbay/COPYING.MIT                          |   17 +++
>  meta-crownbay/README.before.building               |  112 ++++++++++++++++++++
>  meta-crownbay/conf/layer.conf                      |   10 ++
>  meta-crownbay/conf/machine/crownbay.conf           |   46 ++++++++
>  .../formfactor/formfactor/crownbay/machconfig      |    3 +
>  .../recipes/formfactor/formfactor_0.0.bbappend     |    3 +
>  .../recipes/linux/linux-yocto_git.bbappend         |    3 +
>  .../xserver-xf86-config/crownbay/xorg.conf         |   47 ++++++++
>  .../xorg-xserver/xserver-xf86-config_0.1.bbappend  |    3 +
>  .../xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb |   90 ++++++++++++++++
>  .../xserver-xf86-emgd/crosscompile.patch           |   19 ++++
>  .../fix_open_max_preprocessor_error.patch          |   13 +++
>  .../xserver-xf86-emgd/macro_tweak.patch            |   18 +++
>  .../xorg-xserver/xserver-xf86-emgd/nodolt.patch    |   12 ++
>  .../xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb     |   25 +++++
>  15 files changed, 421 insertions(+), 0 deletions(-)
>  create mode 100644 meta-crownbay/COPYING.MIT
>  create mode 100755 meta-crownbay/README.before.building
>  create mode 100644 meta-crownbay/conf/layer.conf
>  create mode 100644 meta-crownbay/conf/machine/crownbay.conf
>  create mode 100644 meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig
>  create mode 100644 meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend
>  create mode 100644 meta-crownbay/recipes/linux/linux-yocto_git.bbappend
>  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
>  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend
>  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
>  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
>  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
>  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
>  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch
>  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
> 
> diff --git a/meta-crownbay/COPYING.MIT b/meta-crownbay/COPYING.MIT
> new file mode 100644
> index 0000000..fb950dc
> --- /dev/null
> +++ b/meta-crownbay/COPYING.MIT
> @@ -0,0 +1,17 @@
> +Permission is hereby granted, free of charge, to any person obtaining a copy 
> +of this software and associated documentation files (the "Software"), to deal 
> +in the Software without restriction, including without limitation the rights 
> +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
> +copies of the Software, and to permit persons to whom the Software is 
> +furnished to do so, subject to the following conditions:
> +
> +The above copyright notice and this permission notice shall be included in 
> +all copies or substantial portions of the Software.
> +
> +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
> +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
> +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
> +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
> +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
> +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 
> +THE SOFTWARE.
> diff --git a/meta-crownbay/README.before.building b/meta-crownbay/README.before.building
> new file mode 100755
> index 0000000..ded4c05
> --- /dev/null
> +++ b/meta-crownbay/README.before.building
> @@ -0,0 +1,112 @@
> +The meta-crownbay layer makes use of the proprietary Intel EMGD
> +userspace drivers, which at this point in time require that the user
> +accept the Intel license by manually extracting the binaries and
> +copying them to the proper location in the meta-crownbay layer.
> +
> +There currently isn't an automated way to do this, thus the manual
> +step.  When Yocto supports a click-through installation mechanism, the
> +binary files will be packaged as part of the recipe, and this step
> +will be unnecessary.
> +
> +These steps require that you run a graphical application in Windows.
> +Windows 7 was used for these instructions, but it shouldn't matter
> +which version of Windows you use.
> +
> +The first step of the process is to download the EMGD 1.5 Gold Driver.
> +Here is the current link to the URL which it can be downloaded from:
> +
> +http://edc.intel.com/Software/Downloads/EMGD/
> +
> +In the Download Now tab, select:
> +
> +Intel? architecture-based product: Intel Atom Processor E6XX Series
> +Operating System: MeeGo 1.0 IVI Linux (kernel 2.6.33.3, X.server 1.8.0)
> +
> +That will give you a large zip file:
> +
> +IEMGD_1_5_GOLD_ALL_1742.zip
> +
> +Extract the files in the zip file, which will in turn give you a large
> +.exe file:
> +
> +IEMGD_1_5_GOLD_ALL_1742.exe
> +
> +Run IEMGD_1_5_GOLD_ALL_1742.exe to install, accept licenses, etc.
> +
> +If it says to install watcom, follow the instructions to do that.
> +
> +When the installation completes, an application named "emgd-ced" will
> +be present in the install directory.  Double-click to run it.
> +
> +Select the menu item: New Configuration
> +
> +In the tabbed page, make the following selections and/or enter the
> +specified data:
gg> +
> +Configuration File Name: myconfig
> +Platform Chipset: Intel Atom Processor E6xx
> +Port Devices: LVDS, sDVO
> +
> +Hit the 'Next' button.
> +
> +On the next tabbed page, make the following selections and/or enter
> +the specified data:
> +
> +Readable Port Name: portname0
> +Encoder Configuration: Select sDVO Device: Internal LVDS
> +
> +Hit the 'Finish' button.
> +
> +Select the menu item: New Package
> +
> +In the tabbed page, make the following selections and/or enter the
> +specified data:
> +
> +Package File Name: mypackage
> +Configurations: selec myconfig.cnfg
> +Target OS: Linux operating System
> +
> +Hit the 'Finish' button.
> +
> +Select the menu item: Generate Installation
> +
> +This will create the EMGD installation package:
> +
> +Generating EMGD installation...
> +
> +The installation package should now be under the 'workspace'
> +subdirectory of the directory you installed to:
> +
> +workspace/installation/mypackage.pkg_installation/IEMGD_HEAD_Linux/IEMGD_HEAD_Linux.tgz
> +
> +This is the file you are interested in.  Copy it to your Poky build
> +system, and uncompress/untar it:
> +
> +$ tar cvfz IEMGD_HEAD_Linux.tgz
> +
> +Finally, copy Xorg-xserver binaries in the Meego1.0 driver directory
> +to the xserver-xf86-emgd-bin directory in the meta-crownbay layer:
> +
> +$ cp IEMGD_HEAD_Linux/MeeGo1.0/driver/Xorg-xserver-1.7.99/* meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin
> +
> +You also need to copy the IEMGD License.txt file to the same directory:
> +
> +$ cp IEMGD_HEAD_Linux/License/License.txt meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin
> +
> +At this point, you should be able to build meta-crownbay images as usual.
> +
> +----
> +
> +For reference, the EMGD Driver documentation is also available at the
> +above link (it's also part of the installation).
> +
> +The specific text of the document is:
> +
> +User Guide: Intel? Embedded Media and Graphics Driver, EFI Video
> +Driver, EPOG, and Video BIOS v1.5 for Windows* XP and Linux* Provides
> +installation requirements/procedures & describes the vbios/firmware,
> +configuration options, & functionality of Intel? EMGD under Windows* &
> +Linux*. Refer to guide for details.
> +
> +File Type/Size: PDF 3,340KB
> +Version: 008 : October 2010
> diff --git a/meta-crownbay/conf/layer.conf b/meta-crownbay/conf/layer.conf
> new file mode 100644
> index 0000000..79dd89b
> --- /dev/null
> +++ b/meta-crownbay/conf/layer.conf
> @@ -0,0 +1,10 @@
> +# We have a conf and classes directory, add to BBPATH
> +BBPATH := "${BBPATH}:${LAYERDIR}"
> +
> +# We have a recipes directory, add to BBFILES
> +BBFILES := "${BBFILES} ${LAYERDIR}/recipes/*/*.bb \
> +	${LAYERDIR}/recipes/*/*.bbappend"
> +
> +BBFILE_COLLECTIONS += "crownbay"
> +BBFILE_PATTERN_crownbay := "^${LAYERDIR}/"
> +BBFILE_PRIORITY_crownbay = "6"
> diff --git a/meta-crownbay/conf/machine/crownbay.conf b/meta-crownbay/conf/machine/crownbay.conf
> new file mode 100644
> index 0000000..a2c349a
> --- /dev/null
> +++ b/meta-crownbay/conf/machine/crownbay.conf
> @@ -0,0 +1,46 @@
> +#@TYPE: Machine
> +#@NAME: crownbay
> +
> +#@DESCRIPTION: Machine configuration for Crown Bay systems
> +# i.e. E660 + EG20T
> +
> +TARGET_ARCH = "i586"
> +PACKAGE_EXTRA_ARCHS = "x86 atom"
> +
> +include conf/machine/include/tune-atom.inc
> +
> +BASE_PACKAGE_ARCH="atom"
> +
> +MACHINE_FEATURES = "kernel26 screen keyboard pci usbhost ext2 ext3 x86 \
> +                    acpi serial usbgadget"
> +
> +KERNEL_IMAGETYPE = "bzImage"
> +
> +PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
> +PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-trim"
> +PREFERRED_PROVIDER_virtual/libgl  ?= "mesa-dri"
> +PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-emgd"
> +PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-emgd"
> +XSERVER ?= "xserver-xf86-emgd \
> +           xserver-xf86-emgd-bin \
> +           xf86-input-mouse \
> +           xf86-input-keyboard \
> +           xf86-input-evdev \
> +           xf86-input-synaptics \
> +           xf86-video-vesa"
> +
> +PREFERRED_VERSION_xserver-xf86-emgd ?= "1.7.99.2"
> +PREFERRED_VERSION_xserver-xf86-emgd-bin ?= "1.7.99.2"
> +
> +SERIAL_CONSOLE = "115200 ttyS0"
> +
> +MACHINE_EXTRA_RRECOMMENDS = "kernel-modules eee-acpi-scripts"
> +
> +GUI_MACHINE_CLASS = "bigscreen"
> +
> +IMAGE_ROOTFS_SIZE_ext3 = "2000000"
> +
> +IMAGE_FSTYPES ?= "ext3 cpio.gz"
> +
> +GLIBC_ADDONS = "nptl"
> +GLIBC_EXTRA_OECONF = "--with-tls"
> diff --git a/meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig b/meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig
> new file mode 100644
> index 0000000..ffce012
> --- /dev/null
> +++ b/meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig
> @@ -0,0 +1,3 @@
> +# Assume a USB mouse and keyboard are connected
> +HAVE_TOUCHSCREEN=0
> +HAVE_KEYBOARD=1
> diff --git a/meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend b/meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend
> new file mode 100644
> index 0000000..4a41d48
> --- /dev/null
> +++ b/meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend
> @@ -0,0 +1,3 @@
> +FILESEXTRAPATHS := "${THISDIR}/${PN}"
> + 
> +PRINC = "1"
> diff --git a/meta-crownbay/recipes/linux/linux-yocto_git.bbappend b/meta-crownbay/recipes/linux/linux-yocto_git.bbappend
> new file mode 100644
> index 0000000..3a50a32
> --- /dev/null
> +++ b/meta-crownbay/recipes/linux/linux-yocto_git.bbappend
> @@ -0,0 +1,3 @@
> +FILESEXTRAPATHS := "${THISDIR}/${PN}"
> +COMPATIBLE_MACHINE_crownbay = "crownbay"
> +KMACHINE_crownbay  = "crownbay"
> diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
> new file mode 100644
> index 0000000..f78a538
> --- /dev/null
> +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
> @@ -0,0 +1,47 @@
> +##
> +## X Config options generated from CED
> +## x11 conf skeleton
> +## DriverVer=
> +##
> +
> +Section "Screen"
> +    Identifier    "Screen0"
> +    Device        "IntelEMGD-0"
> +    Monitor       "Monitor0"
> +    SubSection    "Display"
> +    EndSubSection
> +EndSection
> +
> +# Primary (First/only) display
> +Section "Device"
> +    Identifier "IntelEMGD-0"
> +    Driver     "emgd"
> +    VendorName "Intel(R) DEG"
> +    BoardName  "Embedded Graphics"
> +    BusID      "0:2:0"
> +    Screen      0
> +    Option     "PcfVersion"            "1792"
> +    Option     "ConfigId"              "1"
> +    Option     "ALL/1/name"                   "e6xx"
> +    Option     "ALL/1/General/PortOrder"      "40000"
> +    Option     "ALL/1/General/DisplayConfig"  "1"
> +    Option     "ALL/1/General/DisplayDetect"  "1"
> +    Option     "ALL/1/Port/4/General/name"           "lvds"
> +    Option     "ALL/1/Port/4/General/EdidAvail"      "3"
> +    Option     "ALL/1/Port/4/General/EdidNotAvail"   "1"
> +    Option     "ALL/1/Port/4/General/Rotation"       "0"
> +    Option     "ALL/1/Port/4/General/Edid"           "1"
> +EndSection
> +
> +Section "ServerLayout"
> +    Identifier     "Default Layout"
> +    Screen 0       "Screen0" 0 0
> +   # InputDevice    "Mouse0" "CorePointer"
> +   # InputDevice    "Keyboard0" "CoreKeyboard"
> +   # InputDevice    "DevInputMice" "SendCoreEvents"
> +EndSection
> +
> +Section "ServerFlags"
> +    Option        "DontZap"  "0"
> +    Option        "AutoAddDevices"  "False"
> +EndSection
> diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend
> new file mode 100644
> index 0000000..4b8d0e6
> --- /dev/null
> +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend
> @@ -0,0 +1,3 @@
> +THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}"
> +FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:"
> +
> diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
> new file mode 100644
> index 0000000..1b2e1e8
> --- /dev/null
> +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
> @@ -0,0 +1,90 @@
> +SUMMARY = "EMGD 1.5 xserver binaries"
> +DESCRIPTION = "EMGD 1.5 includes some userspace binaries that use non-free licensing.  Intel Open Source Technology Center unfortunately has no power to change that, but tries to make their use as painless as possible.  Please see the README.before.building in meta-crownbay/recipes/xorg-xerver for instuctions on the (simple) manual steps necessary to make the necessary binaries available to this recipe.  Please do that before building an image"
> +
> +LICENSE = "Intel-binary-only"
> +LIC_FILES_CHKSUM = "file://${WORKDIR}/License.txt;md5=95c4d031b83ab803f3f2401b04ecfbcd"
> +PR = "r0"
> +
> +FILESPATH = "${FILE_DIRNAME}/xserver-xf86-emgd-bin"
> +
> +FILES_${PN} = "${libdir}/*.so.* ${libdir}/dri ${libdir}/xorg/modules/drivers"
> +
> +SRC_URI = "file://emgd_dri.so \
> +           file://emgd_drv.so \
> +           file://emgd_drv_video.so \
> +           file://libEGL.so \
> +           file://libGLES_CM.so \
> +           file://libGLESv2.so \
> +           file://libIMGegl.so \
> +           file://libOpenVG.so \
> +           file://libOpenVGU.so \
> +           file://libPVROGL.so \
> +           file://libPVRScopeServices.so \
> +           file://libXegd_escape.so.2.0.0 \
> +           file://libglslcompiler.so \
> +           file://libpvr2d.so \
> +           file://libpvrPVR2D_DRIWSEGL.so \
> +           file://libsrv_init.so \
> +           file://libsrv_um.so \
> +           file://libva-x11.so.1.0.1 \
> +           file://libva.so.1.0.1 \
> +           file://License.txt"
> +
> +S = "${WORKDIR}"
> +
> +do_install () {
> +	install -d -m 0755 ${D}/${libdir}/dri ${D}/${libdir}/xorg/modules/drivers
> +
> +	install -m 0755	${S}/emgd_dri.so			${D}${libdir}/dri/emgd_dri.so.1.1.15.3082
> +	ln -sf		emgd_dri.so.1.1.15.3082			${D}${libdir}/dri/emgd_dri.so
> +
> +	install -m 0755	${S}/emgd_drv.so			${D}${libdir}/xorg/modules/drivers/emgd_drv.so
> +	install -m 0755	${S}/emgd_drv_video.so			${D}${libdir}/xorg/modules/drivers/emgd_drv_video.so
> +
> +	install -m 0755	${S}/libEGL.so				${D}${libdir}/libEGL.so.1.1.15.3082
> +	ln -sf		libEGL.so.1.1.15.3082			${D}${libdir}/libEGL.so
> +
> +	install -m 0755	${S}/libGLES_CM.so			${D}${libdir}/libGLES_CM.so.1.1.15.3082
> +	ln -sf		libGLES_CM.so.1.1.15.3082		${D}${libdir}/libGLES_CM.so
> +
> +	install -m 0755	${S}/libGLESv2.so			${D}${libdir}/libGLESv2.so.1.1.15.3082
> +	ln -sf		libGLESv2.so.1.1.15.3082		${D}${libdir}/libGLESv2.so
> +
> +	install -m 0755	${S}/libIMGegl.so			${D}${libdir}/libIMGegl.so.1.1.15.3082
> +	ln -sf		libIMGegl.so.1.1.15.3082		${D}${libdir}/libIMGegl.so
> +
> +	install -m 0755	${S}/libOpenVG.so			${D}${libdir}/libOpenVG.so.1.1.15.3082
> +	ln -sf		libOpenVG.so.1.1.15.3082		${D}${libdir}/libOpenVG.so
> +
> +	install -m 0755	${S}/libOpenVGU.so			${D}${libdir}/libOpenVGU.so.1.1.15.3082
> +	ln -sf		libOpenVG.so.1.1.15.3082		${D}${libdir}/libOpenVGU.so
> +
> +	install -m 0755	${S}/libPVROGL.so			${D}${libdir}/libPVROGL.so.1.1.15.3082
> +	ln -sf		libPVROGL.so.1.1.15.3082		${D}${libdir}/libPVROGL.so
> +
> +	install -m 0755	${S}/libPVRScopeServices.so		${D}${libdir}/libPVRScopeServices.so.1.1.15.3082
> +	ln -sf		libPVRScopeServices.so.1.1.15.3082	${D}${libdir}/libPVRScopeServices.so
> +
> +	install -m 0755	${S}/libXegd_escape.so.2.0.0		${D}${libdir}/libXegd_escape.so.2.0.0
> +
> +	install -m 0755	${S}/libglslcompiler.so			${D}${libdir}/libglslcompiler.so.1.1.15.3082
> +	ln -sf		libglslcompiler.so.1.1.15.3082		${D}${libdir}/libglslcompiler.so
> +
> +	install -m 0755	${S}/libpvr2d.so			${D}${libdir}/libpvr2d.so.1.1.15.3082
> +	ln -sf		libpvr2d.so.1.1.15.3082			${D}${libdir}/libpvr2d.so
> +
> +	install -m 0755	${S}/libpvrPVR2D_DRIWSEGL.so		${D}${libdir}/libpvrPVR2D_DRIWSEGL.so.1.1.15.3082
> +	ln -sf		libpvrPVR2D_DRIWSEGL.so.1.1.15.3082	${D}${libdir}/libpvrPVR2D_DRIWSEGL.so
> +
> +	install -m 0755	${S}/libsrv_init.so			${D}${libdir}/libsrv_init.so.1.1.15.3082
> +	ln -sf		libsrv_init.so.1.1.15.3082		${D}${libdir}/libsrv_init.so
> +
> +	install -m 0755	${S}/libsrv_um.so			${D}${libdir}/libsrv_um.so.1.1.15.3082
> +	ln -sf		libsrv_um.so.1.1.15.3082		${D}${libdir}/libsrv_um.so
> +
> +	install -m 0755	${S}/libva-x11.so.1.0.1			${D}${libdir}/libva-x11.so.1.0.1
> +
> +	install -m 0755	${S}/libva.so.1.0.1			${D}${libdir}/libva.so.1.0.1
> +}
> +
> +LEAD_SONAME = "libEGL.so"
> diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
> new file mode 100644
> index 0000000..2341e40
> --- /dev/null
> +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
> @@ -0,0 +1,19 @@
> +Index: xorg-server-1.7.99.2/configure.ac
> +===================================================================
> +--- xorg-server-1.7.99.2.orig/configure.ac	2010-01-29 16:38:49.000000000 +0000
> ++++ xorg-server-1.7.99.2/configure.ac	2010-01-29 16:42:39.000000000 +0000
> +@@ -503,14 +503,10 @@
> + 
> + dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d,
> + dnl otherwise uses standard subdirectories of FONTROOTDIR
> +-AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d],
> +-	[DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'],
> +-	[
> + 		DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/"
> + 		case $host_os in
> + 			darwin*)    DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
> + 		esac
> +-	])
> + AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]),
> + 				[ FONTPATH="$withval" ],
> + 				[ FONTPATH="${DEFAULT_FONT_PATH}" ])
> diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
> new file mode 100644
> index 0000000..565832e
> --- /dev/null
> +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
> @@ -0,0 +1,13 @@
> +Index: git/os/osdep.h
> +===================================================================
> +--- git.orig/os/osdep.h	2008-10-07 18:38:21.000000000 +0100
> ++++ git/os/osdep.h	2008-10-07 18:39:36.000000000 +0100
> +@@ -92,7 +92,7 @@
> +  * like sysconf(_SC_OPEN_MAX) is not supported.
> +  */
> + 
> +-#if OPEN_MAX <= 256
> ++#if 0
> + #define MAXSOCKS (OPEN_MAX - 1)
> + #else
> + #define MAXSOCKS 256
> diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
> new file mode 100644
> index 0000000..6998adf
> --- /dev/null
> +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
> @@ -0,0 +1,18 @@
> +Index: xorg-server-1.5.0/xorg-server.m4
> +===================================================================
> +--- xorg-server-1.5.0.orig/xorg-server.m4	2007-05-29 20:36:51.000000000 +0100
> ++++ xorg-server-1.5.0/xorg-server.m4	2008-11-04 23:56:55.000000000 +0000
> +@@ -28,9 +28,12 @@
> + # Checks for the $1 define in xorg-server.h (from the sdk).  If it
> + # is defined, then add $1 to $REQUIRED_MODULES.
> + 
> ++m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR)
> ++
> + AC_DEFUN([XORG_DRIVER_CHECK_EXT],[
> ++	PKG_PROG_PKG_CONFIG
> + 	SAVE_CFLAGS="$CFLAGS"
> +-	CFLAGS="$CFLAGS -I`pkg-config --variable=sdkdir xorg-server`"
> ++	CFLAGS="$CFLAGS -I$PKG_CONFIG_SYSROOT_DIR`pkg-config --variable=sdkdir xorg-server`"
> + 	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
> + #include "xorg-server.h"
> + #if !defined $1
> diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch
> new file mode 100644
> index 0000000..6b34032
> --- /dev/null
> +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch
> @@ -0,0 +1,12 @@
> +Index: git/configure.ac
> +===================================================================
> +--- git.orig/configure.ac	2009-01-15 20:35:31.000000000 +0000
> ++++ git/configure.ac	2009-01-15 20:35:38.000000000 +0000
> +@@ -62,7 +62,6 @@
> + AC_LIBTOOL_WIN32_DLL
> + AC_DISABLE_STATIC
> + AC_PROG_LIBTOOL
> +-DOLT
> + AC_PROG_MAKE_SET
> + PKG_PROG_PKG_CONFIG
> + AC_PROG_LEX
> diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
> new file mode 100644
> index 0000000..d5d15df
> --- /dev/null
> +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
> @@ -0,0 +1,25 @@
> +require recipes-graphics/xorg-xserver/xserver-xf86-dri-lite.inc
> +
> +LIC_FILES_CHKSUM = "file://COPYING;md5=3dd2bbe3563837f80ed8926b06c1c353"
> +
> +PROTO_DEPS += "xf86driproto dri2proto"
> +
> +DEPENDS += "font-util"
> +
> +PE = "1"
> +PR = "r0"
> +
> +SRC_URI += "file://nodolt.patch \
> +            file://crosscompile.patch"
> +
> +# Misc build failure for master HEAD
> +SRC_URI += "file://fix_open_max_preprocessor_error.patch"
> +
> +SRC_URI[md5sum] = "5c8773499a6a8c1ddaedf33577ec9634"
> +SRC_URI[sha256sum] = "8b30800004c98fc7a8e6ff31a339f28451be5132e774443be22bf226e1791e34"
> +
> +RDEPENDS_${PN} += "xserver-xf86-emgd-bin"
> +
> +COMPATIBLE_MACHINE = "crownbay"
> +
> +EXTRA_OECONF += "--enable-dga --enable-dri --enable-dri2"
> -- 
> 1.7.0.4
> 

> _______________________________________________
> poky mailing list
> poky@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/poky



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] meta-crownbay: new layer for E6xx/EG20T systems
  2010-12-07  5:57 ` [PATCH 1/1] meta-crownbay: new layer for E6xx/EG20T systems Tom Zanussi
  2010-12-07 10:40   ` Yu Ke
@ 2010-12-07 16:01   ` Bruce Ashfield
  1 sibling, 0 replies; 8+ messages in thread
From: Bruce Ashfield @ 2010-12-07 16:01 UTC (permalink / raw)
  To: Tom Zanussi, Purdie, Richard; +Cc: poky

On Tue, Dec 7, 2010 at 12:57 AM, Tom Zanussi <tom.zanussi@intel.com> wrote:
> This layer provides support for Tunnel Creek + Topcliff Intel systems.
>
> It supports the E6xx embedded on-chip graphics via the Intel Embedded
> Media and Graphics Driver (EMGD) 1.5 Gold Driver.

This part of the patch series, coupled with my questions on the kernel
patches themselves makes me wonder about doing a README along
with a BSP/meta layer.

We've used them successfully with BSPs in the past, they are simple,
text and provide technical/testing information only.

If anyone else sees value in this, I have some templates that I can float
for comment.

Cheers,

Bruce

>
> The EMGD and EG20T PCH kernel drivers are of course GPL'ed and are
> submitted in a separate patchset for the 2.6.34 yocto kernel.
>
> The userspace X drivers and supporting libraries however are closed
> and need to be manually copied into the layer before building.  The
> details on how to do this can be found in the README.before.building
> doc in meta-crownbay/.
>
> Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
> ---
>  meta-crownbay/COPYING.MIT                          |   17 +++
>  meta-crownbay/README.before.building               |  112 ++++++++++++++++++++
>  meta-crownbay/conf/layer.conf                      |   10 ++
>  meta-crownbay/conf/machine/crownbay.conf           |   46 ++++++++
>  .../formfactor/formfactor/crownbay/machconfig      |    3 +
>  .../recipes/formfactor/formfactor_0.0.bbappend     |    3 +
>  .../recipes/linux/linux-yocto_git.bbappend         |    3 +
>  .../xserver-xf86-config/crownbay/xorg.conf         |   47 ++++++++
>  .../xorg-xserver/xserver-xf86-config_0.1.bbappend  |    3 +
>  .../xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb |   90 ++++++++++++++++
>  .../xserver-xf86-emgd/crosscompile.patch           |   19 ++++
>  .../fix_open_max_preprocessor_error.patch          |   13 +++
>  .../xserver-xf86-emgd/macro_tweak.patch            |   18 +++
>  .../xorg-xserver/xserver-xf86-emgd/nodolt.patch    |   12 ++
>  .../xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb     |   25 +++++
>  15 files changed, 421 insertions(+), 0 deletions(-)
>  create mode 100644 meta-crownbay/COPYING.MIT
>  create mode 100755 meta-crownbay/README.before.building
>  create mode 100644 meta-crownbay/conf/layer.conf
>  create mode 100644 meta-crownbay/conf/machine/crownbay.conf
>  create mode 100644 meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig
>  create mode 100644 meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend
>  create mode 100644 meta-crownbay/recipes/linux/linux-yocto_git.bbappend
>  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
>  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend
>  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
>  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
>  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
>  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
>  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch
>  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
>
> diff --git a/meta-crownbay/COPYING.MIT b/meta-crownbay/COPYING.MIT
> new file mode 100644
> index 0000000..fb950dc
> --- /dev/null
> +++ b/meta-crownbay/COPYING.MIT
> @@ -0,0 +1,17 @@
> +Permission is hereby granted, free of charge, to any person obtaining a copy
> +of this software and associated documentation files (the "Software"), to deal
> +in the Software without restriction, including without limitation the rights
> +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> +copies of the Software, and to permit persons to whom the Software is
> +furnished to do so, subject to the following conditions:
> +
> +The above copyright notice and this permission notice shall be included in
> +all copies or substantial portions of the Software.
> +
> +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
> +THE SOFTWARE.
> diff --git a/meta-crownbay/README.before.building b/meta-crownbay/README.before.building
> new file mode 100755
> index 0000000..ded4c05
> --- /dev/null
> +++ b/meta-crownbay/README.before.building
> @@ -0,0 +1,112 @@
> +The meta-crownbay layer makes use of the proprietary Intel EMGD
> +userspace drivers, which at this point in time require that the user
> +accept the Intel license by manually extracting the binaries and
> +copying them to the proper location in the meta-crownbay layer.
> +
> +There currently isn't an automated way to do this, thus the manual
> +step.  When Yocto supports a click-through installation mechanism, the
> +binary files will be packaged as part of the recipe, and this step
> +will be unnecessary.
> +
> +These steps require that you run a graphical application in Windows.
> +Windows 7 was used for these instructions, but it shouldn't matter
> +which version of Windows you use.
> +
> +The first step of the process is to download the EMGD 1.5 Gold Driver.
> +Here is the current link to the URL which it can be downloaded from:
> +
> +http://edc.intel.com/Software/Downloads/EMGD/
> +
> +In the Download Now tab, select:
> +
> +Intel® architecture-based product: Intel Atom Processor E6XX Series
> +Operating System: MeeGo 1.0 IVI Linux (kernel 2.6.33.3, X.server 1.8.0)
> +
> +That will give you a large zip file:
> +
> +IEMGD_1_5_GOLD_ALL_1742.zip
> +
> +Extract the files in the zip file, which will in turn give you a large
> +.exe file:
> +
> +IEMGD_1_5_GOLD_ALL_1742.exe
> +
> +Run IEMGD_1_5_GOLD_ALL_1742.exe to install, accept licenses, etc.
> +
> +If it says to install watcom, follow the instructions to do that.
> +
> +When the installation completes, an application named "emgd-ced" will
> +be present in the install directory.  Double-click to run it.
> +
> +Select the menu item: New Configuration
> +
> +In the tabbed page, make the following selections and/or enter the
> +specified data:
> +
> +Configuration File Name: myconfig
> +Platform Chipset: Intel Atom Processor E6xx
> +Port Devices: LVDS, sDVO
> +
> +Hit the 'Next' button.
> +
> +On the next tabbed page, make the following selections and/or enter
> +the specified data:
> +
> +Readable Port Name: portname0
> +Encoder Configuration: Select sDVO Device: Internal LVDS
> +
> +Hit the 'Finish' button.
> +
> +Select the menu item: New Package
> +
> +In the tabbed page, make the following selections and/or enter the
> +specified data:
> +
> +Package File Name: mypackage
> +Configurations: selec myconfig.cnfg
> +Target OS: Linux operating System
> +
> +Hit the 'Finish' button.
> +
> +Select the menu item: Generate Installation
> +
> +This will create the EMGD installation package:
> +
> +Generating EMGD installation...
> +
> +The installation package should now be under the 'workspace'
> +subdirectory of the directory you installed to:
> +
> +workspace/installation/mypackage.pkg_installation/IEMGD_HEAD_Linux/IEMGD_HEAD_Linux.tgz
> +
> +This is the file you are interested in.  Copy it to your Poky build
> +system, and uncompress/untar it:
> +
> +$ tar cvfz IEMGD_HEAD_Linux.tgz
> +
> +Finally, copy Xorg-xserver binaries in the Meego1.0 driver directory
> +to the xserver-xf86-emgd-bin directory in the meta-crownbay layer:
> +
> +$ cp IEMGD_HEAD_Linux/MeeGo1.0/driver/Xorg-xserver-1.7.99/* meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin
> +
> +You also need to copy the IEMGD License.txt file to the same directory:
> +
> +$ cp IEMGD_HEAD_Linux/License/License.txt meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin
> +
> +At this point, you should be able to build meta-crownbay images as usual.
> +
> +----
> +
> +For reference, the EMGD Driver documentation is also available at the
> +above link (it's also part of the installation).
> +
> +The specific text of the document is:
> +
> +User Guide: Intel® Embedded Media and Graphics Driver, EFI Video
> +Driver, EPOG, and Video BIOS v1.5 for Windows* XP and Linux* Provides
> +installation requirements/procedures & describes the vbios/firmware,
> +configuration options, & functionality of Intel® EMGD under Windows* &
> +Linux*. Refer to guide for details.
> +
> +File Type/Size: PDF 3,340KB
> +Version: 008 : October 2010
> diff --git a/meta-crownbay/conf/layer.conf b/meta-crownbay/conf/layer.conf
> new file mode 100644
> index 0000000..79dd89b
> --- /dev/null
> +++ b/meta-crownbay/conf/layer.conf
> @@ -0,0 +1,10 @@
> +# We have a conf and classes directory, add to BBPATH
> +BBPATH := "${BBPATH}:${LAYERDIR}"
> +
> +# We have a recipes directory, add to BBFILES
> +BBFILES := "${BBFILES} ${LAYERDIR}/recipes/*/*.bb \
> +       ${LAYERDIR}/recipes/*/*.bbappend"
> +
> +BBFILE_COLLECTIONS += "crownbay"
> +BBFILE_PATTERN_crownbay := "^${LAYERDIR}/"
> +BBFILE_PRIORITY_crownbay = "6"
> diff --git a/meta-crownbay/conf/machine/crownbay.conf b/meta-crownbay/conf/machine/crownbay.conf
> new file mode 100644
> index 0000000..a2c349a
> --- /dev/null
> +++ b/meta-crownbay/conf/machine/crownbay.conf
> @@ -0,0 +1,46 @@
> +#@TYPE: Machine
> +#@NAME: crownbay
> +
> +#@DESCRIPTION: Machine configuration for Crown Bay systems
> +# i.e. E660 + EG20T
> +
> +TARGET_ARCH = "i586"
> +PACKAGE_EXTRA_ARCHS = "x86 atom"
> +
> +include conf/machine/include/tune-atom.inc
> +
> +BASE_PACKAGE_ARCH="atom"
> +
> +MACHINE_FEATURES = "kernel26 screen keyboard pci usbhost ext2 ext3 x86 \
> +                    acpi serial usbgadget"
> +
> +KERNEL_IMAGETYPE = "bzImage"
> +
> +PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
> +PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-trim"
> +PREFERRED_PROVIDER_virtual/libgl  ?= "mesa-dri"
> +PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-emgd"
> +PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-emgd"
> +XSERVER ?= "xserver-xf86-emgd \
> +           xserver-xf86-emgd-bin \
> +           xf86-input-mouse \
> +           xf86-input-keyboard \
> +           xf86-input-evdev \
> +           xf86-input-synaptics \
> +           xf86-video-vesa"
> +
> +PREFERRED_VERSION_xserver-xf86-emgd ?= "1.7.99.2"
> +PREFERRED_VERSION_xserver-xf86-emgd-bin ?= "1.7.99.2"
> +
> +SERIAL_CONSOLE = "115200 ttyS0"
> +
> +MACHINE_EXTRA_RRECOMMENDS = "kernel-modules eee-acpi-scripts"
> +
> +GUI_MACHINE_CLASS = "bigscreen"
> +
> +IMAGE_ROOTFS_SIZE_ext3 = "2000000"
> +
> +IMAGE_FSTYPES ?= "ext3 cpio.gz"
> +
> +GLIBC_ADDONS = "nptl"
> +GLIBC_EXTRA_OECONF = "--with-tls"
> diff --git a/meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig b/meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig
> new file mode 100644
> index 0000000..ffce012
> --- /dev/null
> +++ b/meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig
> @@ -0,0 +1,3 @@
> +# Assume a USB mouse and keyboard are connected
> +HAVE_TOUCHSCREEN=0
> +HAVE_KEYBOARD=1
> diff --git a/meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend b/meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend
> new file mode 100644
> index 0000000..4a41d48
> --- /dev/null
> +++ b/meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend
> @@ -0,0 +1,3 @@
> +FILESEXTRAPATHS := "${THISDIR}/${PN}"
> +
> +PRINC = "1"
> diff --git a/meta-crownbay/recipes/linux/linux-yocto_git.bbappend b/meta-crownbay/recipes/linux/linux-yocto_git.bbappend
> new file mode 100644
> index 0000000..3a50a32
> --- /dev/null
> +++ b/meta-crownbay/recipes/linux/linux-yocto_git.bbappend
> @@ -0,0 +1,3 @@
> +FILESEXTRAPATHS := "${THISDIR}/${PN}"
> +COMPATIBLE_MACHINE_crownbay = "crownbay"
> +KMACHINE_crownbay  = "crownbay"
> diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
> new file mode 100644
> index 0000000..f78a538
> --- /dev/null
> +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
> @@ -0,0 +1,47 @@
> +##
> +## X Config options generated from CED
> +## x11 conf skeleton
> +## DriverVer=
> +##
> +
> +Section "Screen"
> +    Identifier    "Screen0"
> +    Device        "IntelEMGD-0"
> +    Monitor       "Monitor0"
> +    SubSection    "Display"
> +    EndSubSection
> +EndSection
> +
> +# Primary (First/only) display
> +Section "Device"
> +    Identifier "IntelEMGD-0"
> +    Driver     "emgd"
> +    VendorName "Intel(R) DEG"
> +    BoardName  "Embedded Graphics"
> +    BusID      "0:2:0"
> +    Screen      0
> +    Option     "PcfVersion"            "1792"
> +    Option     "ConfigId"              "1"
> +    Option     "ALL/1/name"                   "e6xx"
> +    Option     "ALL/1/General/PortOrder"      "40000"
> +    Option     "ALL/1/General/DisplayConfig"  "1"
> +    Option     "ALL/1/General/DisplayDetect"  "1"
> +    Option     "ALL/1/Port/4/General/name"           "lvds"
> +    Option     "ALL/1/Port/4/General/EdidAvail"      "3"
> +    Option     "ALL/1/Port/4/General/EdidNotAvail"   "1"
> +    Option     "ALL/1/Port/4/General/Rotation"       "0"
> +    Option     "ALL/1/Port/4/General/Edid"           "1"
> +EndSection
> +
> +Section "ServerLayout"
> +    Identifier     "Default Layout"
> +    Screen 0       "Screen0" 0 0
> +   # InputDevice    "Mouse0" "CorePointer"
> +   # InputDevice    "Keyboard0" "CoreKeyboard"
> +   # InputDevice    "DevInputMice" "SendCoreEvents"
> +EndSection
> +
> +Section "ServerFlags"
> +    Option        "DontZap"  "0"
> +    Option        "AutoAddDevices"  "False"
> +EndSection
> diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend
> new file mode 100644
> index 0000000..4b8d0e6
> --- /dev/null
> +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend
> @@ -0,0 +1,3 @@
> +THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}"
> +FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:"
> +
> diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
> new file mode 100644
> index 0000000..1b2e1e8
> --- /dev/null
> +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
> @@ -0,0 +1,90 @@
> +SUMMARY = "EMGD 1.5 xserver binaries"
> +DESCRIPTION = "EMGD 1.5 includes some userspace binaries that use non-free licensing.  Intel Open Source Technology Center unfortunately has no power to change that, but tries to make their use as painless as possible.  Please see the README.before.building in meta-crownbay/recipes/xorg-xerver for instuctions on the (simple) manual steps necessary to make the necessary binaries available to this recipe.  Please do that before building an image"
> +
> +LICENSE = "Intel-binary-only"
> +LIC_FILES_CHKSUM = "file://${WORKDIR}/License.txt;md5=95c4d031b83ab803f3f2401b04ecfbcd"
> +PR = "r0"
> +
> +FILESPATH = "${FILE_DIRNAME}/xserver-xf86-emgd-bin"
> +
> +FILES_${PN} = "${libdir}/*.so.* ${libdir}/dri ${libdir}/xorg/modules/drivers"
> +
> +SRC_URI = "file://emgd_dri.so \
> +           file://emgd_drv.so \
> +           file://emgd_drv_video.so \
> +           file://libEGL.so \
> +           file://libGLES_CM.so \
> +           file://libGLESv2.so \
> +           file://libIMGegl.so \
> +           file://libOpenVG.so \
> +           file://libOpenVGU.so \
> +           file://libPVROGL.so \
> +           file://libPVRScopeServices.so \
> +           file://libXegd_escape.so.2.0.0 \
> +           file://libglslcompiler.so \
> +           file://libpvr2d.so \
> +           file://libpvrPVR2D_DRIWSEGL.so \
> +           file://libsrv_init.so \
> +           file://libsrv_um.so \
> +           file://libva-x11.so.1.0.1 \
> +           file://libva.so.1.0.1 \
> +           file://License.txt"
> +
> +S = "${WORKDIR}"
> +
> +do_install () {
> +       install -d -m 0755 ${D}/${libdir}/dri ${D}/${libdir}/xorg/modules/drivers
> +
> +       install -m 0755 ${S}/emgd_dri.so                        ${D}${libdir}/dri/emgd_dri.so.1.1.15.3082
> +       ln -sf          emgd_dri.so.1.1.15.3082                 ${D}${libdir}/dri/emgd_dri.so
> +
> +       install -m 0755 ${S}/emgd_drv.so                        ${D}${libdir}/xorg/modules/drivers/emgd_drv.so
> +       install -m 0755 ${S}/emgd_drv_video.so                  ${D}${libdir}/xorg/modules/drivers/emgd_drv_video.so
> +
> +       install -m 0755 ${S}/libEGL.so                          ${D}${libdir}/libEGL.so.1.1.15.3082
> +       ln -sf          libEGL.so.1.1.15.3082                   ${D}${libdir}/libEGL.so
> +
> +       install -m 0755 ${S}/libGLES_CM.so                      ${D}${libdir}/libGLES_CM.so.1.1.15.3082
> +       ln -sf          libGLES_CM.so.1.1.15.3082               ${D}${libdir}/libGLES_CM.so
> +
> +       install -m 0755 ${S}/libGLESv2.so                       ${D}${libdir}/libGLESv2.so.1.1.15.3082
> +       ln -sf          libGLESv2.so.1.1.15.3082                ${D}${libdir}/libGLESv2.so
> +
> +       install -m 0755 ${S}/libIMGegl.so                       ${D}${libdir}/libIMGegl.so.1.1.15.3082
> +       ln -sf          libIMGegl.so.1.1.15.3082                ${D}${libdir}/libIMGegl.so
> +
> +       install -m 0755 ${S}/libOpenVG.so                       ${D}${libdir}/libOpenVG.so.1.1.15.3082
> +       ln -sf          libOpenVG.so.1.1.15.3082                ${D}${libdir}/libOpenVG.so
> +
> +       install -m 0755 ${S}/libOpenVGU.so                      ${D}${libdir}/libOpenVGU.so.1.1.15.3082
> +       ln -sf          libOpenVG.so.1.1.15.3082                ${D}${libdir}/libOpenVGU.so
> +
> +       install -m 0755 ${S}/libPVROGL.so                       ${D}${libdir}/libPVROGL.so.1.1.15.3082
> +       ln -sf          libPVROGL.so.1.1.15.3082                ${D}${libdir}/libPVROGL.so
> +
> +       install -m 0755 ${S}/libPVRScopeServices.so             ${D}${libdir}/libPVRScopeServices.so.1.1.15.3082
> +       ln -sf          libPVRScopeServices.so.1.1.15.3082      ${D}${libdir}/libPVRScopeServices.so
> +
> +       install -m 0755 ${S}/libXegd_escape.so.2.0.0            ${D}${libdir}/libXegd_escape.so.2.0.0
> +
> +       install -m 0755 ${S}/libglslcompiler.so                 ${D}${libdir}/libglslcompiler.so.1.1.15.3082
> +       ln -sf          libglslcompiler.so.1.1.15.3082          ${D}${libdir}/libglslcompiler.so
> +
> +       install -m 0755 ${S}/libpvr2d.so                        ${D}${libdir}/libpvr2d.so.1.1.15.3082
> +       ln -sf          libpvr2d.so.1.1.15.3082                 ${D}${libdir}/libpvr2d.so
> +
> +       install -m 0755 ${S}/libpvrPVR2D_DRIWSEGL.so            ${D}${libdir}/libpvrPVR2D_DRIWSEGL.so.1.1.15.3082
> +       ln -sf          libpvrPVR2D_DRIWSEGL.so.1.1.15.3082     ${D}${libdir}/libpvrPVR2D_DRIWSEGL.so
> +
> +       install -m 0755 ${S}/libsrv_init.so                     ${D}${libdir}/libsrv_init.so.1.1.15.3082
> +       ln -sf          libsrv_init.so.1.1.15.3082              ${D}${libdir}/libsrv_init.so
> +
> +       install -m 0755 ${S}/libsrv_um.so                       ${D}${libdir}/libsrv_um.so.1.1.15.3082
> +       ln -sf          libsrv_um.so.1.1.15.3082                ${D}${libdir}/libsrv_um.so
> +
> +       install -m 0755 ${S}/libva-x11.so.1.0.1                 ${D}${libdir}/libva-x11.so.1.0.1
> +
> +       install -m 0755 ${S}/libva.so.1.0.1                     ${D}${libdir}/libva.so.1.0.1
> +}
> +
> +LEAD_SONAME = "libEGL.so"
> diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
> new file mode 100644
> index 0000000..2341e40
> --- /dev/null
> +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
> @@ -0,0 +1,19 @@
> +Index: xorg-server-1.7.99.2/configure.ac
> +===================================================================
> +--- xorg-server-1.7.99.2.orig/configure.ac     2010-01-29 16:38:49.000000000 +0000
> ++++ xorg-server-1.7.99.2/configure.ac  2010-01-29 16:42:39.000000000 +0000
> +@@ -503,14 +503,10 @@
> +
> + dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d,
> + dnl otherwise uses standard subdirectories of FONTROOTDIR
> +-AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d],
> +-      [DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'],
> +-      [
> +               DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/"
> +               case $host_os in
> +                       darwin*)    DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
> +               esac
> +-      ])
> + AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]),
> +                               [ FONTPATH="$withval" ],
> +                               [ FONTPATH="${DEFAULT_FONT_PATH}" ])
> diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
> new file mode 100644
> index 0000000..565832e
> --- /dev/null
> +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
> @@ -0,0 +1,13 @@
> +Index: git/os/osdep.h
> +===================================================================
> +--- git.orig/os/osdep.h        2008-10-07 18:38:21.000000000 +0100
> ++++ git/os/osdep.h     2008-10-07 18:39:36.000000000 +0100
> +@@ -92,7 +92,7 @@
> +  * like sysconf(_SC_OPEN_MAX) is not supported.
> +  */
> +
> +-#if OPEN_MAX <= 256
> ++#if 0
> + #define MAXSOCKS (OPEN_MAX - 1)
> + #else
> + #define MAXSOCKS 256
> diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
> new file mode 100644
> index 0000000..6998adf
> --- /dev/null
> +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
> @@ -0,0 +1,18 @@
> +Index: xorg-server-1.5.0/xorg-server.m4
> +===================================================================
> +--- xorg-server-1.5.0.orig/xorg-server.m4      2007-05-29 20:36:51.000000000 +0100
> ++++ xorg-server-1.5.0/xorg-server.m4   2008-11-04 23:56:55.000000000 +0000
> +@@ -28,9 +28,12 @@
> + # Checks for the $1 define in xorg-server.h (from the sdk).  If it
> + # is defined, then add $1 to $REQUIRED_MODULES.
> +
> ++m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR)
> ++
> + AC_DEFUN([XORG_DRIVER_CHECK_EXT],[
> ++      PKG_PROG_PKG_CONFIG
> +       SAVE_CFLAGS="$CFLAGS"
> +-      CFLAGS="$CFLAGS -I`pkg-config --variable=sdkdir xorg-server`"
> ++      CFLAGS="$CFLAGS -I$PKG_CONFIG_SYSROOT_DIR`pkg-config --variable=sdkdir xorg-server`"
> +       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
> + #include "xorg-server.h"
> + #if !defined $1
> diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch
> new file mode 100644
> index 0000000..6b34032
> --- /dev/null
> +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch
> @@ -0,0 +1,12 @@
> +Index: git/configure.ac
> +===================================================================
> +--- git.orig/configure.ac      2009-01-15 20:35:31.000000000 +0000
> ++++ git/configure.ac   2009-01-15 20:35:38.000000000 +0000
> +@@ -62,7 +62,6 @@
> + AC_LIBTOOL_WIN32_DLL
> + AC_DISABLE_STATIC
> + AC_PROG_LIBTOOL
> +-DOLT
> + AC_PROG_MAKE_SET
> + PKG_PROG_PKG_CONFIG
> + AC_PROG_LEX
> diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
> new file mode 100644
> index 0000000..d5d15df
> --- /dev/null
> +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
> @@ -0,0 +1,25 @@
> +require recipes-graphics/xorg-xserver/xserver-xf86-dri-lite.inc
> +
> +LIC_FILES_CHKSUM = "file://COPYING;md5=3dd2bbe3563837f80ed8926b06c1c353"
> +
> +PROTO_DEPS += "xf86driproto dri2proto"
> +
> +DEPENDS += "font-util"
> +
> +PE = "1"
> +PR = "r0"
> +
> +SRC_URI += "file://nodolt.patch \
> +            file://crosscompile.patch"
> +
> +# Misc build failure for master HEAD
> +SRC_URI += "file://fix_open_max_preprocessor_error.patch"
> +
> +SRC_URI[md5sum] = "5c8773499a6a8c1ddaedf33577ec9634"
> +SRC_URI[sha256sum] = "8b30800004c98fc7a8e6ff31a339f28451be5132e774443be22bf226e1791e34"
> +
> +RDEPENDS_${PN} += "xserver-xf86-emgd-bin"
> +
> +COMPATIBLE_MACHINE = "crownbay"
> +
> +EXTRA_OECONF += "--enable-dga --enable-dri --enable-dri2"
> --
> 1.7.0.4
>
>
> _______________________________________________
> poky mailing list
> poky@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/poky
>
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] meta-crownbay: new layer for E6xx/EG20T systems
  2010-12-07 10:40   ` Yu Ke
@ 2010-12-07 18:18     ` Tom Zanussi
  0 siblings, 0 replies; 8+ messages in thread
From: Tom Zanussi @ 2010-12-07 18:18 UTC (permalink / raw)
  To: Yu, Ke; +Cc: poky

On Tue, 2010-12-07 at 02:40 -0800, Yu, Ke wrote:
> Hi Tom,
> 
> I like the README.before.building, it provide comprehensive and useful info. Meanwhile, I am still feel this is not convenient especially for linux people who don't want to run windows app like IEMGD_1_5_GOLD_ALL_1742.exe.
> 
> I totally understand this is caused by the weired EMGD package approach. the ultimate way to fix that would be persuding EMGD release team to change their package appraoch. But before that happens, could we tweak a bit in our side, for example, put the final IEMGD_HEAD_Linux.tgz to our autobuilder, and make a SRC_URI to fetch it. in this case, thing will be automatically settled down and won't bother people by the manual install process. Just my two cents.
> 

Hi Ki,

Yes, it would be nice to change the packaging, I agree, and also agree
that it's very inconvenient to have do do it this way.  It should be
possible to have the user copy just the IEMGD_HEAD_Linux.tgz to
downloads and have it work from there, but at that point, the user might
as well just copy the files to the recipe.

The problem is that we can't just put the IEMGD_HEAD_Linux.tgz in the
autobuilder and have it automatically fetched without having user first
accept the license(s).  Once the 'click-through' licensing mechanism is
implemented, that's exactly what we'll do, but until then we have the
current situation...

Thanks,

Tom

> Regards
> Ke
> 
> On Dec 06, 23:57, Tom Zanussi wrote:
> > This layer provides support for Tunnel Creek + Topcliff Intel systems.
> >
> > It supports the E6xx embedded on-chip graphics via the Intel Embedded
> > Media and Graphics Driver (EMGD) 1.5 Gold Driver.
> >
> > The EMGD and EG20T PCH kernel drivers are of course GPL'ed and are
> > submitted in a separate patchset for the 2.6.34 yocto kernel.
> >
> > The userspace X drivers and supporting libraries however are closed
> > and need to be manually copied into the layer before building.  The
> > details on how to do this can be found in the README.before.building
> > doc in meta-crownbay/.
> >
> > Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
> > ---
> >  meta-crownbay/COPYING.MIT                          |   17 +++
> >  meta-crownbay/README.before.building               |  112 ++++++++++++++++++++
> >  meta-crownbay/conf/layer.conf                      |   10 ++
> >  meta-crownbay/conf/machine/crownbay.conf           |   46 ++++++++
> >  .../formfactor/formfactor/crownbay/machconfig      |    3 +
> >  .../recipes/formfactor/formfactor_0.0.bbappend     |    3 +
> >  .../recipes/linux/linux-yocto_git.bbappend         |    3 +
> >  .../xserver-xf86-config/crownbay/xorg.conf         |   47 ++++++++
> >  .../xorg-xserver/xserver-xf86-config_0.1.bbappend  |    3 +
> >  .../xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb |   90 ++++++++++++++++
> >  .../xserver-xf86-emgd/crosscompile.patch           |   19 ++++
> >  .../fix_open_max_preprocessor_error.patch          |   13 +++
> >  .../xserver-xf86-emgd/macro_tweak.patch            |   18 +++
> >  .../xorg-xserver/xserver-xf86-emgd/nodolt.patch    |   12 ++
> >  .../xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb     |   25 +++++
> >  15 files changed, 421 insertions(+), 0 deletions(-)
> >  create mode 100644 meta-crownbay/COPYING.MIT
> >  create mode 100755 meta-crownbay/README.before.building
> >  create mode 100644 meta-crownbay/conf/layer.conf
> >  create mode 100644 meta-crownbay/conf/machine/crownbay.conf
> >  create mode 100644 meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig
> >  create mode 100644 meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend
> >  create mode 100644 meta-crownbay/recipes/linux/linux-yocto_git.bbappend
> >  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
> >  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend
> >  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
> >  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
> >  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
> >  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
> >  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch
> >  create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
> >
> > diff --git a/meta-crownbay/COPYING.MIT b/meta-crownbay/COPYING.MIT
> > new file mode 100644
> > index 0000000..fb950dc
> > --- /dev/null
> > +++ b/meta-crownbay/COPYING.MIT
> > @@ -0,0 +1,17 @@
> > +Permission is hereby granted, free of charge, to any person obtaining a copy
> > +of this software and associated documentation files (the "Software"), to deal
> > +in the Software without restriction, including without limitation the rights
> > +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> > +copies of the Software, and to permit persons to whom the Software is
> > +furnished to do so, subject to the following conditions:
> > +
> > +The above copyright notice and this permission notice shall be included in
> > +all copies or substantial portions of the Software.
> > +
> > +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> > +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> > +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> > +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> > +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> > +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
> > +THE SOFTWARE.
> > diff --git a/meta-crownbay/README.before.building b/meta-crownbay/README.before.building
> > new file mode 100755
> > index 0000000..ded4c05
> > --- /dev/null
> > +++ b/meta-crownbay/README.before.building
> > @@ -0,0 +1,112 @@
> > +The meta-crownbay layer makes use of the proprietary Intel EMGD
> > +userspace drivers, which at this point in time require that the user
> > +accept the Intel license by manually extracting the binaries and
> > +copying them to the proper location in the meta-crownbay layer.
> > +
> > +There currently isn't an automated way to do this, thus the manual
> > +step.  When Yocto supports a click-through installation mechanism, the
> > +binary files will be packaged as part of the recipe, and this step
> > +will be unnecessary.
> > +
> > +These steps require that you run a graphical application in Windows.
> > +Windows 7 was used for these instructions, but it shouldn't matter
> > +which version of Windows you use.
> > +
> > +The first step of the process is to download the EMGD 1.5 Gold Driver.
> > +Here is the current link to the URL which it can be downloaded from:
> > +
> > +http://edc.intel.com/Software/Downloads/EMGD/
> > +
> > +In the Download Now tab, select:
> > +
> > +Intel? architecture-based product: Intel Atom Processor E6XX Series
> > +Operating System: MeeGo 1.0 IVI Linux (kernel 2.6.33.3, X.server 1.8.0)
> > +
> > +That will give you a large zip file:
> > +
> > +IEMGD_1_5_GOLD_ALL_1742.zip
> > +
> > +Extract the files in the zip file, which will in turn give you a large
> > +.exe file:
> > +
> > +IEMGD_1_5_GOLD_ALL_1742.exe
> > +
> > +Run IEMGD_1_5_GOLD_ALL_1742.exe to install, accept licenses, etc.
> > +
> > +If it says to install watcom, follow the instructions to do that.
> > +
> > +When the installation completes, an application named "emgd-ced" will
> > +be present in the install directory.  Double-click to run it.
> > +
> > +Select the menu item: New Configuration
> > +
> > +In the tabbed page, make the following selections and/or enter the
> > +specified data:
> gg> +
> > +Configuration File Name: myconfig
> > +Platform Chipset: Intel Atom Processor E6xx
> > +Port Devices: LVDS, sDVO
> > +
> > +Hit the 'Next' button.
> > +
> > +On the next tabbed page, make the following selections and/or enter
> > +the specified data:
> > +
> > +Readable Port Name: portname0
> > +Encoder Configuration: Select sDVO Device: Internal LVDS
> > +
> > +Hit the 'Finish' button.
> > +
> > +Select the menu item: New Package
> > +
> > +In the tabbed page, make the following selections and/or enter the
> > +specified data:
> > +
> > +Package File Name: mypackage
> > +Configurations: selec myconfig.cnfg
> > +Target OS: Linux operating System
> > +
> > +Hit the 'Finish' button.
> > +
> > +Select the menu item: Generate Installation
> > +
> > +This will create the EMGD installation package:
> > +
> > +Generating EMGD installation...
> > +
> > +The installation package should now be under the 'workspace'
> > +subdirectory of the directory you installed to:
> > +
> > +workspace/installation/mypackage.pkg_installation/IEMGD_HEAD_Linux/IEMGD_HEAD_Linux.tgz
> > +
> > +This is the file you are interested in.  Copy it to your Poky build
> > +system, and uncompress/untar it:
> > +
> > +$ tar cvfz IEMGD_HEAD_Linux.tgz
> > +
> > +Finally, copy Xorg-xserver binaries in the Meego1.0 driver directory
> > +to the xserver-xf86-emgd-bin directory in the meta-crownbay layer:
> > +
> > +$ cp IEMGD_HEAD_Linux/MeeGo1.0/driver/Xorg-xserver-1.7.99/* meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin
> > +
> > +You also need to copy the IEMGD License.txt file to the same directory:
> > +
> > +$ cp IEMGD_HEAD_Linux/License/License.txt meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin
> > +
> > +At this point, you should be able to build meta-crownbay images as usual.
> > +
> > +----
> > +
> > +For reference, the EMGD Driver documentation is also available at the
> > +above link (it's also part of the installation).
> > +
> > +The specific text of the document is:
> > +
> > +User Guide: Intel? Embedded Media and Graphics Driver, EFI Video
> > +Driver, EPOG, and Video BIOS v1.5 for Windows* XP and Linux* Provides
> > +installation requirements/procedures & describes the vbios/firmware,
> > +configuration options, & functionality of Intel? EMGD under Windows* &
> > +Linux*. Refer to guide for details.
> > +
> > +File Type/Size: PDF 3,340KB
> > +Version: 008 : October 2010
> > diff --git a/meta-crownbay/conf/layer.conf b/meta-crownbay/conf/layer.conf
> > new file mode 100644
> > index 0000000..79dd89b
> > --- /dev/null
> > +++ b/meta-crownbay/conf/layer.conf
> > @@ -0,0 +1,10 @@
> > +# We have a conf and classes directory, add to BBPATH
> > +BBPATH := "${BBPATH}:${LAYERDIR}"
> > +
> > +# We have a recipes directory, add to BBFILES
> > +BBFILES := "${BBFILES} ${LAYERDIR}/recipes/*/*.bb \
> > +     ${LAYERDIR}/recipes/*/*.bbappend"
> > +
> > +BBFILE_COLLECTIONS += "crownbay"
> > +BBFILE_PATTERN_crownbay := "^${LAYERDIR}/"
> > +BBFILE_PRIORITY_crownbay = "6"
> > diff --git a/meta-crownbay/conf/machine/crownbay.conf b/meta-crownbay/conf/machine/crownbay.conf
> > new file mode 100644
> > index 0000000..a2c349a
> > --- /dev/null
> > +++ b/meta-crownbay/conf/machine/crownbay.conf
> > @@ -0,0 +1,46 @@
> > +#@TYPE: Machine
> > +#@NAME: crownbay
> > +
> > +#@DESCRIPTION: Machine configuration for Crown Bay systems
> > +# i.e. E660 + EG20T
> > +
> > +TARGET_ARCH = "i586"
> > +PACKAGE_EXTRA_ARCHS = "x86 atom"
> > +
> > +include conf/machine/include/tune-atom.inc
> > +
> > +BASE_PACKAGE_ARCH="atom"
> > +
> > +MACHINE_FEATURES = "kernel26 screen keyboard pci usbhost ext2 ext3 x86 \
> > +                    acpi serial usbgadget"
> > +
> > +KERNEL_IMAGETYPE = "bzImage"
> > +
> > +PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
> > +PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-trim"
> > +PREFERRED_PROVIDER_virtual/libgl  ?= "mesa-dri"
> > +PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-emgd"
> > +PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-emgd"
> > +XSERVER ?= "xserver-xf86-emgd \
> > +           xserver-xf86-emgd-bin \
> > +           xf86-input-mouse \
> > +           xf86-input-keyboard \
> > +           xf86-input-evdev \
> > +           xf86-input-synaptics \
> > +           xf86-video-vesa"
> > +
> > +PREFERRED_VERSION_xserver-xf86-emgd ?= "1.7.99.2"
> > +PREFERRED_VERSION_xserver-xf86-emgd-bin ?= "1.7.99.2"
> > +
> > +SERIAL_CONSOLE = "115200 ttyS0"
> > +
> > +MACHINE_EXTRA_RRECOMMENDS = "kernel-modules eee-acpi-scripts"
> > +
> > +GUI_MACHINE_CLASS = "bigscreen"
> > +
> > +IMAGE_ROOTFS_SIZE_ext3 = "2000000"
> > +
> > +IMAGE_FSTYPES ?= "ext3 cpio.gz"
> > +
> > +GLIBC_ADDONS = "nptl"
> > +GLIBC_EXTRA_OECONF = "--with-tls"
> > diff --git a/meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig b/meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig
> > new file mode 100644
> > index 0000000..ffce012
> > --- /dev/null
> > +++ b/meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig
> > @@ -0,0 +1,3 @@
> > +# Assume a USB mouse and keyboard are connected
> > +HAVE_TOUCHSCREEN=0
> > +HAVE_KEYBOARD=1
> > diff --git a/meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend b/meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend
> > new file mode 100644
> > index 0000000..4a41d48
> > --- /dev/null
> > +++ b/meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend
> > @@ -0,0 +1,3 @@
> > +FILESEXTRAPATHS := "${THISDIR}/${PN}"
> > +
> > +PRINC = "1"
> > diff --git a/meta-crownbay/recipes/linux/linux-yocto_git.bbappend b/meta-crownbay/recipes/linux/linux-yocto_git.bbappend
> > new file mode 100644
> > index 0000000..3a50a32
> > --- /dev/null
> > +++ b/meta-crownbay/recipes/linux/linux-yocto_git.bbappend
> > @@ -0,0 +1,3 @@
> > +FILESEXTRAPATHS := "${THISDIR}/${PN}"
> > +COMPATIBLE_MACHINE_crownbay = "crownbay"
> > +KMACHINE_crownbay  = "crownbay"
> > diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
> > new file mode 100644
> > index 0000000..f78a538
> > --- /dev/null
> > +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
> > @@ -0,0 +1,47 @@
> > +##
> > +## X Config options generated from CED
> > +## x11 conf skeleton
> > +## DriverVer=
> > +##
> > +
> > +Section "Screen"
> > +    Identifier    "Screen0"
> > +    Device        "IntelEMGD-0"
> > +    Monitor       "Monitor0"
> > +    SubSection    "Display"
> > +    EndSubSection
> > +EndSection
> > +
> > +# Primary (First/only) display
> > +Section "Device"
> > +    Identifier "IntelEMGD-0"
> > +    Driver     "emgd"
> > +    VendorName "Intel(R) DEG"
> > +    BoardName  "Embedded Graphics"
> > +    BusID      "0:2:0"
> > +    Screen      0
> > +    Option     "PcfVersion"            "1792"
> > +    Option     "ConfigId"              "1"
> > +    Option     "ALL/1/name"                   "e6xx"
> > +    Option     "ALL/1/General/PortOrder"      "40000"
> > +    Option     "ALL/1/General/DisplayConfig"  "1"
> > +    Option     "ALL/1/General/DisplayDetect"  "1"
> > +    Option     "ALL/1/Port/4/General/name"           "lvds"
> > +    Option     "ALL/1/Port/4/General/EdidAvail"      "3"
> > +    Option     "ALL/1/Port/4/General/EdidNotAvail"   "1"
> > +    Option     "ALL/1/Port/4/General/Rotation"       "0"
> > +    Option     "ALL/1/Port/4/General/Edid"           "1"
> > +EndSection
> > +
> > +Section "ServerLayout"
> > +    Identifier     "Default Layout"
> > +    Screen 0       "Screen0" 0 0
> > +   # InputDevice    "Mouse0" "CorePointer"
> > +   # InputDevice    "Keyboard0" "CoreKeyboard"
> > +   # InputDevice    "DevInputMice" "SendCoreEvents"
> > +EndSection
> > +
> > +Section "ServerFlags"
> > +    Option        "DontZap"  "0"
> > +    Option        "AutoAddDevices"  "False"
> > +EndSection
> > diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend
> > new file mode 100644
> > index 0000000..4b8d0e6
> > --- /dev/null
> > +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend
> > @@ -0,0 +1,3 @@
> > +THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}"
> > +FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:"
> > +
> > diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
> > new file mode 100644
> > index 0000000..1b2e1e8
> > --- /dev/null
> > +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
> > @@ -0,0 +1,90 @@
> > +SUMMARY = "EMGD 1.5 xserver binaries"
> > +DESCRIPTION = "EMGD 1.5 includes some userspace binaries that use non-free licensing.  Intel Open Source Technology Center unfortunately has no power to change that, but tries to make their use as painless as possible.  Please see the README.before.building in meta-crownbay/recipes/xorg-xerver for instuctions on the (simple) manual steps necessary to make the necessary binaries available to this recipe.  Please do that before building an image"
> > +
> > +LICENSE = "Intel-binary-only"
> > +LIC_FILES_CHKSUM = "file://${WORKDIR}/License.txt;md5=95c4d031b83ab803f3f2401b04ecfbcd"
> > +PR = "r0"
> > +
> > +FILESPATH = "${FILE_DIRNAME}/xserver-xf86-emgd-bin"
> > +
> > +FILES_${PN} = "${libdir}/*.so.* ${libdir}/dri ${libdir}/xorg/modules/drivers"
> > +
> > +SRC_URI = "file://emgd_dri.so \
> > +           file://emgd_drv.so \
> > +           file://emgd_drv_video.so \
> > +           file://libEGL.so \
> > +           file://libGLES_CM.so \
> > +           file://libGLESv2.so \
> > +           file://libIMGegl.so \
> > +           file://libOpenVG.so \
> > +           file://libOpenVGU.so \
> > +           file://libPVROGL.so \
> > +           file://libPVRScopeServices.so \
> > +           file://libXegd_escape.so.2.0.0 \
> > +           file://libglslcompiler.so \
> > +           file://libpvr2d.so \
> > +           file://libpvrPVR2D_DRIWSEGL.so \
> > +           file://libsrv_init.so \
> > +           file://libsrv_um.so \
> > +           file://libva-x11.so.1.0.1 \
> > +           file://libva.so.1.0.1 \
> > +           file://License.txt"
> > +
> > +S = "${WORKDIR}"
> > +
> > +do_install () {
> > +     install -d -m 0755 ${D}/${libdir}/dri ${D}/${libdir}/xorg/modules/drivers
> > +
> > +     install -m 0755 ${S}/emgd_dri.so                        ${D}${libdir}/dri/emgd_dri.so.1.1.15.3082
> > +     ln -sf          emgd_dri.so.1.1.15.3082                 ${D}${libdir}/dri/emgd_dri.so
> > +
> > +     install -m 0755 ${S}/emgd_drv.so                        ${D}${libdir}/xorg/modules/drivers/emgd_drv.so
> > +     install -m 0755 ${S}/emgd_drv_video.so                  ${D}${libdir}/xorg/modules/drivers/emgd_drv_video.so
> > +
> > +     install -m 0755 ${S}/libEGL.so                          ${D}${libdir}/libEGL.so.1.1.15.3082
> > +     ln -sf          libEGL.so.1.1.15.3082                   ${D}${libdir}/libEGL.so
> > +
> > +     install -m 0755 ${S}/libGLES_CM.so                      ${D}${libdir}/libGLES_CM.so.1.1.15.3082
> > +     ln -sf          libGLES_CM.so.1.1.15.3082               ${D}${libdir}/libGLES_CM.so
> > +
> > +     install -m 0755 ${S}/libGLESv2.so                       ${D}${libdir}/libGLESv2.so.1.1.15.3082
> > +     ln -sf          libGLESv2.so.1.1.15.3082                ${D}${libdir}/libGLESv2.so
> > +
> > +     install -m 0755 ${S}/libIMGegl.so                       ${D}${libdir}/libIMGegl.so.1.1.15.3082
> > +     ln -sf          libIMGegl.so.1.1.15.3082                ${D}${libdir}/libIMGegl.so
> > +
> > +     install -m 0755 ${S}/libOpenVG.so                       ${D}${libdir}/libOpenVG.so.1.1.15.3082
> > +     ln -sf          libOpenVG.so.1.1.15.3082                ${D}${libdir}/libOpenVG.so
> > +
> > +     install -m 0755 ${S}/libOpenVGU.so                      ${D}${libdir}/libOpenVGU.so.1.1.15.3082
> > +     ln -sf          libOpenVG.so.1.1.15.3082                ${D}${libdir}/libOpenVGU.so
> > +
> > +     install -m 0755 ${S}/libPVROGL.so                       ${D}${libdir}/libPVROGL.so.1.1.15.3082
> > +     ln -sf          libPVROGL.so.1.1.15.3082                ${D}${libdir}/libPVROGL.so
> > +
> > +     install -m 0755 ${S}/libPVRScopeServices.so             ${D}${libdir}/libPVRScopeServices.so.1.1.15.3082
> > +     ln -sf          libPVRScopeServices.so.1.1.15.3082      ${D}${libdir}/libPVRScopeServices.so
> > +
> > +     install -m 0755 ${S}/libXegd_escape.so.2.0.0            ${D}${libdir}/libXegd_escape.so.2.0.0
> > +
> > +     install -m 0755 ${S}/libglslcompiler.so                 ${D}${libdir}/libglslcompiler.so.1.1.15.3082
> > +     ln -sf          libglslcompiler.so.1.1.15.3082          ${D}${libdir}/libglslcompiler.so
> > +
> > +     install -m 0755 ${S}/libpvr2d.so                        ${D}${libdir}/libpvr2d.so.1.1.15.3082
> > +     ln -sf          libpvr2d.so.1.1.15.3082                 ${D}${libdir}/libpvr2d.so
> > +
> > +     install -m 0755 ${S}/libpvrPVR2D_DRIWSEGL.so            ${D}${libdir}/libpvrPVR2D_DRIWSEGL.so.1.1.15.3082
> > +     ln -sf          libpvrPVR2D_DRIWSEGL.so.1.1.15.3082     ${D}${libdir}/libpvrPVR2D_DRIWSEGL.so
> > +
> > +     install -m 0755 ${S}/libsrv_init.so                     ${D}${libdir}/libsrv_init.so.1.1.15.3082
> > +     ln -sf          libsrv_init.so.1.1.15.3082              ${D}${libdir}/libsrv_init.so
> > +
> > +     install -m 0755 ${S}/libsrv_um.so                       ${D}${libdir}/libsrv_um.so.1.1.15.3082
> > +     ln -sf          libsrv_um.so.1.1.15.3082                ${D}${libdir}/libsrv_um.so
> > +
> > +     install -m 0755 ${S}/libva-x11.so.1.0.1                 ${D}${libdir}/libva-x11.so.1.0.1
> > +
> > +     install -m 0755 ${S}/libva.so.1.0.1                     ${D}${libdir}/libva.so.1.0.1
> > +}
> > +
> > +LEAD_SONAME = "libEGL.so"
> > diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
> > new file mode 100644
> > index 0000000..2341e40
> > --- /dev/null
> > +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
> > @@ -0,0 +1,19 @@
> > +Index: xorg-server-1.7.99.2/configure.ac
> > +===================================================================
> > +--- xorg-server-1.7.99.2.orig/configure.ac   2010-01-29 16:38:49.000000000 +0000
> > ++++ xorg-server-1.7.99.2/configure.ac        2010-01-29 16:42:39.000000000 +0000
> > +@@ -503,14 +503,10 @@
> > +
> > + dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d,
> > + dnl otherwise uses standard subdirectories of FONTROOTDIR
> > +-AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d],
> > +-    [DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'],
> > +-    [
> > +             DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/"
> > +             case $host_os in
> > +                     darwin*)    DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
> > +             esac
> > +-    ])
> > + AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]),
> > +                             [ FONTPATH="$withval" ],
> > +                             [ FONTPATH="${DEFAULT_FONT_PATH}" ])
> > diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
> > new file mode 100644
> > index 0000000..565832e
> > --- /dev/null
> > +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
> > @@ -0,0 +1,13 @@
> > +Index: git/os/osdep.h
> > +===================================================================
> > +--- git.orig/os/osdep.h      2008-10-07 18:38:21.000000000 +0100
> > ++++ git/os/osdep.h   2008-10-07 18:39:36.000000000 +0100
> > +@@ -92,7 +92,7 @@
> > +  * like sysconf(_SC_OPEN_MAX) is not supported.
> > +  */
> > +
> > +-#if OPEN_MAX <= 256
> > ++#if 0
> > + #define MAXSOCKS (OPEN_MAX - 1)
> > + #else
> > + #define MAXSOCKS 256
> > diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
> > new file mode 100644
> > index 0000000..6998adf
> > --- /dev/null
> > +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
> > @@ -0,0 +1,18 @@
> > +Index: xorg-server-1.5.0/xorg-server.m4
> > +===================================================================
> > +--- xorg-server-1.5.0.orig/xorg-server.m4    2007-05-29 20:36:51.000000000 +0100
> > ++++ xorg-server-1.5.0/xorg-server.m4 2008-11-04 23:56:55.000000000 +0000
> > +@@ -28,9 +28,12 @@
> > + # Checks for the $1 define in xorg-server.h (from the sdk).  If it
> > + # is defined, then add $1 to $REQUIRED_MODULES.
> > +
> > ++m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR)
> > ++
> > + AC_DEFUN([XORG_DRIVER_CHECK_EXT],[
> > ++    PKG_PROG_PKG_CONFIG
> > +     SAVE_CFLAGS="$CFLAGS"
> > +-    CFLAGS="$CFLAGS -I`pkg-config --variable=sdkdir xorg-server`"
> > ++    CFLAGS="$CFLAGS -I$PKG_CONFIG_SYSROOT_DIR`pkg-config --variable=sdkdir xorg-server`"
> > +     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
> > + #include "xorg-server.h"
> > + #if !defined $1
> > diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch
> > new file mode 100644
> > index 0000000..6b34032
> > --- /dev/null
> > +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch
> > @@ -0,0 +1,12 @@
> > +Index: git/configure.ac
> > +===================================================================
> > +--- git.orig/configure.ac    2009-01-15 20:35:31.000000000 +0000
> > ++++ git/configure.ac 2009-01-15 20:35:38.000000000 +0000
> > +@@ -62,7 +62,6 @@
> > + AC_LIBTOOL_WIN32_DLL
> > + AC_DISABLE_STATIC
> > + AC_PROG_LIBTOOL
> > +-DOLT
> > + AC_PROG_MAKE_SET
> > + PKG_PROG_PKG_CONFIG
> > + AC_PROG_LEX
> > diff --git a/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
> > new file mode 100644
> > index 0000000..d5d15df
> > --- /dev/null
> > +++ b/meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
> > @@ -0,0 +1,25 @@
> > +require recipes-graphics/xorg-xserver/xserver-xf86-dri-lite.inc
> > +
> > +LIC_FILES_CHKSUM = "file://COPYING;md5=3dd2bbe3563837f80ed8926b06c1c353"
> > +
> > +PROTO_DEPS += "xf86driproto dri2proto"
> > +
> > +DEPENDS += "font-util"
> > +
> > +PE = "1"
> > +PR = "r0"
> > +
> > +SRC_URI += "file://nodolt.patch \
> > +            file://crosscompile.patch"
> > +
> > +# Misc build failure for master HEAD
> > +SRC_URI += "file://fix_open_max_preprocessor_error.patch"
> > +
> > +SRC_URI[md5sum] = "5c8773499a6a8c1ddaedf33577ec9634"
> > +SRC_URI[sha256sum] = "8b30800004c98fc7a8e6ff31a339f28451be5132e774443be22bf226e1791e34"
> > +
> > +RDEPENDS_${PN} += "xserver-xf86-emgd-bin"
> > +
> > +COMPATIBLE_MACHINE = "crownbay"
> > +
> > +EXTRA_OECONF += "--enable-dga --enable-dri --enable-dri2"
> > --
> > 1.7.0.4
> >
> 
> > _______________________________________________
> > poky mailing list
> > poky@yoctoproject.org
> > https://lists.yoctoproject.org/listinfo/poky
> 




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/1] Add meta-crownbay
  2010-12-07  6:39 [PATCH 0/1] Add meta-crownbay Tom Zanussi
  2010-12-07  5:57 ` [PATCH 1/1] meta-crownbay: new layer for E6xx/EG20T systems Tom Zanussi
@ 2010-12-08 17:52 ` Darren Hart
  2010-12-09  6:09   ` Tom Zanussi
  1 sibling, 1 reply; 8+ messages in thread
From: Darren Hart @ 2010-12-08 17:52 UTC (permalink / raw)
  To: Tom Zanussi; +Cc: poky

On 12/06/2010 10:39 PM, Tom Zanussi wrote:
> Adds a new layer for Tunnel Creek/Topcliff systems.
>

I'm concerned about the long-term sustainability of this approach of 
adding a new layer for each "platform". Just Intel platforms alone will 
make 'ls meta-*' unwieldy in fairly short order, add to that the other 
architectures and we're looking at a lot of layers.

We support a lot of platforms under the existing machine types. Is the 
primary reason for this being a layer to accomodate the EMGD bits? if 
so, are those specific to crownbay, or can they somehow be shared across 
multiple platforms?

For instance, could the xf86 patches be appended to the existing xf86 
recipe using the SRC_URI_crownbay mechanism?

--
Darren

> Pull URL: git://git.pokylinux.org/poky-contrib.git
>    Branch: tzanussi/crownbay
>    Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=tzanussi/crownbay
>
> Thanks,
>      Tom Zanussi<tom.zanussi@intel.com>
> ---
>
>
> Tom Zanussi (1):
>    meta-crownbay: new layer for E6xx/EG20T systems
>
>   meta-crownbay/COPYING.MIT                          |   17 +++
>   meta-crownbay/README.before.building               |  112 ++++++++++++++++++++
>   meta-crownbay/conf/layer.conf                      |   10 ++
>   meta-crownbay/conf/machine/crownbay.conf           |   46 ++++++++
>   .../formfactor/formfactor/crownbay/machconfig      |    3 +
>   .../recipes/formfactor/formfactor_0.0.bbappend     |    3 +
>   .../recipes/linux/linux-yocto_git.bbappend         |    3 +
>   .../xserver-xf86-config/crownbay/xorg.conf         |   47 ++++++++
>   .../xorg-xserver/xserver-xf86-config_0.1.bbappend  |    3 +
>   .../xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb |   90 ++++++++++++++++
>   .../xserver-xf86-emgd/crosscompile.patch           |   19 ++++
>   .../fix_open_max_preprocessor_error.patch          |   13 +++
>   .../xserver-xf86-emgd/macro_tweak.patch            |   18 +++
>   .../xorg-xserver/xserver-xf86-emgd/nodolt.patch    |   12 ++
>   .../xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb     |   25 +++++
>   15 files changed, 421 insertions(+), 0 deletions(-)
>   create mode 100644 meta-crownbay/COPYING.MIT
>   create mode 100755 meta-crownbay/README.before.building
>   create mode 100644 meta-crownbay/conf/layer.conf
>   create mode 100644 meta-crownbay/conf/machine/crownbay.conf
>   create mode 100644 meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig
>   create mode 100644 meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend
>   create mode 100644 meta-crownbay/recipes/linux/linux-yocto_git.bbappend
>   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
>   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend
>   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
>   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
>   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
>   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
>   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch
>   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
>
> _______________________________________________
> poky mailing list
> poky@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/poky


-- 
Darren Hart
Yocto Linux Kernel


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/1] Add meta-crownbay
  2010-12-08 17:52 ` [PATCH 0/1] Add meta-crownbay Darren Hart
@ 2010-12-09  6:09   ` Tom Zanussi
  2010-12-09  6:55     ` Bruce Ashfield
  0 siblings, 1 reply; 8+ messages in thread
From: Tom Zanussi @ 2010-12-09  6:09 UTC (permalink / raw)
  To: Darren Hart; +Cc: poky

On Wed, 2010-12-08 at 09:52 -0800, Darren Hart wrote:
> On 12/06/2010 10:39 PM, Tom Zanussi wrote:
> > Adds a new layer for Tunnel Creek/Topcliff systems.
> >
> 
> I'm concerned about the long-term sustainability of this approach of 
> adding a new layer for each "platform". Just Intel platforms alone will 
> make 'ls meta-*' unwieldy in fairly short order, add to that the other 
> architectures and we're looking at a lot of layers.
> 
> We support a lot of platforms under the existing machine types. Is the 
> primary reason for this being a layer to accomodate the EMGD bits? if 
> so, are those specific to crownbay, or can they somehow be shared across 
> multiple platforms?
> 

Yes, like meta-emenlow, it's a layer mainly because of the special needs
of the graphics hardware, and yes, there may be other platforms that
could share the EMGD 1.5 bits - my assumption would be that any common
factoring for sharing would happen when a second user came along...

But anyway, you hit on a good point, that simply adding new meta-<bsp>
layers to the top-level could become unwieldy after awhile.  It seems to
me that that problem could be easily solved by arranging them in a
directory hierarchy, arranged by TARGET_ARCH, e.g.

/meta-bsp/i586/meta-emenlow
              /meta-crownbay

(the meta- in front of emenlow, crownbay is redundant, but there just to
make it clear that the same layers are just being moved around).

And rather than moving away from layers, why not go even further and
take the existing machine confs, put each into its own layer too:

/meta-bsp/i586/meta-emenlow
              /meta-crownbay
              /atom-pc
              ...

/meta-bsp/arm/beagleboard
             /cm-x270
             /depicture
             ...

/meta-bsp/arm/routerstationpro
             ...

/meta-bsp/arm/mpc8315e-rdb
             ...

Each directory (layer) would at least have its machine.conf and its
associate formfactor, which is currently also in a separate location, so
it wouldn't be just a directory containing a single file.  This would
also be a nice place for a board-specific README, so we could get rid of
things like a global README.hardware and put the README info in that
file into the directory for the specific board.

It seem to me something like this would be a nice unification of all the
current 'BSP' support in poky, and would also get rid of the confusion I
know people have when it comes to deciding whether to use a layer or
just add a new machine conf - everything would be a layer so there's
nothing to think about.  And you'd see all the BSPs 'at-a-glance' -
everything would be located in the same place under a single /bsp (or
whatever sounds right) location.

Another advantage of this scheme would be that since each BSP would be
implemented as its own layer within its own directory structure, each
layer could be easily packaged as a stand-alone tarball or git repo that
we could then make available here: 

http://www.yoctoproject.org/download/board-support-package-bsp-downloads

The Black Sand BSP that's the example there currently can't be
downloaded as a separate tarball or git repo - you have to download the
entire yocto release that contains the Black Sand BSP to get it.  Some
developers might not want to start with a new release, they're already
using their own modified version, they just want to download support for
a specific BSP.  To do that for a current non-layer machine, they'd have
to download the release containing the new machine support, and move the
applicable files from the release to their own working version.  Having
it packaged as a modular unit would make things much easier. (BTW all
the text on that page about how to set up the Black Sand once it's build
would fit nicely into the atom-pc layer's README).

I think this scheme also more closely matches what Bruce has been trying
to do for the kernel...

But anyway, I'm thinking that this plus making the internal structure of
the current BSPs match what's in the BSP Developer's Guide (either by
changing the internal structure of the existing layers (and following it
for the new/converted ones), or changing the doc to how we decide it
should be) would be a good (and necessary) step towards making BSP
development for Yocto relatively painless and less confusing.

I know this is probably exactly the opposite of what you were thinking,
but it seems to me to have a lot of advantages, and I don't see much
downside, unless I'm missing something.  What do you think?

Tom  

> For instance, could the xf86 patches be appended to the existing xf86 
> recipe using the SRC_URI_crownbay mechanism?
> 
> --
> Darren
> 
> > Pull URL: git://git.pokylinux.org/poky-contrib.git
> >    Branch: tzanussi/crownbay
> >    Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=tzanussi/crownbay
> >
> > Thanks,
> >      Tom Zanussi<tom.zanussi@intel.com>
> > ---
> >
> >
> > Tom Zanussi (1):
> >    meta-crownbay: new layer for E6xx/EG20T systems
> >
> >   meta-crownbay/COPYING.MIT                          |   17 +++
> >   meta-crownbay/README.before.building               |  112 ++++++++++++++++++++
> >   meta-crownbay/conf/layer.conf                      |   10 ++
> >   meta-crownbay/conf/machine/crownbay.conf           |   46 ++++++++
> >   .../formfactor/formfactor/crownbay/machconfig      |    3 +
> >   .../recipes/formfactor/formfactor_0.0.bbappend     |    3 +
> >   .../recipes/linux/linux-yocto_git.bbappend         |    3 +
> >   .../xserver-xf86-config/crownbay/xorg.conf         |   47 ++++++++
> >   .../xorg-xserver/xserver-xf86-config_0.1.bbappend  |    3 +
> >   .../xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb |   90 ++++++++++++++++
> >   .../xserver-xf86-emgd/crosscompile.patch           |   19 ++++
> >   .../fix_open_max_preprocessor_error.patch          |   13 +++
> >   .../xserver-xf86-emgd/macro_tweak.patch            |   18 +++
> >   .../xorg-xserver/xserver-xf86-emgd/nodolt.patch    |   12 ++
> >   .../xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb     |   25 +++++
> >   15 files changed, 421 insertions(+), 0 deletions(-)
> >   create mode 100644 meta-crownbay/COPYING.MIT
> >   create mode 100755 meta-crownbay/README.before.building
> >   create mode 100644 meta-crownbay/conf/layer.conf
> >   create mode 100644 meta-crownbay/conf/machine/crownbay.conf
> >   create mode 100644 meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig
> >   create mode 100644 meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend
> >   create mode 100644 meta-crownbay/recipes/linux/linux-yocto_git.bbappend
> >   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
> >   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend
> >   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
> >   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
> >   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
> >   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
> >   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch
> >   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
> >
> > _______________________________________________
> > poky mailing list
> > poky@yoctoproject.org
> > https://lists.yoctoproject.org/listinfo/poky
> 
> 




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/1] Add meta-crownbay
  2010-12-09  6:09   ` Tom Zanussi
@ 2010-12-09  6:55     ` Bruce Ashfield
  0 siblings, 0 replies; 8+ messages in thread
From: Bruce Ashfield @ 2010-12-09  6:55 UTC (permalink / raw)
  To: Tom Zanussi; +Cc: poky

On Thu, Dec 9, 2010 at 1:09 AM, Tom Zanussi <tom.zanussi@intel.com> wrote:
> On Wed, 2010-12-08 at 09:52 -0800, Darren Hart wrote:
>> On 12/06/2010 10:39 PM, Tom Zanussi wrote:
>> > Adds a new layer for Tunnel Creek/Topcliff systems.
>> >
>>
>> I'm concerned about the long-term sustainability of this approach of
>> adding a new layer for each "platform". Just Intel platforms alone will
>> make 'ls meta-*' unwieldy in fairly short order, add to that the other
>> architectures and we're looking at a lot of layers.
>>
>> We support a lot of platforms under the existing machine types. Is the
>> primary reason for this being a layer to accomodate the EMGD bits? if
>> so, are those specific to crownbay, or can they somehow be shared across
>> multiple platforms?
>>
>
> Yes, like meta-emenlow, it's a layer mainly because of the special needs
> of the graphics hardware, and yes, there may be other platforms that
> could share the EMGD 1.5 bits - my assumption would be that any common
> factoring for sharing would happen when a second user came along...
>
> But anyway, you hit on a good point, that simply adding new meta-<bsp>
> layers to the top-level could become unwieldy after awhile.  It seems to
> me that that problem could be easily solved by arranging them in a
> directory hierarchy, arranged by TARGET_ARCH, e.g.
>
> /meta-bsp/i586/meta-emenlow
>              /meta-crownbay
>
> (the meta- in front of emenlow, crownbay is redundant, but there just to
> make it clear that the same layers are just being moved around).
>
> And rather than moving away from layers, why not go even further and
> take the existing machine confs, put each into its own layer too:
>
> /meta-bsp/i586/meta-emenlow
>              /meta-crownbay
>              /atom-pc
>              ...
>
> /meta-bsp/arm/beagleboard
>             /cm-x270
>             /depicture
>             ...
>
> /meta-bsp/arm/routerstationpro
>             ...
>
> /meta-bsp/arm/mpc8315e-rdb
>             ...
>
> Each directory (layer) would at least have its machine.conf and its
> associate formfactor, which is currently also in a separate location, so
> it wouldn't be just a directory containing a single file.  This would
> also be a nice place for a board-specific README, so we could get rid of
> things like a global README.hardware and put the README info in that
> file into the directory for the specific board.
>
> It seem to me something like this would be a nice unification of all the
> current 'BSP' support in poky, and would also get rid of the confusion I
> know people have when it comes to deciding whether to use a layer or
> just add a new machine conf - everything would be a layer so there's
> nothing to think about.  And you'd see all the BSPs 'at-a-glance' -
> everything would be located in the same place under a single /bsp (or
> whatever sounds right) location.
>
> Another advantage of this scheme would be that since each BSP would be
> implemented as its own layer within its own directory structure, each
> layer could be easily packaged as a stand-alone tarball or git repo that
> we could then make available here:

For what it is worth, this layering, grouping and flexibility it
provides is the approach we are using at the moment and
it works well. Having the single 'bsp' containing directory
makes all the difference.

It is then trivial to couple packages and special configuration
to any BSP.

>
> http://www.yoctoproject.org/download/board-support-package-bsp-downloads
>
> The Black Sand BSP that's the example there currently can't be
> downloaded as a separate tarball or git repo - you have to download the
> entire yocto release that contains the Black Sand BSP to get it.  Some
> developers might not want to start with a new release, they're already
> using their own modified version, they just want to download support for
> a specific BSP.  To do that for a current non-layer machine, they'd have
> to download the release containing the new machine support, and move the
> applicable files from the release to their own working version.  Having
> it packaged as a modular unit would make things much easier. (BTW all
> the text on that page about how to set up the Black Sand once it's build
> would fit nicely into the atom-pc layer's README).
>
> I think this scheme also more closely matches what Bruce has been trying
> to do for the kernel...

It does match pretty well, yes :)

>
> But anyway, I'm thinking that this plus making the internal structure of
> the current BSPs match what's in the BSP Developer's Guide (either by
> changing the internal structure of the existing layers (and following it
> for the new/converted ones), or changing the doc to how we decide it
> should be) would be a good (and necessary) step towards making BSP
> development for Yocto relatively painless and less confusing.
>
> I know this is probably exactly the opposite of what you were thinking,
> but it seems to me to have a lot of advantages, and I don't see much
> downside, unless I'm missing something.  What do you think?

I think its a good approach, and there's no reason why the two
approaches (many files in the single machine directory) can't
be coupled to the layers .. some layers can always have multiple,
similar BSPs, some wont.

I'm very familiar with this discussion, since I've had the very same
one in the past and we ended up with what you are suggesting Tom.

Cheers,

Bruce

>
> Tom
>
>> For instance, could the xf86 patches be appended to the existing xf86
>> recipe using the SRC_URI_crownbay mechanism?
>>
>> --
>> Darren
>>
>> > Pull URL: git://git.pokylinux.org/poky-contrib.git
>> >    Branch: tzanussi/crownbay
>> >    Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=tzanussi/crownbay
>> >
>> > Thanks,
>> >      Tom Zanussi<tom.zanussi@intel.com>
>> > ---
>> >
>> >
>> > Tom Zanussi (1):
>> >    meta-crownbay: new layer for E6xx/EG20T systems
>> >
>> >   meta-crownbay/COPYING.MIT                          |   17 +++
>> >   meta-crownbay/README.before.building               |  112 ++++++++++++++++++++
>> >   meta-crownbay/conf/layer.conf                      |   10 ++
>> >   meta-crownbay/conf/machine/crownbay.conf           |   46 ++++++++
>> >   .../formfactor/formfactor/crownbay/machconfig      |    3 +
>> >   .../recipes/formfactor/formfactor_0.0.bbappend     |    3 +
>> >   .../recipes/linux/linux-yocto_git.bbappend         |    3 +
>> >   .../xserver-xf86-config/crownbay/xorg.conf         |   47 ++++++++
>> >   .../xorg-xserver/xserver-xf86-config_0.1.bbappend  |    3 +
>> >   .../xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb |   90 ++++++++++++++++
>> >   .../xserver-xf86-emgd/crosscompile.patch           |   19 ++++
>> >   .../fix_open_max_preprocessor_error.patch          |   13 +++
>> >   .../xserver-xf86-emgd/macro_tweak.patch            |   18 +++
>> >   .../xorg-xserver/xserver-xf86-emgd/nodolt.patch    |   12 ++
>> >   .../xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb     |   25 +++++
>> >   15 files changed, 421 insertions(+), 0 deletions(-)
>> >   create mode 100644 meta-crownbay/COPYING.MIT
>> >   create mode 100755 meta-crownbay/README.before.building
>> >   create mode 100644 meta-crownbay/conf/layer.conf
>> >   create mode 100644 meta-crownbay/conf/machine/crownbay.conf
>> >   create mode 100644 meta-crownbay/recipes/formfactor/formfactor/crownbay/machconfig
>> >   create mode 100644 meta-crownbay/recipes/formfactor/formfactor_0.0.bbappend
>> >   create mode 100644 meta-crownbay/recipes/linux/linux-yocto_git.bbappend
>> >   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
>> >   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend
>> >   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
>> >   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
>> >   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
>> >   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
>> >   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd/nodolt.patch
>> >   create mode 100644 meta-crownbay/recipes/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
>> >
>> > _______________________________________________
>> > poky mailing list
>> > poky@yoctoproject.org
>> > https://lists.yoctoproject.org/listinfo/poky
>>
>>
>
>
> _______________________________________________
> poky mailing list
> poky@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/poky
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-12-09  6:55 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-12-07  6:39 [PATCH 0/1] Add meta-crownbay Tom Zanussi
2010-12-07  5:57 ` [PATCH 1/1] meta-crownbay: new layer for E6xx/EG20T systems Tom Zanussi
2010-12-07 10:40   ` Yu Ke
2010-12-07 18:18     ` Tom Zanussi
2010-12-07 16:01   ` Bruce Ashfield
2010-12-08 17:52 ` [PATCH 0/1] Add meta-crownbay Darren Hart
2010-12-09  6:09   ` Tom Zanussi
2010-12-09  6:55     ` Bruce Ashfield

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.