From 829f0b2db3015c145b89bf85cf9ac3d8e6827e30 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Sun, 13 Feb 2011 22:33:13 -0600 Subject: meta-jasperforest: new layer for Xeon C5500/C3500 + Intel 3420 This layer provides support for Jasper Forest + Ibex Peak Intel systems. 'Jasper Forest' refers to the Intel Xeon C5500/C3500 processors, which combined with the Intel 3420 PCH chipset (Ibex Peak) make up the 'Picket Post' CRB this BSP was developed on. This BSP also makes use of the grub2 and associated live-install changes in meta-intel/common. Signed-off-by: Tom Zanussi --- meta-jasperforest/COPYING.MIT | 17 +++++ meta-jasperforest/README | 85 ++++++++++++++++++++++ meta-jasperforest/binary/.gitignore | 0 meta-jasperforest/conf/layer.conf | 12 +++ meta-jasperforest/conf/machine/jasperforest.conf | 54 ++++++++++++++ .../formfactor/formfactor/jasperforest/machconfig | 3 + .../recipes-bsp/formfactor/formfactor_0.0.bbappend | 3 + .../xserver-xf86-config/jasperforest/xorg.conf | 32 ++++++++ .../xorg-xserver/xserver-xf86-config_0.1.bbappend | 3 + .../xserver-xf86-dri-lite_1.9.3.bbappend | 1 + .../linux/linux-yocto-stable_git.bbappend | 5 ++ .../recipes-kernel/linux/linux-yocto_git.bbappend | 6 ++ 12 files changed, 221 insertions(+) create mode 100644 meta-jasperforest/COPYING.MIT create mode 100644 meta-jasperforest/README create mode 100644 meta-jasperforest/binary/.gitignore create mode 100644 meta-jasperforest/conf/layer.conf create mode 100644 meta-jasperforest/conf/machine/jasperforest.conf create mode 100644 meta-jasperforest/recipes-bsp/formfactor/formfactor/jasperforest/machconfig create mode 100644 meta-jasperforest/recipes-bsp/formfactor/formfactor_0.0.bbappend create mode 100644 meta-jasperforest/recipes-graphics/xorg-xserver/xserver-xf86-config/jasperforest/xorg.conf create mode 100644 meta-jasperforest/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend create mode 100644 meta-jasperforest/recipes-graphics/xorg-xserver/xserver-xf86-dri-lite_1.9.3.bbappend create mode 100644 meta-jasperforest/recipes-kernel/linux/linux-yocto-stable_git.bbappend create mode 100644 meta-jasperforest/recipes-kernel/linux/linux-yocto_git.bbappend diff --git a/meta-jasperforest/COPYING.MIT b/meta-jasperforest/COPYING.MIT new file mode 100644 index 00000000..fb950dc6 --- /dev/null +++ b/meta-jasperforest/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-jasperforest/README b/meta-jasperforest/README new file mode 100644 index 00000000..ab7246d9 --- /dev/null +++ b/meta-jasperforest/README @@ -0,0 +1,85 @@ +This README file contains information on building the +meta-jasperforest BSP layer, and booting the images contained in the +/binary directory. Please see the corresponding sections below for +details. + +'Jasper Forest' refers to the Intel Xeon C5500/C3500 processors, which +combined with the Intel 3420 PCH chipset (Ibex Peak) make up the +'Picket Post' CRB this BSP was developed on. + + +Table of Contents +================= + + I. Building the meta-jasperforest BSP layer + II. Booting the images in /binary + + +I. Building the meta-jasperforest BSP layer +======================================= + +For each BSP in the 'meta-intel' repository, there are multiple +branches, one corresponding to each major release starting with +'laverne' (0.90), in addition to the latest code which tracks the +current master. + +In order to build an image with BSP support for a given release, you +need to check out the 'meta-intel' branch corresponding to the release +you're building against e.g. to build for laverne (0.90), check out +the 'laverne' branch of both poky and 'meta-intel'. + +Having done that, and assuming you cloned the 'meta-intel' repository +at the top-level of your yocto build tree, you can build a jasperforest +image by adding the location of the meta-jasperforest layer to +bblayers.conf e.g.: + + yocto/meta-intel/meta-jasperforest \ + +To enable the jasperforest layer, add the jasperforest MACHINE to local.conf: + + MACHINE ?= "jasperforest" + +You should then be able to build a jasperforest image as such: + + $ source poky-init-build-env + $ bitbake poky-image-sato-live + +At the end of a successful build, you should have a live image that +you can boot from a USB flash drive (see instructions on how to do +that below, in the section 'Booting the images from /binary'). + + +II. Booting the images in /binary +================================= + +This BSP contains bootable live images, which can be used to directly +boot Yocto off of a USB flash drive. + +Under Linux, insert a USB flash drive. Assuming the USB flash drive +takes device /dev/sdf, use dd to copy the live image to it. For +example: + +# dd if=poky-image-sato-live-jasperforest-20101207053738.hddimg of=/dev/sdf +# sync +# eject /dev/sdf + +This should give you a bootable USB flash device. Insert the device +into a bootable USB socket on the target, and power on. This should +result in a system booted to the Sato graphical desktop. + +If you want a terminal, use the arrows at the top of the UI to move to +different pages of available applications, one of which is named +'Terminal'. Clicking that should give you a root terminal. + +If you want to ssh into the system, you can use the root terminal to +ifconfig the IP address and use that to ssh in. The root password is +empty, so to log in type 'root' for the user name and hit 'Enter' at +the Password prompt: and you should be in. + +---- + +If you find you're getting corrupt images on the USB (it doesn't show +the syslinux boot: prompt, or the boot: prompt contains strange +characters), try doing this first: + +# dd if=/dev/zero of=/dev/sdf bs=1M count=512 diff --git a/meta-jasperforest/binary/.gitignore b/meta-jasperforest/binary/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/meta-jasperforest/conf/layer.conf b/meta-jasperforest/conf/layer.conf new file mode 100644 index 00000000..564bb1d8 --- /dev/null +++ b/meta-jasperforest/conf/layer.conf @@ -0,0 +1,12 @@ +# 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 \ + ${LAYERDIR}/../common/recipes-*/*/*.bb \ + ${LAYERDIR}/../common/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS_jasperforest += "jasperforest" +BBFILE_PATTERN_jasperforest := "^${LAYERDIR}/" +BBFILE_PRIORITY_jasperforest = "6" diff --git a/meta-jasperforest/conf/machine/jasperforest.conf b/meta-jasperforest/conf/machine/jasperforest.conf new file mode 100644 index 00000000..5c2e9bc4 --- /dev/null +++ b/meta-jasperforest/conf/machine/jasperforest.conf @@ -0,0 +1,54 @@ +#@TYPE: Machine +#@NAME: jasperforest + +#@DESCRIPTION: Machine configuration for Jasper Forest Picket Post +# systems i.e. Xeon C5500/C3500 + Intel 3420 chipset (Ibex Peak) + +TARGET_ARCH = "x86_64" +PACKAGE_EXTRA_ARCHS = "x86 xeon" + +BASE_PACKAGE_ARCH="xeon" + +MACHINE_FEATURES = "kernel26 screen keyboard pci usbhost ext2 ext3 x86 \ + acpi serial usbgadget" + +KERNEL_IMAGETYPE = "bzImage" + +PREFERRED_PROVIDER_virtual/kernel = "linux-yocto" +PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-yocto" + +PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-trim" +PREFERRED_PROVIDER_virtual/libgl ?= "mesa-dri" +PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-dri-lite" +PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-dri-lite" +XSERVER ?= "xserver-xf86-dri-lite \ + xf86-input-mouse \ + xf86-input-keyboard \ + xf86-input-evdev \ + xf86-input-synaptics \ + xf86-video-vesa" + +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" + +MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "grub" +PREFERRED_VERSION_grub ?= "1.98" + +TARGET_CC_ARCH = "-m64" + +SRCREV_machine_pn-linux-yocto_jasperforest ?= "a6dd773a94336c7bbdfd02f8a6a647d034f84821" +SRCREV_meta_pn-linux-yocto_jasperforest ?= "5806e601595ff3db7655f14b3d720433072eb656" + +SRCREV_machine_pn-linux-yocto-stable_jasperforest ?= "aae69fdf104b0a9d7b3710f808aac6ab303490f7" +SRCREV_meta_pn-linux-yocto-stable_jasperforest ?= "50ccd2b3213b6a1bacb3f898c035119802dac420" + diff --git a/meta-jasperforest/recipes-bsp/formfactor/formfactor/jasperforest/machconfig b/meta-jasperforest/recipes-bsp/formfactor/formfactor/jasperforest/machconfig new file mode 100644 index 00000000..ffce0122 --- /dev/null +++ b/meta-jasperforest/recipes-bsp/formfactor/formfactor/jasperforest/machconfig @@ -0,0 +1,3 @@ +# Assume a USB mouse and keyboard are connected +HAVE_TOUCHSCREEN=0 +HAVE_KEYBOARD=1 diff --git a/meta-jasperforest/recipes-bsp/formfactor/formfactor_0.0.bbappend b/meta-jasperforest/recipes-bsp/formfactor/formfactor_0.0.bbappend new file mode 100644 index 00000000..4a41d487 --- /dev/null +++ b/meta-jasperforest/recipes-bsp/formfactor/formfactor_0.0.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS := "${THISDIR}/${PN}" + +PRINC = "1" diff --git a/meta-jasperforest/recipes-graphics/xorg-xserver/xserver-xf86-config/jasperforest/xorg.conf b/meta-jasperforest/recipes-graphics/xorg-xserver/xserver-xf86-config/jasperforest/xorg.conf new file mode 100644 index 00000000..ca14a0c4 --- /dev/null +++ b/meta-jasperforest/recipes-graphics/xorg-xserver/xserver-xf86-config/jasperforest/xorg.conf @@ -0,0 +1,32 @@ +#Section "Device" +# Identifier "Volari Z11" +# Driver "xgi" +#EndSection + +Section "Device" + Identifier "Generic VESA" + Driver "vesa" +EndSection + +Section "Monitor" + Identifier "Generic Monitor" + Option "DPMS" +EndSection + +Section "Screen" + Identifier "Default Screen" +# Device "Volari Z11" + Device "Generic VESA" + Monitor "Generic Monitor" + DefaultDepth 24 +EndSection + +Section "ServerLayout" + Identifier "Default Layout" + Screen "Default Screen" +EndSection + +Section "ServerFlags" + Option "DontZap" "0" + Option "AutoAddDevices" "False" +EndSection diff --git a/meta-jasperforest/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend b/meta-jasperforest/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend new file mode 100644 index 00000000..4b8d0e65 --- /dev/null +++ b/meta-jasperforest/recipes-graphics/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-jasperforest/recipes-graphics/xorg-xserver/xserver-xf86-dri-lite_1.9.3.bbappend b/meta-jasperforest/recipes-graphics/xorg-xserver/xserver-xf86-dri-lite_1.9.3.bbappend new file mode 100644 index 00000000..b2808ef2 --- /dev/null +++ b/meta-jasperforest/recipes-graphics/xorg-xserver/xserver-xf86-dri-lite_1.9.3.bbappend @@ -0,0 +1 @@ +EXTRA_OECONF += "--enable-dga" diff --git a/meta-jasperforest/recipes-kernel/linux/linux-yocto-stable_git.bbappend b/meta-jasperforest/recipes-kernel/linux/linux-yocto-stable_git.bbappend new file mode 100644 index 00000000..066776b3 --- /dev/null +++ b/meta-jasperforest/recipes-kernel/linux/linux-yocto-stable_git.bbappend @@ -0,0 +1,5 @@ +FILESEXTRAPATHS := "${THISDIR}/${PN}" + +COMPATIBLE_MACHINE_jasperforest = "jasperforest" +KMACHINE_jasperforest = "jasperforest" + diff --git a/meta-jasperforest/recipes-kernel/linux/linux-yocto_git.bbappend b/meta-jasperforest/recipes-kernel/linux/linux-yocto_git.bbappend new file mode 100644 index 00000000..988c9694 --- /dev/null +++ b/meta-jasperforest/recipes-kernel/linux/linux-yocto_git.bbappend @@ -0,0 +1,6 @@ +FILESEXTRAPATHS := "${THISDIR}/${PN}" + +COMPATIBLE_MACHINE_jasperforest = "jasperforest" + +KMACHINE_jasperforest = "yocto/standard/common-pc-64/jasperforest" + -- cgit v1.2.3-54-g00ecf