mirror of
git://git.yoctoproject.org/meta-intel
synced 2026-01-01 13:58:05 +00:00
>From linux-yocto-4.4:
94e5bb3 Merge branch 'standard/base' into standard/intel/base
7d1401a Merge tag 'v4.4.20' into standard/base
d663231 Merge branch 'standard/base' into standard/intel/base
1856181 Merge tag 'v4.4.19' into standard/base
4df4a14 Merge branch 'standard/base' into standard/intel/base
a67e1ae uvesafb: provide option to specify timeout for task completion
2cb99de Linux 4.4.20
625ddb7 sysfs: correctly handle read offset on PREALLOC attrs
dde898f hwmon: (iio_hwmon) fix memory leak in name attribute
a2d9e40 ALSA: line6: Fix POD sysfs attributes segfault
d21befe ALSA: line6: Give up on the lock while URBs are released.
85db22a ALSA: line6: Remove double line6_pcm_release() after failed acquire.
37e16dc ACPI / SRAT: fix SRAT parsing order with both LAPIC and X2APIC present
a37b834 ACPI / sysfs: fix error code in get_status()
b0917f5 ACPI / drivers: replace acpi_probe_lock spinlock with mutex
0b21b21 ACPI / drivers: fix typo in ACPI_DECLARE_PROBE_ENTRY macro
fbde41f staging: comedi: ni_mio_common: fix wrong insn_write handler
b03ee3d staging: comedi: ni_mio_common: fix AO inttrig backwards compatibility
fd51408 staging: comedi: comedi_test: fix timer race conditions
bc93350 staging: comedi: daqboard2000: bug fix board type matching code
1b3b122 USB: serial: option: add WeTelecom 0x6802 and 0x6803 products
fed48a2 USB: serial: option: add WeTelecom WM-D200
201cb6d USB: serial: mos7840: fix non-atomic allocation in write path
e5d33f1 USB: serial: mos7720: fix non-atomic allocation in write path
6e0b5f8 USB: fix typo in wMaxPacketSize validation
8136b59 usb: chipidea: udc: don't touch DP when controller is in host mode
5ab968f USB: avoid left shift by -1
e879dae dmaengine: usb-dmac: check CHCR.DE bit in usb_dmac_isr_channel()
ac069de crypto: qat - fix aes-xts key sizes
71d27af crypto: nx - off by one bug in nx_of_update_msc()
9781b971 Input: i8042 - set up shared ps2_cmd_mutex for AUX ports
11dd037 Input: i8042 - break load dependency between atkbd/psmouse and i8042
d672017 Input: tegra-kbc - fix inverted reset logic
cc79d39 btrfs: properly track when rescan worker is running
f31d48a btrfs: waiting on qgroup rescan should not always be interruptible
104b0d1 fs/seq_file: fix out-of-bounds read
3e7c26d gpio: Fix OF build problem on UM
1337168 usb: renesas_usbhs: gadget: fix return value check in usbhs_mod_gadget_probe()
bbaf719 megaraid_sas: Fix probing cards without io port
7386f92 mpt3sas: Fix resume on WarpDrive flash cards
af88900 cdc-acm: fix wrong pipe type on rx interrupt xfers
d489412 i2c: cros-ec-tunnel: Fix usage of cros_ec_cmd_xfer()
d91c348 mfd: cros_ec: Add cros_ec_cmd_xfer_status() helper
e4878ef aacraid: Check size values after double-fetch from user
03551c8 ARC: Elide redundant setup of DMA callbacks
e44f5b5 ARC: Call trace_hardirqs_on() before enabling irqs
45a9450 ARC: use correct offset in pt_regs for saving/restoring user mode r25
413d587 ARC: build: Better way to detect ISA compatible toolchain
137f6ba drm/i915: fix aliasing_ppgtt leak
d6af5ab drm/amdgpu: record error code when ring test failed
2d4ab6c drm/amd/amdgpu: sdma resume fail during S4 on CI
2b26271 drm/amdgpu: skip TV/CV in display parsing
9c22155 drm/amdgpu: avoid a possible array overflow
65317db drm/amdgpu: fix amdgpu_move_blit on 32bit systems
4e9db9e drm/amdgpu: Change GART offset to 64-bit
6cb6e95 iio: fix sched WARNING "do not call blocking ops when !TASK_RUNNING"
15abaa0 sched/nohz: Fix affine unpinned timers mess
c3cf68e sched/cputime: Fix NO_HZ_FULL getrusage() monotonicity regression
51ed10c of: fix reference counting in of_graph_get_endpoint_by_regs
df4fe6f8 arm64: dts: rockchip: add reset saradc node for rk3368 SoCs
ed6625c mac80211: fix purging multicast PS buffer queue
1473e6a s390/dasd: fix hanging device after clear subchannel
07adb64 EDAC: Increment correct counter in edac_inc_ue_error()
b518b0c pinctrl/amd: Remove the default de-bounce time
d860213 iommu/arm-smmu: Don't BUG() if we find aborting STEs with disable_bypass
aef6295 iommu/arm-smmu: Fix CMDQ error handling
d360081 iommu/dma: Don't put uninitialised IOVA domains
433ccf1 xhci: Make sure xhci handles USB_SPEED_SUPER_PLUS devices.
1d816d0 USB: serial: ftdi_sio: add PIDs for Ivium Technologies devices
6d77ca3 USB: serial: ftdi_sio: add device ID for WICED USB UART dev board
8ed7b7d USB: serial: option: add support for Telit LE920A4
340391d USB: serial: option: add D-Link DWM-156/A3
697c84b USB: serial: fix memleak in driver-registration error path
c5a6d60 xhci: don't dereference a xhci member after removing xhci
262d059 usb: xhci: Fix panic if disconnect
76ba94f xhci: always handle "Command Ring Stopped" events
8fd5243 usb/gadget: fix gadgetfs aio support.
e9caf24 usb: gadget: fsl_qe_udc: off by one in setup_received_handle()
391738b USB: validate wMaxPacketValue entries in endpoint descriptors
365a5f4 usb: renesas_usbhs: Use dmac only if the pipe type is bulk
b8032e6 usb: renesas_usbhs: clear the BRDYSTS in usbhsg_ep_enable()
4a6eff8 USB: hub: change the locking in hub_activate
5221741 USB: hub: fix up early-exit pathway in hub_activate
7edabdd usb: hub: Fix unbalanced reference count/memory leak/deadlocks
dbb9fe1 usb: define USB_SPEED_SUPER_PLUS speed for SuperSpeedPlus USB3.1 devices
13af8c6 usb: dwc3: gadget: increment request->actual once
7dc7ec8 usb: dwc3: pci: add Intel Kabylake PCI ID
97b23f9 usb: misc: usbtest: add fix for driver hang
cb68ec1 usb: ehci: change order of register cleanup during shutdown
1614270 crypto: caam - defer aead_set_sh_desc in case of zero authsize
1595854 crypto: caam - fix echainiv(authenc) encrypt shared descriptor
e0a9e84 crypto: caam - fix non-hmac hashes
6722e24 genirq/msi: Make sure PCI MSIs are activated early
fd59f98 genirq/msi: Remove unused MSI_FLAG_IDENTITY_MAP
fcdcf97 um: Don't discard .text.exit section
5f00936 ACPI / CPPC: Prevent cpc_desc_ptr points to the invalid data
cd84d31 ACPI: CPPC: Return error if _CPC is invalid on a CPU
a3043ec mmc: sdhci-acpi: Reduce Baytrail eMMC/SD/SDIO hangs
0bbe334 PCI: Limit config space size for Netronome NFP4000
6bd24be PCI: Add Netronome NFP4000 PF device ID
2d8ffbf PCI: Limit config space size for Netronome NFP6000 family
657170e PCI: Add Netronome vendor and device IDs
c7308f6 PCI: Support PCIe devices with short cfg_size
d5537e9 NVMe: Don't unmap controller registers on reset
bb404d1 ALSA: hda - Manage power well properly for resume
47f972e libnvdimm, nd_blk: mask off reserved status bits
8f5b7e3 perf intel-pt: Fix occasional decoding errors when tracing system-wide
b4ddd78 vfio/pci: Fix NULL pointer oops in error interrupt setup handling
fa54eea virtio: fix memory leak in virtqueue_add()
9dddd02 parisc: Fix order of EREFUSED define in errno.h
4919b2a arm64: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO
602857f ALSA: usb-audio: Add quirk for ELP HD USB Camera
23d3998 ALSA: usb-audio: Add a sample rate quirk for Creative Live! Cam Socialize HD (VF0610)
93ed332 powerpc/eeh: eeh_pci_enable(): fix checking of post-request state
94e88c1 SUNRPC: allow for upcalls for same uid but different gss service
e3f2840 SUNRPC: Handle EADDRNOTAVAIL on connection failures
b529544 tools/testing/nvdimm: fix SIGTERM vs hotplug crash
77b0e10 uprobes/x86: Fix RIP-relative handling of EVEX-encoded instructions
ebabe4a x86/mm: Disable preemption during CR3 read+write
8ef7c21 hugetlb: fix nr_pmds accounting with shared page tables
8518474 Linux 4.4.19
cc48607 Documentation/module-signing.txt: Note need for version info if reusing a key
bc2318c module: Invalidate signatures on force-loaded modules
c6ec712 dm flakey: error READ bios during the down_interval
ef60c9a rtc: s3c: Add s3c_rtc_{enable/disable}_clk in s3c_rtc_setfreq()
74d55e5 lpfc: fix oops in lpfc_sli4_scmd_to_wqidx_distr() from lpfc_send_taskmgmt()
6b1f21a ACPI / EC: Work around method reentrancy limit in ACPICA for _Qxx
32b04db x86/platform/intel_mid_pci: Rework IRQ0 workaround
a57a55b PCI: Mark Atheros AR9485 and QCA9882 to avoid bus reset
23e0fce MIPS: hpet: Increase HPET_MIN_PROG_DELTA and decrease HPET_MIN_CYCLES
0b37e97 MIPS: Don't register r4k sched clock when CPUFREQ enabled
e86d99f MIPS: mm: Fix definition of R6 cache instruction
7bda3b1 SUNRPC: Don't allocate a full sockaddr_storage for tracing
7484fbe Input: elan_i2c - properly wake up touchpad on ASUS laptops
f5ba9a6 target: Fix ordered task CHECK_CONDITION early exception handling
51d8419 target: Fix max_unmap_lba_count calc overflow
f318588 target: Fix race between iscsi-target connection shutdown + ABORT_TASK
60ba156 target: Fix missing complete during ABORT_TASK + CMD_T_FABRIC_STOP
6492c1c target: Fix ordered task target_setup_cmd_from_cdb exception hang
8623120 iscsi-target: Fix panic when adding second TCP connection to iSCSI session
4056337 ubi: Fix race condition between ubi device creation and udev
79d6bc1 ubi: Fix early logging
752aaae ubi: Make volume resize power cut aware
2c00c21 of: fix memory leak related to safe_name()
fd8c10a IB/mlx4: Fix memory leak if QP creation failed
d057209 IB/mlx4: Fix error flow when sending mads under SRIOV
155c27dd IB/mlx4: Fix the SQ size of an RC QP
1d13a91 IB/IWPM: Fix a potential skb leak
9bb8073 IB/IPoIB: Don't update neigh validity for unresolved entries
041a825 IB/SA: Use correct free function
d1859e0 IB/mlx5: Return PORT_ERR in Active to Initializing tranisition
f868cae6 IB/mlx5: Fix post send fence logic
a25be0f IB/mlx5: Fix entries check in mlx5_ib_resize_cq
cbbfde0 IB/mlx5: Fix returned values of query QP
bae7400 IB/mlx5: Fix entries checks in mlx5_ib_create_cq
02773ea IB/mlx5: Fix MODIFY_QP command input structure
148a19e ALSA: hda - Fix headset mic detection problem for two dell machines
f39db7f ALSA: hda: add AMD Bonaire AZ PCI ID with proper driver caps
39d5054 ALSA: hda/realtek - Can't adjust speaker's volume on a Dell AIO
7e4a2f9 ALSA: hda: Fix krealloc() with __GFP_ZERO usage
4733b66 mm/hugetlb: avoid soft lockup in set_max_huge_pages()
7928de5 mtd: nand: fix bug writing 1 byte less than page size
0d30185 block: fix bdi vs gendisk lifetime mismatch
01daea9 block: add missing group association in bio-cloning functions
8660ead metag: Fix __cmpxchg_u32 asm constraint for CMP
84f8a24 ftrace/recordmcount: Work around for addition of metag magic but not relocations
cfb466b balloon: check the number of available pages in leak balloon
24cdeed drm/i915/dp: Revert "drm/i915/dp: fall back to 18 bpp when sink capability is unknown"
3b30197 drm/i915: Never fully mask the the EI up rps interrupt on SNB/IVB
794c90b drm/edid: Add 6 bpc quirk for display AEO model 0.
1df3e60 drm: Restore double clflush on the last partial cacheline
702117f drm/nouveau/fbcon: fix font width not divisible by 8
77f4249 drm/nouveau/gr/nv3x: fix instobj write offsets in gr setup
21f36ec drm/nouveau: check for supported chipset before booting fbdev off the hw
4cb6885 drm/radeon: support backlight control for UNIPHY3
f1cb5eb drm/radeon: fix firmware info version checks
9436828 drm/radeon: Poll for both connect/disconnect on analog connectors
ada3815 drm/radeon: add a delay after ATPX dGPU power off
4925cf1 drm/amdgpu/gmc7: add missing mullins case
672138e drm/amdgpu: fix firmware info version checks
3281d10 drm/amdgpu: Disable RPM helpers while reprobing connectors on resume
ca7eb0c drm/amdgpu: support backlight control for UNIPHY3
2c10a2c drm/amdgpu: Poll for both connect/disconnect on analog connectors
8f811d1 drm/amdgpu: add a delay after ATPX dGPU power off
bedd8d6 w1:omap_hdq: fix regression
4a3e88a netlabel: add address family checks to netlbl_{sock,req}_delattr()
225ecdb ARM: dts: sunxi: Add a startup delay for fixed regulator enabled phys
53eaa39 audit: fix a double fetch in audit_log_single_execve_arg()
c5612d4 iommu/amd: Update Alias-DTE in update_device_table()
df8eaed iommu/amd: Init unity mappings only for dma_ops domains
51e94ff iommu/amd: Handle IOMMU_DOMAIN_DMA in ops->domain_free call-back
28a5f4c iommu/vt-d: Return error code in domain_context_mapping_one()
bd78d81 iommu/exynos: Suppress unbinding to prevent system failure
fa89ad5 drm/i915: Don't complain about lack of ACPI video bios
37cbe5b nfsd: don't return an unhashed lock stateid after taking mutex
6dfc20b nfsd: Fix race between FREE_STATEID and LOCK
3d6562f nfs: don't create zero-length requests
4fa571e MIPS: KVM: Propagate kseg0/mapped tlb fault errors
e93dbb1 MIPS: KVM: Fix gfn range check in kseg0 tlb faults
f26fac1 MIPS: KVM: Add missing gfn range check
ed7e1dd MIPS: KVM: Fix mapped fault broken commpage handling
f48dd2d random: add interrupt callback to VMBus IRQ handler
529025b random: print a warning for the first ten uninitialized random users
f41fc0b random: initialize the non-blocking pool via add_hwgenerator_randomness()
adc58bf CIFS: Fix a possible invalid memory access in smb2_query_symlink()
04761744 cifs: fix crash due to race in hmac(md5) handling
36e6321 cifs: Check for existing directory when opening file with O_CREAT
a636a9b fs/cifs: make share unaccessible at root level mountable
564e0f8 jbd2: make journal y2038 safe
f2aa5d3 ARC: mm: don't loose PTE_SPECIAL in pte_modify()
3633bd8 remoteproc: Fix potential race condition in rproc_add
54c4ddc ovl: disallow overlayfs as upperdir
7a2cfda HID: uhid: fix timeout when probe races with IO
02808fd EDAC: Correct channel count limit
5c93b99 Bluetooth: Fix l2cap_sock_setsockopt() with optname BT_RCVMTU
663c260 spi: pxa2xx: Clear all RFT bits in reset_sccr1() on Intel Quark
3f32fd3 i2c: efm32: fix a failure path in efm32_i2c_probe()
31edf03 s5p-mfc: Add release callback for memory region devs
bddb687 s5p-mfc: Set device name for reserved memory region devs
fdec508 hp-wmi: Fix wifi cannot be hard-unblocked
fb76628 dm: set DMF_SUSPENDED* _before_ clearing DMF_NOFLUSH_SUSPENDING
1fe16ea sur40: fix occasional oopses on device close
f8ad7cb sur40: lower poll interval to fix occasional FPS drops to ~56 FPS
8dbd7a3 Fix RC5 decoding with Fintek CIR chipset
33201bc vb2: core: Skip planes array verification if pb is NULL
1758459 videobuf2-v4l2: Verify planes array in buffer dequeueing
9e416fa media: dvb_ringbuffer: Add memory barriers
ddc3519 media: usbtv: prevent access to free'd resources
43ef3b6 mfd: qcom_rpm: Parametrize also ack selector size
0f984405 mfd: qcom_rpm: Fix offset error for msm8660
695c69b intel_pstate: Fix MSR_CONFIG_TDP_x addressing in core_get_max_pstate()
e990e8b s390/cio: allow to reset channel measurement block
144941b KVM: nVMX: Fix memory corruption when using VMCS shadowing
6bd2820 KVM: VMX: handle PML full VMEXIT that occurs during event delivery
b9ab0b3 KVM: MTRR: fix kvm_mtrr_check_gfn_range_consistency page fault
4149006 KVM: PPC: Book3S HV: Save/restore TM state in H_CEDE
e1a90eb8 KVM: PPC: Book3S HV: Pull out TM state save/restore into separate procedures
be7acd2 arm64: mm: avoid fdt_check_header() before the FDT is fully mapped
6d894c3f arm64: dts: rockchip: fixes the gic400 2nd region size for rk3368
4c3b381 pinctrl: cherryview: prevent concurrent access to GPIO controllers
e5cf298 Bluetooth: hci_intel: Fix null gpio desc pointer dereference
0b3ff17 gpio: intel-mid: Remove potentially harmful code
4a27733 gpio: pca953x: Fix NBANK calculation for PCA9536
580b1bb tty/serial: atmel: fix RS485 half duplex with DMA
8af97d2 serial: samsung: Fix ERR pointer dereference on deferred probe
79b8ddb tty: serial: msm: Don't read off end of tx fifo
ec2fdbe arm64: Fix incorrect per-cpu usage for boot CPU
f4a6520 arm64: debug: unmask PSTATE.D earlier
a5a0958 arm64: kernel: Save and restore UAO and addr_limit on exception entry
4077ef4 USB: usbfs: fix potential infoleak in devio
97917f4 usb: renesas_usbhs: fix NULL pointer dereference in xfer_work()
3ab02b3 USB: serial: option: add support for Telit LE910 PID 0x1206
558b4ad usb: dwc3: fix for the isoc transfer EP_BUSY flag
09796e2 usb: quirks: Add no-lpm quirk for Elan
0927c5f usb: renesas_usbhs: protect the CFIFOSEL setting in usbhsg_ep_enable()
f1d7992 usb: f_fs: off by one bug in _ffs_func_bind()
bbd7cf3 usb: gadget: avoid exposing kernel stack
>From yocto-kernel-cache:
59290c5 uvesafb: provide option to specify timeout for task completion
Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
||
|---|---|---|
| classes | ||
| common | ||
| conf | ||
| documentation/rmc | ||
| 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 can boot off of either an SD card or USB storage
media that has a special disk layout. The 'wic' tool can be used to
create directly bootable images for either of the two formats 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
galileodisk-sd Create an Galileo Gen 1/2 disk image (SD card)
galileodisk-usb Create an Galileo Gen 1/2 disk image (USB Storage)
mkgummidisk Create an EFI disk image
Assuming you want to boot the 'core-image-minimal' image for SD card media:
$ wic create galileodisk-sd -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/galileodisk-sd-201604211444-mmcblk0.direct
...
Write the output image to an SD Card
$ sudo dd if=/path/to/image/galileodisk-sd-*-mmcblk0.direct of=/dev/your_sd_dev
Insert the SD Card into the reference platform and power on.
To create a direct-boot image for USB storage media, simply specify
galileodisk-usb instead of galileodisk-sd in the "wic create ..."
command, then write the output image to USB storage media and boot it.
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.