mirror of
git://git.yoctoproject.org/meta-intel
synced 2026-01-01 13:58:05 +00:00
From linux-yocto-4.1:
403eda4 usb: musb: set the controller speed based on the config setting
ecc9834 powerpc/ptrace: Fix out of bounds array access warning
040cde2 Merge branch 'ltsi' into standard/base
655dd8b Merge tag 'v4.1.24' into ltsi
46ff843 Merge branch 'ltsi' into standard/base
05e1589 Merge tag 'v4.1.23' into ltsi
648d744 Linux 4.1.24
8e8ad4a x86 EDAC, sb_edac.c: Repair damage introduced when "fixing" channel address
936d087 x86/mm/xen: Suppress hugetlbfs in PV guests
5a1b2748 s390/hugetlb: add hugepages_supported define
ec8d850 mm: hugetlb: allow hugepages_supported to be architecture specific
b9a11c9 drm: Loongson-3 doesn't fully support wc memory
2719d3c drm/radeon: forbid mapping of userptr bo through radeon device file
8361444 drm/dp/mst: Validate port in drm_dp_payload_send_msg()
faaa136 ALSA: pcxhr: Fix missing mutex unlock
28f83d2 futex: Handle unlock_pi race gracefully
6024877a ALSA: hda - add PCI ID for Intel Broxton-T
c58ef78 ALSA: hda - add PCI IDs for Intel Broxton
0763ce1 usb: gadget: f_fs: Fix use-after-free
18e7c4b Revert "drm/radeon: disable runtime pm on PX laptops without dGPU power control"
13865e4 drm/radeon: add a quirk for a XFX R9 270X
9df249b drm/radeon: add another R7 370 quirk
e388075 drm/radeon: add quirk for ASUS R7 370
95a5fa7 drm/radeon: add quirk for MSI R7 370
90a6cf6 powerpc: Update cpu_user_features2 in scan_features()
85f0cb0 powerpc: scan_features() updates incorrect bits for REAL_LE
38caded ALSA: hda/realtek - Add ALC3234 headset mode for Optiplex 9020m
b34e6a4 drm/i915: Use fw_domains_put_with_fifo() on HSW
3fa5e41 crypto: ccp - Prevent information leakage on export
f6a9379 crypto: sha1-mb - use corrcet pointer while completing jobs
56c61a3 pinctrl: mediatek: correct debounce time unit in mtk_gpio_set_debounce
6e39cdf drm/radeon: fix initial connector audio value
2c8c83f nl80211: check netlink protocol in socket release notification
3254e46 netlink: don't send NETLINK_URELEASE for unbound sockets
9a447b1 s390/pci: add extra padding to function measurement block
464508b Input: gtco - fix crash on detecting device without endpoints
fdfdfc7 iwlwifi: pcie: lower the debug level for RSA semaphore access
183c7c8 Revert "mei: bus: move driver api functions at the start of the file"
54419e3 Linux 4.1.23
5640c4c Correct backport of fa3c776 ("Thermal: Ignore invalid trip points")
af05df0 tcp_cubic: do not set epoch_start in the future
1d155a6 tcp_cubic: better follow cubic curve after idle period
b016f99 usb: hcd: out of bounds access in for_each_companion
17c094b USB: uas: Add a new NO_REPORT_LUNS quirk
c5fcfe5 xhci: fix 10 second timeout on removal of PCI hotpluggable xhci controllers
5d0b7d4 usb: xhci: fix xhci locking up during hcd remove
bd713f9 usb: xhci: fix wild pointers in xhci_mem_cleanup
1edb54d usb: host: xhci: add a new quirk XHCI_NO_64BIT_SUPPORT
52b5bfb xhci: resume USB 3 roothub first
d49e9fc usb: xhci: applying XHCI_PME_STUCK_QUIRK to Intel BXT B0 host
da56dbe lib: lz4: fixed zram with lz4 on big endian machines
bd58e66 dmaengine: dw: fix master selection
6650ec2 debugfs: Make automount point inodes permanently empty
a789498 ALSA: usb-audio: Skip volume controls triggers hangup on Dell USB Dock
330d83a ALSA: hda/realtek - Enable the ALC292 dock fixup on the Thinkpad T460s
b2eecde ALSA: hda - fix front mic problem for a HP desktop
da3bd14 kvm: x86: do not leak guest xcr0 into host interrupt handlers
e213cce parisc: Unbreak handling exceptions from kernel modules
9ccccaf parisc: Fix kernel crash with reversed copy_from_user()
073cac9 parisc: Avoid function pointers for kernel exception routines
7227a0d gpio: pca953x: Use correct u16 value for register word write
0ffbec8 virtio: virtio 1.0 cs04 spec compliance for reset
e649832 USB: option: add "D-Link DWM-221 B1" device id
ad66059 USB: serial: cp210x: Adding GE Healthcare Device ID
2e007c6 USB: serial: ftdi_sio: Add support for ICP DAS I-756xU devices
033ad03 Btrfs: fix file/data loss caused by fsync after rename and new inode
091537b Btrfs: fix fsync after truncate when no_holes feature is enabled
db4043d Btrfs: fix fsync xattr loss in the fast fsync path
32d1b67 assoc_array: don't call compare_object() on a node
7ec8046 ALSA: usb-audio: Add a quirk for Plantronics BT300
54080a7 rbd: use GFP_NOIO consistently for request allocations
9b561b8 compiler-gcc: disable -ftracer for __noclone functions
f320793 compiler-gcc: integrate the various compiler-gcc[345].h files
d2bccdc mac80211: properly deal with station hashtable insert errors
e4ad83b drm/i915: Fix race condition in intel_dp_destroy_mst_connector()
fc72648 drm/i915: Update atomic state when removing mst connector, v3.
2d6e463 dmaengine: hsu: correct use of channel status register
be851fa usb: renesas_usbhs: fix to avoid using a disabled ep in usbhsg_queue_done()
4139171 xen/events: Mask a moving irq
fc4d092 ALSA: usb-audio: Add a sample rate quirk for Phoenix Audio TMX320
c1f5eb6 ext4: ignore quota mount options if the quota feature is enabled
cc15762 KVM: x86: Inject pending interrupt even if pending nmi exist
031b34d ext4: add lockdep annotations for i_data_sem
9dcc54b sd: Fix excessive capacity printing on devices with blocks bigger than 512 bytes
6175a5a [media] au0828: Fix dev_state handling
ec91cea [media] au0828: fix au0828_v4l2_close() dev_state race condition
15f5722 USB: digi_acceleport: do sanity checking for the number of ports
45f4b9c USB: cypress_m8: add endpoint sanity check
4b8d00f USB: mct_u232: add sanity checking in probe
6b659bb drm/qxl: fix cursor position with non-zero hotspot
5c05999 usb: renesas_usbhs: disable TX IRQ before starting TX DMAC transfer
250443d usb: renesas_usbhs: avoid NULL pointer derefernce in usbhsf_pkt_handler()
071072e ARM: OMAP2+: hwmod: Fix updating of sysconfig register
8db1fb6 HID: usbhid: fix inconsistent reset/resume/reset-resume behavior
From yocto-kernel-cache:
4b4199b Revert "common-pc*: Have *-standard BSPs use standard/intel"
Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
|
||
|---|---|---|
| common | ||
| conf | ||
| meta-isg | ||
| meta-tlk | ||
| scripts/lib/wic/canned-wks | ||
| MAINTAINERS | ||
| README | ||
| README.sources | ||
meta-intel
==========
This README file contains information on building and booting
meta-intel BSP layers. Please see the corresponding sections below
for details.
Yocto Project Compatible
========================
The BSPs contained in this layer are compatible with the Yocto Project
as per the requirements listed here:
https://www.yoctoproject.org/webform/yocto-project-compatible-registration
Dependencies
============
This layer depends on:
URI: git://git.openembedded.org/bitbake
branch: master
URI: git://git.openembedded.org/openembedded-core
layers: meta
branch: master
URI: git://git.yoctoproject.org/meta-intel
layers: intel
branch: master
Table of Contents
=================
I. Overview
II. Building and booting meta-intel BSP layers
a. Building the intel-common and quark BSP layers
b. Booting the intel-common BSP images
c. Booting the intel-quark BSP image on a Galileo board
III. Technical Miscellany
The intel-common kernel package architecture
Intel-specific machine features
IV. Tested Hardware
V. Guidelines for submitting patches
I. Overview
===========
This is the location for Intel-maintained BSPs.
For details on the intel-common and intel-quark BSPs, see the
information below.
For all others, please see the README files contained in the
individual BSP layers for BSP-specific information.
If you have problems with or questions about a particular BSP, please
contact the maintainer listed in the MAINTAINERS file directly (cc:ing
the Yocto mailing list puts it in the archive and helps other people
who might have the same questions in the future), but please try to do
the following first:
- look in the Yocto Project Bugzilla
(http://bugzilla.yoctoproject.org/) to see if a problem has
already been reported
- look through recent entries of the meta-intel
(https://lists.yoctoproject.org/pipermail/meta-intel/) and Yocto
(https://lists.yoctoproject.org/pipermail/yocto/) mailing list
archives to see if other people have run into similar problems or
had similar questions answered.
If you believe you have encountered a bug, you can open a new bug and
enter the details in the Yocto Project Bugzilla
(http://bugzilla.yoctoproject.org/). If you're relatively certain
that it's a bug against the BSP itself, please use the 'Yocto Project
Components: BSPs | meta-intel' category for the bug; otherwise, please
submit the bug against the most likely category for the problem - if
you're wrong, it's not a big deal and the bug will be recategorized
upon triage.
II. Building and booting meta-intel BSP layers
==============================================
The following sections contain information on building and booting the
BSPs contained in the meta-intel layer.
Note that these instructions specifically cover the intel-common and
quark BSPs, which may or may not be applicable to other BSPs contained
in this layer - if a given BSP contains its own README, that version
should be used instead, and these instructions can be ignored.
a. Building the intel-common and quark BSP layers
-------------------------------------------------
In order to build an image with BSP support for a given release, you
need to download the corresponding BSP tarball from the 'Board Support
Package (BSP) Downloads' page of the Yocto Project website (or
equivalently, check out the appropriate branch from the meta-intel git
repository, see below). For the intel-common and quark BSPs, those
tarballs would correspond to the following choices in the BSP
downloads section:
- Intel-core2-32 Intel® Common Core BSP (Intel-core2-32)
- Intel-core2-32 Intel® Common Core BSP (Intel-quark)
- Intel-corei7-64 Intel® Common Core BSP (Intel-corei7-64)
The intel-* BSPs, also known as the intel-common BSPs, provide a few
carefully selected tune options and generic hardware support to cover
the majority of current Intel CPUs and devices. The naming follows the
convention of intel-<TUNE>-<BITS>, where TUNE is the gcc cpu-type
(used with mtune and march typically) and BITS is either 32 bit or 64
bit.
Having done that, and assuming you extracted the BSP tarball contents
at the top-level of your yocto build tree, you can build a BSP image
by adding the location of the meta-intel layer to bblayers.conf e.g.:
yocto/meta-intel \
To enable a particular machine, you need to add a MACHINE line naming
the BSP to the local.conf file:
MACHINE ?= "xxx"
where 'xxx' is replaced by one of the following BSP names:
- intel-core2-32
This BSP is optimized for the Core2 family of CPUs as well as all
Atom CPUs prior to the Silvermont core.
- intel-corei7-64
This BSP is optimized for Nehalem and later Core and Xeon CPUs as
well as Silvermont and later Atom CPUs, such as the Baytrail SoCs.
- intel-quark
This BSP is optimized for Quark-based systems.
You should then be able to build an image as such:
$ source oe-init-build-env
$ bitbake core-image-sato
At the end of a successful build, you should have a live image that
you can boot from a USB flash drive (see instructions on how to do
that below, in the section 'Booting the intel-common BSP images').
As an alternative to downloading the BSP tarball, you can also work
directly from the meta-intel git repository. For each BSP in the
'meta-intel' repository, there are multiple branches, one
corresponding to each major release starting with 'laverne' (0.90), in
addition to the latest code which tracks the current master (note that
not all BSPs are present in every release). Instead of extracting
a BSP tarball at the top level of your yocto build tree, you can
equivalently check out the appropriate branch from the meta-intel
repository at the same location.
b. Booting the intel-common BSP images
--------------------------------------
If you downloaded the BSP tarball, you will find bootable images in
the /binary directory. If you've built your own image, either from
the downloaded BSP layer or from the meta-intel git repository, you'll
find the bootable image in the build/tmp/deploy/images/xxx directory,
where again 'xxx' refers to the machine name used in the build.
The BSP /binary directory or build contains bootable live images,
which can be used to directly boot Yocto off of a USB flash drive.
Under Linux, insert a USB flash drive. Assuming the USB flash drive
takes device /dev/sdf, use dd to copy the live image to it. For
example:
# dd if=core-image-sato-intel-corei7-64.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
c. Booting the intel-quark BSP image on a Galileo board
-------------------------------------------------------
If you downloaded the BSP tarball, you will find bootable images in
the /binary directory. If you've built your own image, either from
the downloaded BSP layer or from the meta-intel git repository, you'll
find the bootable image in the build/tmp/deploy/images/xxx directory,
where again 'xxx' refers to the machine name used in the build.
The Galileo board boots off of an SD card that has a special disk
layout. The 'wic' tool can be used to create an SD card adhering to
that format via the following steps.
If you haven't already, you need to build parted-native. (You will get
an error message when running the wic script if you haven't.)
$ bitbake parted-native
Use the wic script to create an SD card image:
$ wic list images
mkgalileodisk Create an Galileo Gen 1/2 disk image
mkgummidisk Create an EFI disk image
Assuming you want to boot the 'core-image-minimal' image:
$ wic create mkgalileodisk -e core-image-minimal
If successful, the wic script generates the image and prints its location:
Info: The new image(s) can be found here:
/var/tmp/wic/build/mkgalileodisk-201604211444-mmcblk0.direct
...
Write the output image to an SD Card
$ sudo dd if=/path/to/image/mkgalileodisk-*-mmcblk0.direct of=/dev/your_sd_dev
Insert the SD Card into the reference platform and power on.
III. Technical Miscellany
=========================
The intel-common kernel package architecture
--------------------------------------------
These BSPs use what we call the intel-common Linux kernel package
architecture. This includes core2-32-intel-common and
corei7-64-intel-common. These kernel packages can also be used by any
of the BSPs in meta-intel that choose to include the
intel-common-pkgarch.inc file.
To minimize the proliferation of vendor trees, reduce the sources we
must support, and consolidate QA efforts, all BSP maintainers are
encouraged to make use of the intel-common Linux kernel package
architecture.
Intel-specific machine features
-------------------------------
The meta-intel layer makes some additional machine features available
to BSPs. These machine features can be used in a BSP layer in the
same way that machine features are used in other layers based on
oe-core, via the MACHINE_FEATURES variable.
Requirements
++++++++++++
The meta-intel-specific machine features are only available to a BSP
when the meta-intel layer is included in the build configuration, and
the meta-intel.inc file is included in the machine configuration of
that BSP.
To make these features available for your machine, you will need to:
1. include a configuration line such as the below in bblayers.conf
BBLAYERS += "<local path>/meta-intel"
2. include the following line in the machine configuration file
require conf/machine/include/meta-intel.inc
Once the above requirements are met, the machine features provided by
the meta-intel layer will be available for the BSP to use.
Available machine features
++++++++++++++++++++++++++
Currently, the meta-intel layer makes the following set of
Intel-specific machine features available:
* intel-ucode
These machine features can be included by listing them in the
MACHINE_FEATURES variable in the machine configuration file. For
example:
MACHINE_FEATURES += "intel-ucode"
Machine feature details
+++++++++++++++++++++++
* intel-ucode
This feature provides support for microcode updates to Intel
processors. The intel-ucode feature runs at early boot and uses
the microcode data file added by the feature into the BSP's
initrd. It also puts the userland microcode-updating tool,
iucode_tool, into the target images along with the microcode data
file.
Q. Why might a user want to enable the intel-ucode feature?
A. Intel releases microcode updates to correct processor behavior
as documented in the respective processor specification
updates. While the normal approach to getting such microcode
updates is via a BIOS upgrade, this can be an administrative
hassle and not always possible in the field. The intel-ucode
feature enables the microcode update capability present in the
Linux kernel. It provides an easy path for upgrading processor
microcode without the need to change the BIOS. If the feature
is enabled, it is also possible to update the existing target
images with a newer microcode update in the future.
Q. How would a user bundle only target-specific microcode in the
target image?
A. The Intel microcode data file released by Intel contains
microcode updates for multiple processors. If the BSP image is
meant to run on only a certain subset of processor types, a
processor-specific subset of microcode can be bundled into the
target image via the UCODE_FILTER_PARAMETERS variable. This
works by listing a sequence of iucode-tool parameters in the
UCODE_FILTER_PARAMETERS variable, which in this case will
select only the specific microcode relevant to the BSP. For
more information on the underlying parameters refer to the
iucode-tool manual page at http://manned.org/iucode-tool
To define a set of parameters for microcode-filtering via the
UCODE_FILTER_PARAMETERS variable, one needs to identify the
cpuid signatures of all the processors the BSP is meant to run
on. One way to determine the cpuid signature for a specific
processor is to build and run an intel-ucode-feature-enabled
image on the target hardware, without first assigning any value
to the UCODE_FILTER_PARAMETERS variable, and then once the
image is booted, run the "ucode_tool -S" command to have the
ucode tool scan the system for processor signatures. These
signatures can then be used in the UCODE_FILTER_PARAMETERS
variable in conjunction with -s parameter. For example, for
the fri2 BSP, the cpuid can be determined as such:
[root@fri2 ~]# iucode_tool -S
iucode_tool: system has processor(s) with signature 0x00020661
Given that output, a suitable UCODE_FILTER_PARAMETERS variable
definition could be specified in the machine configuration as
such:
UCODE_FILTER_PARAMETERS = "-s 0x00020661"
Q. Are there any reasons a user might want to disable the
intel-ucode feature?
A. The microcode data file and associated tools occupy a small
amount of space (a few KB) on the target image. BSPs which are
highly sensitive to target image size and which are not
experiencing microcode-related issues might consider not
enabling this feature.
IV. Tested Hardware
===================
Of the BSPs currently included in meta-intel, the following have
passed initial testing with the intel-common BSPs:
intel-corei7-64:
crystalforest-server
crystalforest-gladden
haswell-wc
nuc (Ivy Bridge and Haswell, manual audio config required)
sugarbay
intel-core2-32:
<currently under test>
If you are interested in a BSP not listed here, chances are we are
currently working on resolving some configuration issues with it.
Please check the bugzilla and check in with us on the meta-intel
mailing list.
V. Guidelines for submitting patches
====================================
Please submit any patches against meta-intel BSPs to the meta-intel
mailing list (meta-intel@yoctoproject.org). Also, if your patches are
available via a public git repository, please also include a URL to
the repo and branch containing your patches as that makes it easier
for maintainers to grab and test your patches.
There are patch submission scripts available that will, among other
things, automatically include the repo URL and branch as mentioned.
Please see the Yocto Project Development Manual sections entitled
'Using Scripts to Push a Change Upstream and Request a Pull' and
'Using Email to Submit a Patch' for details.
Regardless of how you submit a patch or patchset, the patches should
at minimum follow the suggestions outlined in the 'How to Submit a
Change' secion in the Yocto Project Development Manual. Specifically,
they should:
- Include a 'Signed-off-by:' line. A commit can't legally be pulled
in without this.
- Provide a single-line, short summary of the change. This short
description should be prefixed by the BSP or recipe name, as
appropriate, followed by a colon. Capitalize the first character
of the summary (following the colon).
- For the body of the commit message, provide detailed information
that describes what you changed, why you made the change, and the
approach you used.
- If the change addresses a specific bug or issue that is associated
with a bug-tracking ID, include a reference to that ID in your
detailed description in the following format: [YOCTO #<bug-id>].
- Pay attention to line length - please don't allow any particular
line in the commit message to stretch past 72 characters.
- For any non-trivial patch, provide information about how you
tested the patch, and for any non-trivial or non-obvious testing
setup, provide details of that setup.
Doing a quick 'git log' in meta-intel will provide you with many
examples of good example commits if you have questions about any
aspect of the preferred format.
The meta-intel maintainers will do their best to review and/or pull in
a patch or patchset within 24 hours of the time it was posted. For
larger and/or more involved patches and patchsets, the review process
may take longer.
Please see the meta-intel/MAINTAINERS file for the list of maintainers
and their specific areas; it's also a good idea to cc: the specific
maintainer, if applicable.