![]() Also has cache changes aimed towards -tiny improvements. From linux-yocto-4.8: 9bcb4ea Merge tag 'v4.8.17' into standard/base bfe90e3 Merge tag 'v4.8.16' into standard/base a2890822e Merge tag 'v4.8.15' into standard/base 6dcb022 Merge tag 'v4.8.14' into standard/base b6b578e Merge tag 'v4.8.13' into standard/base 3d8f8d0 Linux 4.8.17 adf363f drm/i915: skip the first 4k of stolen memory on everything >= gen8 000e612 drm/i915: Initialize dev_priv->atomic_cdclk_freq at init time 22aba47 drm/i915: Fix cdclk vs. dev_cdclk mess when not recomputing things 294bb34 drm/i915/dsi: Do not clear DPOUNIT_CLOCK_GATE_DISABLE from vlv_init_display_clock_gating 6a412ff drm/i915/dsi: Fix chv_exec_gpio disabling the GPIOs it is setting 4803ec2 net: mvpp2: fix dma unmapping of TX buffers for fragments 48f26ed sg_write()/bsg_write() is not fit to be called under KERNEL_DS d787c6b kconfig/nconf: Fix hang when editing symbol with a long prompt e141d1a target/user: Fix use-after-free of tcmu_cmds if they are expired 29f3d11 libnvdimm, pfn: fix align attribute 3a4e428 powerpc/ps3: Fix system hang with GCC 5 builds e451d67 powerpc/64e: Convert cmpi to cmpwi in head_64.S 0349fbe SUNRPC: fix refcounting problems with auth_gss messages. c513ade pNFS: Fix a deadlock between read resends and layoutreturn abb2903 pNFS: Clear NFS_LAYOUT_RETURN_REQUESTED when invalidating the layout stateid f061c76 pNFS: Don't clear the layout stateid if a layout return is outstanding 7de1b81 pNFS: On error, do not send LAYOUTGET until the LAYOUTRETURN has completed 8f5ff87 nfs_write_end(): fix handling of short copies 1678ada libceph: verify authorize reply on connect 1f93d1a PCI: Check for PME in targeted sleep state c75bc2b i40iw: Use correct src address in memcpy to rdma stats counters 7d0a6cf Input: drv260x - fix input device's parent assignment b784371 v4l: tvp5150: Add missing break in set control handler 4963b19 media: solo6x10: fix lockup by avoiding delayed register write 88bfde2 s5p-mfc: fix failure path of s5p_mfc_alloc_memdev() c3fe33d mn88473: fix chip id check on probe 84b2f66 mn88472: fix chip id check on probe 15d1d22 IB/cma: Fix a race condition in iboe_addr_get_sgid() 7b3721a IB/rxe: Fix a memory leak in rxe_qp_cleanup() 2a0aa77 IB/multicast: Check ib_find_pkey() return value 37d4adb IPoIB: Avoid reading an uninitialized member variable f079fc1 IB/mad: Fix an array index check e661b5d fgraph: Handle a case where a tracer ignores set_graph_notrace b2758da platform/x86: asus-nb-wmi.c: Add X45U quirk f61152e ftrace/x86_32: Set ftrace_stub to weak to prevent gcc from using short jumps to it 8569aad vsock/virtio: fix src/dst cid format 576ea9e fsnotify: Fix possible use-after-free in inode iteration on umount 43983ce kvm: nVMX: Allow L1 to intercept software exceptions (#BP and #OF) 9a5cf8c KVM: PPC: Book3S HV: Don't lose hardware R/C bit updates in H_PROTECT b751eb6 KVM: PPC: Book3S HV: Save/restore XER in checkpointed register state 0773e92 scsi: aacraid: remove wildcard for series 9 controllers b202064 md/raid5: limit request size according to implementation limits 4709034 sc16is7xx: Drop bogus use of IRQF_ONESHOT c33e1ab arm64: KVM: pmu: Reset PMSELR_EL0.SEL to a sane value before entering the guest d3d61bb s390/kexec: use node 0 when re-adding crash kernel memory 9652b62 s390/vmlogrdr: fix IUCV buffer allocation f356ab0 firmware: fix usermode helper fallback loading 5c98bf8 ARC: mm: arc700: Don't assume 2 colours for aliasing VIPT dcache cc328ce scsi: avoid a permanent stop of the scsi device's request queue 6d675df scsi: zfcp: fix rport unblock race with LUN recovery 057fe03 scsi: zfcp: do not trace pure benign residual HBA responses at default level 5cebfea scsi: zfcp: fix use-after-"free" in FC ingress path after TMF de8a06c iscsi-target: Return error if unable to add network portal 9c3928b scsi: megaraid_sas: Do not set MPI2_TYPE_CUDA for JBOD FP path for FW which does not support JBOD sequence map dbd4e6c scsi: megaraid_sas: For SRIOV enabled firmware, ensure VF driver waits for 30secs before reset 3863ab6 stm class: Fix device leak in open error path 698ac69 vt: fix Scroll Lock LED trigger name 6d8bb56 block: protect iterate_bdevs() against concurrent close 2695afd mei: me: add lewisburg device ids 7be0a5f mei: request async autosuspend at the end of enumeration dfc3c8a drivers/gpu/drm/ast: Fix infinite loop if read fails 0f95e4a drm/amdgpu: fix init save/restore list in gfx_v8.0 8bfa4f5 drm/gma500: Add compat ioctl 10b598d drm/radeon/si: load the proper firmware on 0x87 oland boards cdb7aaa drm/radeon: add additional pci revision to dpm workaround 1f884ec drm/radeon: Hide the HW cursor while it's out of bounds 6fb9422 drm/radeon: Also call cursor_move_locked when the cursor size changes 9c6fb7b drm/nouveau/fifo/gf100-: protect channel preempt with subdev mutex 2a7a437 drm/nouveau/i2c/gk110b,gm10x: use the correct implementation 28d1864 drm/nouveau/ttm: wait for bo fence to signal before unmapping vmas 82d9824 drm/nouveau/ltc: protect clearing of comptags with mutex ce71868 drm/nouveau/bios: require checksum to match for fast acpi shadow method 764e8e8 drm/nouveau/kms: lvds panel strap moved again on maxwell 00e1fb1 drm/nouveau/gr: fallback to legacy paths during firmware lookup fef5427 drm/amd/amdgpu: enable GUI idle INT after enabling CGCG bab5208 ACPI / video: Add force_native quirk for HP Pavilion dv6 b7eea51 ACPI / video: Add force_native quirk for Dell XPS 17 L702X ce81006 staging: comedi: ni_mio_common: fix E series ni_ai_insn_read() data 689d592 staging: comedi: ni_mio_common: fix M Series ni_ai_insn_read() data mask 823c5c9 hv: acquire vmbus_connection.channel_mutex in vmbus_free_channels() 235394e docs: sphinx-extensions: make rstFlatTable work with docutils 0.13 a26a016 thermal: hwmon: Properly report critical temperature in sysfs def2c87 clk: bcm2835: Avoid overwriting the div info when disabling a pll_div clk 2f885da arm64: tegra: Add VDD_GPU regulator to Jetson TX1 bd12562 gpio: chardev: Return error for seek operations 61d0b71 timekeeping_Force_unsigned_clocksource_to_nanoseconds_conversion 95d2a43 regulator: stw481x-vmmc: fix ages old enable error 52980ce mmc: sdhci: Fix recovery from tuning timeout 0ed0b25 ath9k: Really fix LED polarity for some Mini PCI AR9220 MB92 cards. d80ff7c ath9k: fix ath9k_hw_gpio_get() to return 0 or 1 on success 42e76c5 cfg80211/mac80211: fix BSS leaks when abandoning assoc attempts d2546f6 rtl8xxxu: Work around issue with 8192eu and 8723bu devices not reconnecting 2abcc02 perf/x86/intel/cstate: Prevent hotplug callback leak 7b9e1a1 perf/x86: Fix exclusion of BTS and LBR for Goldmont e24523a rtlwifi: Fix enter/exit power_save c9fce6b ssb: Fix error routine when fallback SPROM fails c65ed08 Linux 4.8.16 6458972 driver core: fix race between creating/querying glue dir and its cleanup f199bdb Revert "netfilter: move nat hlist_head to nf_conn" 99d6d4e Revert "netfilter: nat: convert nat bysrc hash to rhashtable" 7742256 arm64: mark reserved memblock regions explicitly in iomem 587e89b xfs: set AGI buffer type in xlog_recover_clear_agi_bucket 959e363 arm/xen: Use alloc_percpu rather than __alloc_percpu 6fbd3fb xen/gntdev: Use VM_MIXEDMAP instead of VM_IO to avoid NUMA balancing 883f12a tpm xen: Remove bogus tpm_chip_unregister 8419f52 kernel/debug/debug_core.c: more properly delay for secondary CPUs 63b33e0 watchdog: qcom: fix kernel panic due to external abort on non-linefetch bf902ea watchdog: mei_wdt: request stop on reboot to prevent false positive event 2f826a7 kernel/watchdog: use nmi registers snapshot in hardlockup handler bbf23f0 CIFS: Fix a possible memory corruption in push locks 9f1f507 CIFS: Fix missing nls unload in smb2_reconnect() ff04da3 CIFS: Fix a possible memory corruption during reconnect 6cb589c ASoC: intel: Fix crash at suspend/resume without card registration 769c092 dm space map metadata: fix 'struct sm_metadata' leak on failed create ab10ab0 dm raid: fix discard support regression 454b98d dm rq: fix a race condition in rq_completed() 26011e6 dm crypt: mark key as invalid until properly loaded bd5fcd1 dm flakey: return -EINVAL on interval bounds error in flakey_ctr() 1ca66d6 dm table: an 'all_blk_mq' table must be loaded for a blk-mq DM device d948d3b dm table: fix 'all_blk_mq' inconsistency when an empty table is loaded 45f6311 blk-mq: Do not invoke .queue_rq() for a stopped queue e3742a1 PM / OPP: Pass opp_table to dev_pm_opp_put_regulator() 8b63a92 usb: gadget: composite: always set ep->mult to a sensible value d4f4b2e mm, page_alloc: keep pcp count and list contents in sync if struct page is corrupted 0927d28 mm/vmscan.c: set correct defer count for shrinker 3e0ef1b nvmet: Fix possible infinite loop triggered on hot namespace removal 6290a3b loop: return proper error from loop_queue_rq() bf0f020 f2fs: fix overflow due to condition check order 154d83a f2fs: set ->owner for debugfs status file's file_operations 67e5239 Revert "f2fs: use percpu_counter for # of dirty pages in inode" d06eaf2 ext4: do not perform data journaling when data is encrypted e33673b ext4: return -ENOMEM instead of success 3664877 ext4: reject inodes with negative size 1bfcffb ext4: add sanity checking to count_overhead() 9689eb9 ext4: fix in-superblock mount options processing 52a9daa ext4: use more strict checks for inodes_per_block on mount 7505584 ext4: fix stack memory corruption with 64k block size 86efd99 ext4: fix mballoc breakage with 64k block size 8022387 crypto: caam - fix AEAD givenc descriptors ade692b ptrace: Capture the ptracer's creds not PT_PTRACE_CAP 23d179a vfs,mm: fix return value of read() at s_maxbytes e45692f mm: Add a user_ns owner to mm_struct and fix ptrace permission checks 04804d8 block_dev: don't test bdev->bd_contains when it is not stable 52d6972 fs: exec: apply CLOEXEC before changing dumpable task flags 781e976 exec: Ensure mm->user_ns contains the execed files fc1d3e5 btrfs: make file clone aware of fatal signals 8c59356 Btrfs: fix incremental send failure caused by balance 02fffa1 Btrfs: don't BUG() during drop snapshot 0f2e022 btrfs: fix a possible umount deadlock 65563ab Btrfs: fix memory leak in do_walk_down 364b85c btrfs: clean the old superblocks before freeing the device 6a6e927 Btrfs: don't leak reloc root nodes on error 4d3d9b5 Btrfs: return gracefully from balance if fs tree is corrupted a6522e4 Btrfs: bail out if block group has different mixed flag d7839ad Btrfs: fix memory leak in reading btree blocks 1a087cd clk: ti: omap36xx: Work around sprz319 advisory 2.1 2b96c4b ALSA: hda: when comparing pin configurations, ignore assoc in addition to seq dc8144f ALSA: hda - Gate the mic jack on HP Z1 Gen3 AiO 685c4db ALSA: hda - fix headset-mic problem on a Dell laptop b757fc0 ALSA: hda - ignore the assoc and seq when comparing pin configurations 38c6095 ALSA: hda/ca0132 - Add quirk for Alienware 15 R2 2016 5496ec4 ALSA: hiface: Fix M2Tech hiFace driver sampling rate change abf549a8 ALSA: usb-audio: Add QuickCam Communicate Deluxe/S7500 to volume_control_quirks 6b0a56e usbip: vudc: fix: Clear already_seen flag also for ep0 a9143e5 USB: UHCI: report non-PME wakeup signalling for Intel hardware 4422a269 usb: gadget: composite: correctly initialize ep->maxpacket be8f1c4 usb: gadget: f_uac2: fix error handling at afunc_bind 79d5a30 usb: hub: Fix auto-remount of safely removed or ejected USB-3 devices e3dfbc8 usb: dwc3: gadget: set PCM1 field of isochronous-first TRBs 269edae USB: cdc-acm: add device id for GW Instek AFG-125 741523f USB: serial: kl5kusb105: fix open error path f34b7e0 USB: serial: option: add dlink dwm-158 e47e81c USB: serial: option: add support for Telit LE922A PIDs 0x1040, 0x1041 3aa3cb94 Btrfs: fix qgroup rescan worker initialization 691ea6c Btrfs: fix emptiness check for dirtied extent buffers at check_leaf() 0695d8b btrfs: store and load values of stripes_min/stripes_max in balance status item 80f7d28 Btrfs: fix relocation incorrectly dropping data references f1b268d Btrfs: fix tree search logic when replaying directory entry deletes 65553a0 Btrfs: fix deadlock caused by fsync when logging directory entries 361e821 Btrfs: fix BUG_ON in btrfs_mark_buffer_dirty 562de9c btrfs: limit async_work allocation and worker func duration f080d70 aoe: fix crash in page count manipulation 8bba2e2 Linux 4.8.15 762c9bb crypto: rsa - Add Makefile dependencies to fix parallel builds 014e5a7 hotplug: Make register and unregister notifier API symmetric 3527ad0 batman-adv: Check for alloc errors when preparing TT local data 32ccd76 m68k: Fix ndelay() macro 9fc7a475 ceph: don't set req->r_locked_dir in ceph_d_revalidate a05f493 ARM: dts: imx7d: fix LCDIF clock assignment 798c825 ARM: dts: orion5x: fix number of sata port for linkstation ls-gl d271b9b Revert "ACPI: Execute _PTS before system reboot" 3ee9f16 can: peak: fix bad memory access and free sequence 212e0ff can: raw: raw_setsockopt: limit number of can_filter that can be set bdb5ed2 crypto: marvell - Don't corrupt state of an STD req for re-stepped ahash bfef274 crypto: mcryptd - Check mcryptd algorithm compatibility 86bea59 crypto: caam - fix pointer size for AArch64 boot loader, AArch32 kernel 666531ca crypto: marvell - Don't copy hash operation twice into the SRAM 04925ba acpi, nfit: fix bus vs dimm confusion in xlat_status 53ed7c2 acpi, nfit: validate ars_status output buffer size e04e2da acpi, nfit, libnvdimm: fix / harden ars_status output length handling 483ac14 acpi, nfit: fix extended status translations for ACPI DSMs 0525ceb perf/x86: Fix full width counter, counter overflow eceab1f vhost-vsock: fix orphan connection reset b0224f3 sched/autogroup: Fix 64-bit kernel nice level adjustment 2a47799 scsi: lpfc: fix oops/BUG in lpfc_sli_ringtxcmpl_put() ac65fe0 device-dax: fix private mapping restriction, permit read-only 2386c6b locking/rtmutex: Use READ_ONCE() in rt_mutex_owner() 7b2347c locking/rtmutex: Prevent dequeue vs. unlock race bed4eef zram: restrict add/remove attributes to root only 4fb7569 parisc: Fix TLB related boot crash on SMP machines b81e5db parisc: Remove unnecessary TLB purges from flush_dcache_page_asm and flush_icache_page_asm 7e8f68a parisc: Purge TLB before setting PTE 6e284445 fuse: fix clearing suid, sgid for chown() e70d6d2 powerpc/boot: Fix build failure in 32-bit boot wrapper a82ad49 powerpc/mm: Fix lazy icache flush on pre-POWER5 84b3628 powerpc/eeh: Fix deadlock when PE frozen state can't be cleared 7b8c57c Linux 4.8.14 1670d15 esp6: Fix integrity verification when ESN are used b3e9d49 esp4: Fix integrity verification when ESN are used be53394 flowcache: Increase threshold for refusing new allocations 3a116fa Revert: "ip6_tunnel: Update skb->protocol to ETH_P_IPV6 in ip6_tnl_xmit()" 6861828 ipv4: Set skb->protocol properly for local output e67bd82 ipv6: Set skb->protocol properly for local output 22d94c32 Don't feed anything but regular iovec's to blk_rq_map_user_iov e4a6c61 constify iov_iter_count() and iter_is_iovec() 907bc31 sparc32: Fix inverted invalid_frame_pointer checks on sigreturns 360e257 sparc64: fix compile warning section mismatch in find_node() 2f02dcb sparc64: Fix find_node warning if numa node cannot be found ad02ec7 ipv4: Drop suffix update from resize code 0b1c601 ipv4: Drop leaf from suffix pull/push functions cd8a6c0 ipv4: Fix memory leak in exception case for splitting tries a878037 ipv4: Restore fib_trie_flush_external function and fix call ordering 5ff5e5c net: ping: check minimum size on ICMP header length f818e5d net: avoid signed overflows for SO_{SND|RCV}BUFFORCE bfecf90 geneve: avoid use-after-free of skb->data 4daa2c7 tipc: check minimum bearer MTU 1ff3209 sh_eth: remove unchecked interrupts for RZ/A1 bbf913d net: bcmgenet: Utilize correct struct device for all DMA operations accb7c9 cdc_ether: Fix handling connection notification 3445754 ip6_offload: check segs for NULL in ipv6_gso_segment. cef222d packet: fix race condition in packet_set_ring 17941a9 GSO: Reload iph after pskb_may_pull ff0d787 net/dccp: fix use-after-free in dccp_invalid_packet 023cd33 net: macb: fix the RX queue reset in macb_rx() 25d9b4b netlink: Do not schedule work from sk_destruct f5dad34 netlink: Call cb->done from a worker thread 360d6a2 net/sched: pedit: make sure that offset is valid aa23936 net: dsa: fix unbalanced dsa_switch_tree reference counting 9a74792 net, sched: respect rcu grace period on cls destruction a9437eb net: dsa: bcm_sf2: Ensure we re-negotiate EEE during after link change ddf0534 udplite: call proper backlog handlers 7b0aa75 ipv6: bump genid when the IFA_F_TENTATIVE flag is clear 58c8cc3 rtnl: fix the loop index update error in rtnl_dump_ifinfo() 84df567 l2tp: fix racy SOCK_ZAPPED flag check in l2tp_ip{,6}_bind() 7f8b251 rtnetlink: fix FDB size computation c39caa8 af_unix: conditionally use freezable blocking calls in read bdc5c63 net: sky2: Fix shutdown crash a75684a ip6_tunnel: disable caching when the traffic class is inherited 1b079d5 net: check dead netns for peernet2id_alloc() 65dfc8b4 net: dsa: b53: Fix VLAN usage and how we treat CPU port f959eb5 virtio-net: add a missing synchronize_net() 8070f33 gro_cells: mark napi struct as not busy poll candidates 55d64c0 Linux 4.8.13 a4edb1a arm64: suspend: Reconfigure PSTATE after resume from idle 6353400 arm64: mm: Set PSTATE.PAN from the cpu_enable_pan() call b49b1ae arm64: cpufeature: Schedule enable() calls instead of calling them via IPI e4e77de batman-adv: Detect missing primaryif during tp_send as error f106de5 clk: sunxi: Fix M factor computation for APB1 9e2d9e9 perf/x86: Restore TASK_SIZE check on frame pointer ab34b42 drm/mediatek: fix null pointer dereference 43b5bb2 pwm: Fix device reference leak 6c69476 KVM: use after free in kvm_ioctl_create_device() ff8b06b arm64: dts: juno: fix cluster sleep state entry latency on all SoC versions f67b89a drm/radeon: fix check for port PM availability 835bb5c drm/amdgpu: fix check for port PM availability 972d595 drm/radeon: fix power state when port pm is unavailable (v2) be1b75e drm/amdgpu: fix power state when port pm is unavailable bd78c07 drm/i915: drop the struct_mutex when wedged or trying to reset 5dd86b6 drm/i915: Don't touch NULL sg on i915_gem_object_get_pages_gtt() error 05abe74 KVM: arm/arm64: vgic: Don't notify EOI for non-SPIs ca42bd3 mwifiex: printk() overflow with 32-byte SSIDs de9ba13 PCI: Set Read Completion Boundary to 128 iff Root Port supports it (_HPX) 4f48571 PCI: Export pcie_find_root_port 27dce9b mm: workingset: fix NULL ptr in count_shadow_nodes 60e3368 rcu: Fix soft lockup for rcu_nocb_kthread b6f9e23 Input: psmouse - disable automatic probing of BYD touchpads 6ca8ab7 Input: change KEY_DATA from 0x275 to 0x277 600bec2 ovl: fix d_real() for stacked fs 5661a69 mm: fix false-positive WARN_ON() in truncate/invalidate for hugetlb 48b6b50a kasan: update kasan_global for gcc 7 db04d35 zram: fix unbalanced idr management at hot removal 0100209 thp: fix corner case of munlock() of PTE-mapped THPs 08fd95d mm, thp: propagation of conditional compilation in khugepaged.c 76e59ec ARC: Don't use "+l" inline asm constraint b43fb9f ARC: mm: PAE40: Fix crash at munmap 8d1ee7b scsi: libfc: fix seconds_since_last_reset miscalculation 10e2627 scsi: hpsa: use bus '3' for legacy HBA devices e170c10 libata-scsi: Fixup ata_gen_passthru_sense() From yocto-kernel-cache: 7b320e0 kver: bump to v4.8.17 0da38d7 netfilter: iptables: enable NAT tables 9ca50a7 intel-quark: Remove support for serial-all 36398f9 features/usb/serial: Add new usb serial feature c7c50ce soc/x1000: Remove 'default policy' features f3f2e02 soc/x1000: Remove unnecessary features 485d1e7 soc/x1000: Remove bsp/common-pc/* 594e0eb meta/intel-common: Have intel-quark-tiny use common-drivers-32-essential ce9dc93 meta/intel-common: Add intel-common-drivers-32-essential feature 676cac5 meta: Add lto-debug feature 938d073 meta: Add lto-disable feature 23f39dc meta: Add lto (Link-Time Optimization) enablement feature 01ac4f6 netfilter: enable connection tracking for IPv6 926c93a net: export two patches from the ff branch. 392d801 rt: rt6 ---> rt7 249fe74 cryptodev: export patch from fast-fwd tree 2b87020 rt: rt5 --> rt6 a48fbfd stable: drop NFS patch now merged Signed-off-by: California Sullivan <california.l.sullivan@intel.com> |
||
---|---|---|
classes | ||
common | ||
conf | ||
documentation/rmc | ||
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--, 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.
Actually, Galileo board can boot off with an image in hddimg format from USB drives too. But only live-boot, no installation, is supported at this point. An image in hddimg format is generated when you build quark BSP. You can follow the procedure in II.b to use dd command to prepare your USB drive, then press F7 key as what board prompts when it boots. Galileo should show a boot option menu for you to choose the UEFI USB boot option for the drive to boot the system. If the board already passes this stage and show a grub boot menu, you can press 'c' key and then type "quit" in grub shell. The board should come back to the UEFI boot menu.
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:
- include a configuration line such as the below in bblayers.conf BBLAYERS += "/meta-intel"
- 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 #].
-
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.