Intel® MPSS transition to Yocto - FAQ Revision 2.0

Intel® MPSS – FAQ on Yocto Transition

Disclaimer

INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.

A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS.

Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined". Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information.

The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.

Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.

Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm

Intel, Xeon, and Xeon Phi are trademarks of Intel Corporation in the U.S. and/or other countries.

*Other names and brands may be claimed as the property of others.

Copyright © 2013 Intel Corporation. All rights reserved

2 Intel® MPSS – FAQ on Yocto Transition

Contents

Intel® MPSS Transition to Yocto ...... 4 Appendix 1: Host-side Library Location changes ...... 4 Linux* ...... 4 Windows ...... 7 Appendix 2: Utility location changes...... 10 Appendix 3: Busybox functionality changes ...... 11 Appendix 4: MPSSD/micctrl related file locations ...... 17

3 Intel® MPSS – FAQ on Yocto Transition

Intel® MPSS Transition to Yocto

Appendix 1: Host-side Library Location changes Linux*

Interface Interface Intel® MPSS – Pre-Yocto location Intel® MPSS – Yocto location Provider consumer

/opt/intel/mic/filesystem/base/lib64 User mode /usr/lib64 libscif.so executables /usr/linux-k1om-4.7/linux-k1om/usr/lib64 /usr/lib64

User mode executables, including micnativeloade libcoi_host.so x /opt/intel/mic/coi/host-linux-release/lib /usr/lib64

User mode /opt/intel/mic/myo/lib libmyo-client.so executables /usr/lib64 /usr/lib64 User mode executables, including micflash, micinfo, miccheck, micsmc, mpssflash, /opt/intel/mic/mgmt/sdk/lib libmicmgmt.so mpssinfo /usr/lib64 /usr/lib64

/opt/intel/mic/filesystem/base/lib64 User mode /usr/lib64 libscif.so executables /usr/linux-k1om-4.7/linux-k1om/usr/lib64 /usr/lib64

User mode libcoi_device.so executables /opt/intel/mic/coi/device-linux-release/lib /usr/lib64

User mode libmyo-service.so executables /opt/intel/mic/myo/lib /usr/lib64

User mode /opt/intel/mic/filesystem/base/lib/modules/2.6. /opt/intel/mic/filesystem/base/lib/modules/2.6.3 blcr.ko executables 38.8-g20092e5 8.8-g20092e5

/opt/intel/mic/filesystem/base/lib/modules/2.6. /opt/intel/mic/filesystem/base/lib/modules/2.6.3 blcr_imports.ko blcr.ko 38.8-g20092e5 8.8-g20092e5

/lib/firmware/mic /lib/modules/2.6.38.8/extra/dma intel_micveth.k /opt/intel/mic/filesystem/base/lib/modules/2.6. /opt/intel/mic/filesystem/base/lib/modules/2.6.3 dma_module.ko o 38.8-g20092e5 8.8-g20092e5

4 Intel® MPSS – FAQ on Yocto Transition

Interface Interface Intel® MPSS – Pre-Yocto location Intel® MPSS – Yocto location Provider consumer

/lib/modules/2.6.38.8/extra/vnet /opt/intel/mic/filesystem/base/lib/modules/2.6. /opt/intel/mic/filesystem/base/lib/modules/2.6.3 intel_micveth.ko mic.ko 38.8-g20092e5 8.8-20092e5

/lib/modules/2.6.38.8/extra/virtio User mode /opt/intel/mic/filesystem/base/lib/modules/2.6. /opt/intel/mic/filesystem/base/lib/modules/2.6.3 mic_virtblk.ko executables 38.8-g20092e5 8.8-g20092e5

/lib/modules/2.6.38.8/extra/vcons /opt/intel/mic/filesystem/base/lib/modules/2.6. /opt/intel/mic/filesystem/base/lib/modules/2.6.3 michvc.ko mic.ko 38.8-g20092e5 8.8-g20093e5

/lib/firmware/mic /lib/modules/2.6.38.8/extra/ras /opt/intel/mic/filesystem/base/lib/modules/2.6. /opt/intel/mic/filesystem/base/lib/modules/2.6.3 micras.ko mic.ko 38.8-g20092e5 8.8-g20092e5

/lib/firmware/mic /lib/modles/2.6.38.8/extra/micscif /opt/intel/mic/filesystem/base/lib/modules/2.6. /opt/intel/filesystem/base/lib/modules/2.6.38.8- micscif.ko libscif.so (MIC) 38.8-g20092e5 g20092e5

/lib/firmware/mic /lib/modules/2.6.38.8/extra/mpssboot /opt/intel/mic/filesystem/base/lib/modules/2.6. /opt/intel/mic/filesystem/base/lib/modules/2.6.3 mpssboot.ko mic.ko 38.8-g20092e5 8.8-g20092e5

/lib/firmware/mic /lib/modules/2.6.38.8/extra/pm_scif /opt/intel/mic/filesystem/base/lib/modules/2.6. /opt/intel/mic/filesystem/base/lib/modules/2.6.3 pm_scif.ko mic.ko 38.8-g20092e5 8.8-g20092e5

5 Intel® MPSS – FAQ on Yocto Transition

Interface Interface Intel® MPSS – Pre-Yocto location Intel® MPSS – Yocto location Provider consumer

/lib/modules/2.6.38.8/extra/micscif /opt/intel/mic/filesystem/base/lib/modules/2.6. /opt/intel/mic/filesystem/base/lib/modules/2.6.3 ringbuffer.ko michvc.ko 38.8-g20092e5 8.8-g20092e5

6 Intel® MPSS – FAQ on Yocto Transition

Windows

Interface Interface consumer Intel® MPSS – Pre-Yocto location Intel® MPSS – Yocto location Provider

User mode C:\Windows\SysWOW64 C:\Windows\SysWOW64 uSCIF.dll executables C:\Windows\System32 C:\Windows\System32

User mode executables, including C:\Program Files\Intel\MPSS\sdk\lib coi_host.dll micnativeloadex.exe C:\Windows\System32 C:\Windows\System32

User mode C:\Program Files\Intel\MPSS\sdk\lib myo-client.dll executables C:\Windows\System32 C:\Windows\System32

User mode C:\Windows\System32 ODMDebug.dll executables C:\Program Files\Intel\MPSS\bin C:\Windows\System32

User mode C:\Program Files\Intel\MPSS\k1om- libscif.so executables C:\Program Files\Intel\MPSS\sdk\lib mpss-linux\usr\lib64

User mode C:\Program Files\Intel\MPSS\k1om- libcoi_device.so executables C:\Program Files\Intel\MPSS\sdk\lib mpss-linux\usr\lib64

libmyo- User mode C:\Program Files\Intel\MPSS\k1om- service.so executables C:\Program Files\Intel\MPSS\sdk\lib mpss-linux\usr\lib64

C:\Program C:\Program Files\Intel\MPSS\drivers\micx64 Files\Intel\MPSS\drivers\micx64 micx64.sys libmicmgmt.dll C:\Windows\System32\drivers C:\Windows\System32\drivers

7 Intel® MPSS – FAQ on Yocto Transition

Interface Interface consumer Intel® MPSS – Pre-Yocto location Intel® MPSS – Yocto location Provider

C:\Program C:\Program Files\Intel\MPSS\drivers\micvethx64 Files\Intel\MPSS\drivers\micvethx64 micvethx64.sys intel_micveth.ko C:\Windows\System32\drivers C:\Windows\System32\drivers

C:\Program User mode Files\Intel\MPSS\filesystem\base\lib\modules\2.6.38.8- Integrated into default coprocessor blcr.ko executables g2593b11 boot image

C:\Program Files\Intel\MPSS\filesystem\base\lib\modules\2.6.38.8- Integrated into default coprocessor blcr_imports.ko blcr.ko g2593b11 boot image

C:\Program Files\Intel\MPSS\filesystem\base\lib\modules\2.6.38.8- Integrated into default coprocessor dma_module.ko intel_micveth.ko g2593b11 boot image

C:\Program Files\Intel\MPSS\filesystem\base\lib\modules\2.6.38.8- Integrated into default coprocessor intel_micveth.ko micx64.sys g2593b11 boot image

C:\Program Files\Intel\MPSS\filesystem\base\lib\modules\2.6.38.8- Integrated into default coprocessor mic_virtblk.ko g2593b11 boot image

8 Intel® MPSS – FAQ on Yocto Transition

Interface Interface consumer Intel® MPSS – Pre-Yocto location Intel® MPSS – Yocto location Provider

C:\Program Files\Intel\MPSS\filesystem\base\lib\modules\2.6.38.8- Integrated into default coprocessor michvc.ko micx64.sys g2593b11 boot image

C:\Program Files\Intel\MPSS\filesystem\base\lib\modules\2.6.38.8- Integrated into default coprocessor micras.ko micx64.sys g2593b11 boot image

C:\Program Files\Intel\MPSS\filesystem\base\lib\modules\2.6.38.8- Integrated into default coprocessor micscif.ko libscif.so (MIC) g2593b11 boot image

C:\Program Files\Intel\MPSS\filesystem\base\lib\modules\2.6.38.8- Integrated into default coprocessor mpssboot.ko micx64.sys g2593b11 boot image

C:\Program Files\Intel\MPSS\filesystem\base\lib\modules\2.6.38.8- Integrated into default coprocessor pm_scif.ko micx64.sys g2593b11 boot image

C:\Program Files\Intel\MPSS\filesystem\base\lib\modules\2.6.38.8- Integrated into default coprocessor ringbuffer.ko michvc.ko g2593b11 boot image

9 Intel® MPSS – FAQ on Yocto Transition

Appendix 2: Utility location changes Linux* Windows

Interface 2013.26 Interface Intel® MPSS – Pre- Intel® MPSS – Yocto Intel® MPSS – Pre-Yocto location Provider location Provider Yocto location location

/Program /Program micctrl /usr/sbin /usr/sbin micctrl.exe Files/Intel/MPSS/bin Files/Intel/MPSS/bin miccheck /opt/intel/mic/bin /usr/bin miccheck.exe N/A N/A /Program /Program micflash /opt/intel/mic/bin /usr/bin MicFlash.exe Files/Intel/MPSS/bin Files/Intel/MPSS/bin /Program /Program micinfo /opt/intel/mic/bin /usr/bin MicInfo.exe Files/Intel/MPSS/bin Files/Intel/MPSS/bin /Program /opt/intel/mic/bin Files/Intel/MPSS/sdk/ micnativelo /opt/intel/mic/coi/tools/micnativeloa micnativeloade coi/tools/micnativelo /Program adex dex/release/micnativeloadex /usr/bin x.exe adex Files/Intel/MPSS/bin /Program /Program micsmc /opt/intel/mic/bin /usr/bin MicSmc.exe Files/Intel/MPSS/bin Files/Intel/MPSS/bin mpssflash /opt/intel/mic/bin /usr/bin N/A N/A mpssinfo /opt/intel/mic/bin /usr/bin N/A N/A /Program /Program mpssd /usr/sbin /usr/sbin mpssboot.exe Files/Intel/MPSS/bin Files/Intel/MPSS/bin /Program /Program micrasd /opt/intel/mic/bin /usr/bin MicRAS.exe Files/Intel/MPSS/bin Files/Intel/MPSS/bin /Program coi_daemo /opt/intel/mic/coi/device-linux- /Program Files/Intel/MPSS/filesyste n release/bin /usr/bin coi_daemon Files/Intel/MPSS/bin m/common/usr/bin

10 Intel® MPSS – FAQ on Yocto Transition

Appendix 3: Busybox functionality changes The table below shows the full list of functionality that was available in the Intel® MPSS prior to, and after the Yocto release. As you can see, some programs are new with the Yocto release; some capabilities go away (e.g. fsync, ed); and some still exist, but may behave differently: parameters and output formats between and tinylogin may be different for any of the highlighted items below. If you have scripts that depend on them, please validate your scripts still function correctly after the change.

Intel® MPSS – Pre-Yocto Intel® MPSS – Yocto /bin addgroup -> busybox addgroup -> /bin/tinylogin adduser -> busybox adduser -> /bin/tinylogin arping ash -> busybox ash -> busybox base64 -> busybox bash bashbug Busybox busybox busybox.setuidroot cat -> busybox cat -> busybox catv -> busybox chattr -> busybox chattr -> busybox chgrp -> busybox chgrp -> busybox chmod -> busybox chmod -> busybox chown -> busybox chown -> busybox coi_daemon cp -> busybox cp -> busybox cpio -> busybox cpio -> cpio.cpio cpio.cpio cttyhack -> busybox date -> busybox date -> busybox dd -> busybox dd -> busybox delgroup -> busybox delgroup -> /bin/tinylogin deluser -> busybox deluser -> /bin/tinylogin df -> busybox df -> busybox dmesg -> busybox dmesg -> busybox dnsdomainname -> busybox dnsdomainname -> busybox dumpkmap -> busybox dumpkmap -> busybox echo -> busybox echo -> busybox ed -> busybox egrep -> busybox egrep -> busybox

11 Intel® MPSS – FAQ on Yocto Transition

Intel® MPSS – Pre-Yocto Intel® MPSS – Yocto false -> busybox false -> busybox fdflush -> busybox fgrep -> busybox fgrep -> busybox fsync -> busybox getopt -> busybox -> busybox grep -> busybox gunzip -> busybox gunzip -> gunzip.gzip gunzip.gzip gzip -> busybox gzip -> gzip.gzip gzip.gzip hostname -> busybox hostname -> busybox hush -> busybox ionice -> busybox iostat -> busybox ip -> busybox ip -> busybox ipaddr -> busybox ipcalc -> busybox iplink -> busybox iproute -> busybox iprule -> busybox iptunnel -> busybox kill -> busybox kill -> /bin/kill.procps kill.procps limits linux32 -> busybox linux64 -> busybox ln -> busybox ln -> busybox login -> busybox login -> /bin/tinylogin login.shadow ls -> busybox ls -> busybox lsattr -> busybox /usr/bin/lsattr lzop -> busybox lsmod -> /bin/lsmod.26 lsmod.26 mkdir -> busybox mkdir -> busybox mknod -> busybox mknod -> busybox mktemp -> busybox mktemp -> busybox -> busybox more -> busybox mount -> busybox.setuidroot mount -> busybox mountpoint -> busybox mountpoint -> mountpoint.sysvinit

12 Intel® MPSS – FAQ on Yocto Transition

Intel® MPSS – Pre-Yocto Intel® MPSS – Yocto mountpoint.sysvinit mpstat -> busybox mt -> busybox mv -> busybox mv -> busybox netstat -> busybox netstat -> busybox nice -> busybox noauth pidof -> busybox pidof -> pidof.sysvinit pidof.sysvinit -> /sbin/killall5 ping -> busybox.setuidroot ping -> ping.iputils ping.iputils ping6 -> ping6.iputils ping6.iputils pipe_progress -> busybox powertop -> busybox printenv -> busybox ps -> busybox ps -> /bin/ps.procps ps.procps pwd -> busybox pwd -> busybox rev -> busybox rm -> busybox rm -> busybox rmdir -> busybox rmdir -> busybox rpm -> busybox /usr/bin/rpm run-parts -> busybox /usr/bin/run-parts scriptreplay -> busybox sed -> busybox sed -> busybox setarch -> busybox sh -> busybox sh -> /bin/bash sleep -> busybox sleep -> busybox stat -> busybox stty -> busybox stty -> busybox su -> busybox.setuidroot su -> /bin/tinylogin sync -> busybox sync -> busybox tar -> busybox tar -> busybox taskset tinylogin touch -> busybox touch -> busybox tracepath tracepath6 traceroute6

13 Intel® MPSS – FAQ on Yocto Transition

Intel® MPSS – Pre-Yocto Intel® MPSS – Yocto true -> busybox true -> busybox umount -> busybox umount -> busybox -> busybox uname -> busybox usleep -> busybox usleep -> busybox vi -> busybox vi -> busybox watch -> busybox /usr/bin/watch zcat -> busybox zcat -> zcat.gzip zcat.gzip /sbin adjtimex -> ../bin/busybox arp -> ../bin/busybox badblocks blkid -> ../bin/busybox blkid blockdev -> ../bin/busybox bootlogd bootchartd -> ../bin/busybox debugfs depmod -> ../bin/busybox depmod -> /sbin/depmod.26

depmod.26 dumpe2fs devmem -> ../bin/busybox e2freefrag e2image e2undo e4defrag fbsplash -> ../bin/busybox fdisk -> ../bin/busybox fdisk -> ../bin/busybox findfs -> ../bin/busybox freeramdisk -> ../bin/busybox filefrag fsck -> ../bin/busybox fsck -> ../bin/busybox fsck.minix -> ../bin/busybox fsck.minix -> ../bin/busybox fstab-decode getty -> ../bin/busybox getty -> /sbin/getty.tinylogin getty.tinylogin -> /bin/tinylogin halt -> ../bin/busybox halt -> halt.sysvinit halt.sysvinit hdparm -> ../bin/busybox hwclock -> ../bin/busybox hwclock -> ../bin/busybox

14 Intel® MPSS – FAQ on Yocto Transition

Intel® MPSS – Pre-Yocto Intel® MPSS – Yocto ifconfig -> ../bin/busybox ifconfig -> ../bin/busybox ifdown -> ../bin/busybox ifdown -> ../bin/busybox ifup -> ../bin/busybox ifup -> ../bin/busybox init -> ../bin/busybox init -> /sbin/init.sysvinit init.sysvinit insmod -> ../bin/busybox insmod -> /sbin/insmod.26 insmod.26 killall5 klogd -> ../bin/busybox klogd -> ../bin/busybox ldconfig loadkmap -> ../bin/busybox loadkmap -> ../bin/busybox logread -> ../bin/busybox logread -> ../bin/busybox logsave losetup -> ../bin/busybox losetup -> ../bin/busybox lsmod -> ../bin/busybox lsmod -> /bin/lsmod.26 makedevs -> ../bin/busybox man -> ../bin/busybox mdev -> ../bin/busybox mkdosfs -> ../bin/busybox mke2fs -> ../bin/busybox mkfs.ext2 -> ../bin/busybox mkfs.minix -> ../bin/busybox mkfs.minix -> ../bin/busybox mklost+found mkfs.vfat -> ../bin/busybox mkswap -> ../bin/busybox mkswap -> ../bin/busybox modinfo -> ../bin/busybox modinfo -> /sbin/modinfo.26 modinfo.26 modprobe -> ../bin/busybox modprobe -> /sbin/modprobe.26 modprobe.26 mpssfsinit nameif -> ../bin/busybox pivot_root -> ../bin/busybox pivot_root -> ../bin/busybox portmap poweroff -> ../bin/busybox poweroff -> poweroff.sysvinit poweroff.sysvinit -> halt raidautorun -> ../bin/busybox reboot -> ../bin/busybox reboot -> reboot.sysvinit reboot.sysvinit -> halt resize2fs rmmod -> ../bin/busybox rmmod -> /sbin/rmmod.26

15 Intel® MPSS – FAQ on Yocto Transition

Intel® MPSS – Pre-Yocto Intel® MPSS – Yocto rmmod.26 route -> ../bin/busybox route -> ../bin/busybox runlevel -> ../bin/busybox runlevel -> runlevel.sysvinit runlevel.sysvinit setconsole -> ../bin/busybox setconsole -> ../bin/busybox shutdown -> shutdown.sysvinit shutdown.sysvinit sshd /usr/sbin/sshd start-stop-daemon -> ../bin/busybox start-stop-daemon -> ../bin/busybox sulogin -> ../bin/busybox sulogin -> /bin/tinylogin swapoff -> ../bin/busybox swapoff -> ../bin/busybox swapon -> ../bin/busybox swapon -> ../bin/busybox switch_root -> ../bin/busybox switch_root -> ../bin/busybox sysctl -> ../bin/busybox sysctl -> /sbin/sysctl.procps sysctl.procps syslogd -> ../bin/busybox syslogd -> ../bin/busybox telinit -> init tunctl -> ../bin/busybox udevadm udevd udhcpc -> ../bin/busybox udhcpc -> ../bin/busybox vconfig -> ../bin/busybox vigr -> vigr.shadow vigr.shadow -> vipw.shadow vipw -> vipw.shadow vipw.shadow watchdog -> ../bin/busybox zcip -> ../bin/busybox

16 Intel® MPSS – FAQ on Yocto Transition

Appendix 4: MPSSD/micctrl related file locations OS / files Intel® MPSS – Pre-Yocto Intel® MPSS – Yocto Linux* Configuration files /etc/sysconfig/mic /etc/mpss micctrl created default File /var/mpss System location kernel image and system map uos.img /usr/share/mpss/firmware Linux* kernel image: bzImage- knightscorner.bin Initial filesystem: mpss-image- minimal-knightscorner.cpio.gz Default base files Base directory Part of a compressed cpio image in /usr/share/mpss/firmware Init RAM FS Integrated into coprocessor Indicated during write to kernel image /sys/class/mic/micX/state to boot coprocessor, and injected into coprocessor memory before starting boot. RAMFS, if indicated, is copied to real file system Windows kernel image and system map uos.img C:\Program Files\Intel\MPSS\filesystem Linux* kernel image: bzImage- knightscorner.bin Initial filesystem: mpss-image- minimal-knightscorner.cpio.gz

17