Home
Intel® Quark™ SoC X1000 BSP Build and Software User Guide
Contents
1. intel In the following UEFI Secure boot Crosshill example recommended values are shown in bold text Platform Type id 1 desc PlatformID data type hex uintl6 ClantonPeak 2 CrossHill 4 ClantonHill 5 Galileo 6 GalileoGen2 8 data value 4 In the Mrc Params section below the MRC data value MUST correspond to the platform data value used above Mrc Params id 6 ver 1 desc MrcParams data type file data value MRC clantonpeak vl bin data value MRC clantonhill vl bin data value MRC GalileoGen2 bin data value MRC crosshill vl bin MAC address 0 id 3 desc lst MAC data type hex string data value 001320FDF4F2 replace with MAC address from sticker on board MAC address 1 id 4 desc 2nd MAC data type hex string data value 02FFFFFFFFO1 replace with MAC address from sticker on board X509 Public certificate file for the private key used to sign OS bootloader db cert id 8 ver 0 desc db cert data type list data list len 3 provisioning header field data 0 type hex string data 0 value 02000100 optional guid field to identify this specific cert in db variable data 1 type hex string data 1 value 79da34f148b99a4 9b12226a9f28ed7a4 X509 public certificate file formated using ASN 1 DER encoding data 2 type file data 2 valuescert db cer X509 Public certificate file for the private key used to sign SetVariable payloads to update Intel Quark
2. system Section 10 2 Intel Quark SoC X1000 BSP Build and Software User Guide Order Number 329687 008US 39 i n tel Capsule Recovery 14 Capsule Recovery The BSP software provides a mechanism for the SPI flash contents to be recovered if the board will not boot For example if power was lost during a normal SPI flash update the board would be unbootable Capsule recovery is comprised of the following high level steps e building a FVMAIN fv recovery file e connecting a USB key with this file to the board e booting the board in recovery mode Note If you are using the Intel Galileo board refer to the Inte Galileo Board User Guide for details For other boards contact your Intel representative for details on how to boot in recovery mode e waiting for the recovery firmware to update the SPI flash and reboot the board Booting in recovery mode is board specific Please refer to the board user guide for details Alternatively the SPI flash contents can be recovered using a DediProg SF100 SPI Flash Programmer and the associated flashing software to program your board as described in Section 11 Intel Quark SoC X1000 BSP Build and Software User Guide 40 Order Number 329687 008US Signing Files Secure SKU only Linux build environment only i n tel 15 Note Order Number Signing Files Secure SKU only Linux build environment only This step is optional for most users it is only neede
3. Order Number Intel Quark SoC X1000 BSP Build and Software User Guide 329687 008US 3 i n tel y Contents 16 Enabling the OpenOCD Debugger seen hene se enecenecacnseasa ned Rn nk nada ada rc 43 Appendix A Related DOCUMENES coeiese cerea aoa era iex DRAKE RA UR E ELE NEM QUE Ce AX AEXANE Cea E KE NEA 44 Appendix B SPLFlash TO0ls isset terne t nin nein nk x RR RA b RH RR nne wea a dun R Rr a ERA REA uh ye 45 Intel Quark SoC X1000 BSP Build and Software User Guide 4 Order Number 329687 008US Revision History i n tel Revision History L Wwe ume o o o NES O January 2015 008 Updated Sections 4 and 9 Added Appendix B 16 June 2014 007 General updates to coincide with the EDKII Update 1 0 2 release including Updated Section 4 Building the EDKII Firmware added Windows build environment 22 May 2014 General updates for software release 1 0 1 including Updated Section 4 Building the EDKII Firmware added TPM Added Section 6 1 Build a Full featured Linux for SD card or USB Stick Updated Section 9 Platform Data Tool corrected platform data ini filename Updated Section 14 Capsule Recovery added DediProg information Updated with trademarked term Intel Quark SoC 04 March 2014 005 General updates for software release 1 0 0 including Added Section 13 Capsule Update Added Section 14 Capsule Recovery 20 January 2014 General updates for software release 0 9 0 including A
4. 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 obtai
5. SoC X1000 BSP Build and Software User Guide 329687 008US 29 n tel Platform Data Tool Note the UEFI Secure Boot db or dbx variables kek id 8 ver 0 desc kek cert data type list data list len 3 data 0 type hex string data 0 value 01000000 data 1 type file data 1 values cert kek cer Platform owner s Public certificate file for private key used to sign f SetVariable payloads to update the UEFI Secure Boot kek variable pk id 7 ver 0 desc pk data type file data value cert pk cer Next run the script as follows cd spi flash tools platform data platform data patch py p sample platform data ini i sysimage sysimage CP 8M release Flash missingPDAT bin cd This creates a Flash PlatformData bin file to be programmed on the board as well as a sample platform data pdat file containing the same data that was inserted in the Flash image To program your board using Dediprog skip to Section 11 If creating Flash PlatformData bin and the sample platform data ini placed UEFI Secure boot certificates in the patched binary file then the generated sample platform data pdat must be used as one of the capsule images placed in the recovery FVMAIN fv file see Chapter 8 to allow the UEFI Secure boot system to be recovered By default EDKII firmware will not update the MAC address in the platform data area if programming an EDKII capsule refer to the Intel Quar
6. Source Level Debug using OpenOCD GDB Eclipse on Intel Quark SoC X1000 Application Note 330015 https communities intel com docs DOC 22203 Intel Quark SoC X1000 Datasheet auge https communities intel com docs DOC 21828 Intel Quark SoC X1000 Core Developer s Manual 339675 https communities intel com docs DOC 21826 Intel Quark SoC X1000 Core Hardware Reference Manual 329678 https communities intel com docs DOC 21825 Intel Galileo Board User Guide ae 330237 https communities intel com docs DOC 22475 Intel Quark SoC X1000 BSP Build and Software User Guide 44 Order Number 329687 008US intel SPI Flash Tools Appendix B SPI Flash Tools Order Number The main functionality of the SPI flash tools is provided by a Make file By default the Make file should be called from within a directory with a valid layout conf and will output a flash binary and capsule Example of usage is in section 6 2 Build a Small Linux for SPI Flash The Make file provides a number of targets which can be used to change the behavior or output of the tool all default creates the flash binary capsule and recovery image raw create only the flash binary capsule create only the capsule recovery creates a recovery image clean delete all intermediate files in the current directory sysimages Search all subdirectories for a layout conf file and if found build the images sysimages clean as abov
7. a toolchain that allows cross compilation is required There are a number of different methods for building out a cross toolchain Section 3 of the Yocto Project Application Developer s Guide at the link below provides a detailed description of each method http www yoctoproject org docs 1 6 adt manual adt manual html adt prepare There are options for creating a toolchain in the current build directory and for creating toolchain installer scripts which will allow the toolchain to be installed on other SDK machines different to the build machine When building out a cross toolchain a matching target sysroot is also needed because it contains metadata libs and headers used to build the appropriate cross toolchain Creating a cross toolchain in the current build directory The easiest method for creating a toolchain assuming the file system and kernel have already been built in Section 6 is to use the following bitbake command bitbake meta ide support This command will create an environment setup file suitable for the target machine defined by the MACHINE variable in the local conf file excerpt Machine Selection MACHINE quark The resulting environment setup file will be located in tmp and will contain environment setup string in the name For example environment setup i586 poky linux This method assumes that the build machine and the SDK machine are the same and that the sysroot is in the current build dir
8. intel Quark Intel Quark SoC X1000 Board Support Package BSP Build and Software User Guide Release 1 1 January 2015 Order Number 329687 008US n tel j Legal Disclaimers Legal Disclaimers By using this document in addition to any agreements you have with Intel you accept the terms set forth below You may not use or facilitate the use of this document in connection with any infringement or other legal analysis concerning Intel products described herein You agree to grant Intel a non exclusive royalty free license to any patent claim thereafter drafted which includes subject matter disclosed herein 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
9. sources zip file from the following location https downloadcenter intel com Detail Desc aspx DwnldID 23197 If you are using an Intel Quark Reference Design board see your Intel representative for the appropriate software download URL This release is comprised of e Board Support Package BSP sources Board Support Package Sources for Intel Quark v1 1 7z 2 6 MB For customers using the Clanton Hill FFRD additional CAN software must be downloaded from Intel Business Link IBL See your Intel representative for the URL The CAN package comprises e Fujitsu CAN Firmware CAN Firmware for Intel Quark v1 0 1 zip 36 kB If building on a Debian host PC use the Debian provided meta package called build essential that installs a number of compiler tools and libraries Install the meta package and the other packages listed in the command below before continuing sudo apt get install build essential gcc multilib vim common Intel Quark SoC X1000 BSP Build and Software User Guide 329687 008US 9 i n tel Building the EDKII Firmware 4 4 1 4 2 Building the EDKII Firmware You need to build the open source EDKII firmware for the Intel Quark SoC Additional details may be found here e WWW tianocore sourceforge net e https github com tianocore tianocore github io wiki Getting Started with EDK II Dependencies Linux build environment dependencies e Python 2 6 or 2 7 Python 3 x n
10. version tar gz After the contents have been extracted the files quarkbuild sh and quarkbuild bat should be in the root of the created workspace directory 2 Fetch the upstream core EDKII packages using svn setup py and the SVN command line tool 3 Optionally if OpenSSL is required by the build configuration in Section 4 3 or Section 4 4 following then perform the steps in the CryptoPkg Library OpensslLib Patch HOWTO txt file Performing pre build Steps in a Linux gcc Build Environment Open a new terminal session and enter the following commands sudo apt get install build essential uuid dev iasl subversion tar xvf Quark EDKII tar gz cd Quark EDKII svn setup py svn update Performing pre build Steps in a Windows Build Environment Use a preferred tool to extract the Quark EDKII tar gz to a user created EDKII Workspace directory and run the cmd exe Windows command Then issue the following commands gt cd SUSER SELECTED EDKII WORKSPACE DIR Nsvn setup py gt svn update The svn update command can take a few minutes to complete depending on the speed of your internet connection If these commands fail it may be due to your proxy settings Contact your network administrator You may find answers about proxy settings here https wiki yoctoproject org wiki Working Behind a Network Proxy The examples above do not show the optional OpenSSL pre build step described in the CryptoPkg Libr
11. 5 Building the GRUB OS Loader Linux Build Environment Only eese 16 6 Creating a File System and Building the Kernel Using Yocto Project 18 6 1 Build a Full featured Linux for SD card or USB Stick sess 19 6 2 Build a Small Linux for SPI Flash sssssessssse eene nnn nns 20 6 3 Applying a Custom Patch to the Linux kernel Using Yocto Project optional 22 7 Building the Linux Cross Compile Toolchain Using Yocto Project Linux Build Environment Only Jasaan oiin ExRampra ne eui ERR Fans HU E EFE E RC ERE 23 8 Creating a Flash Image for the Board Linux build environment only 26 8 1 Using the SPI Flash IO00ls sis icu oa nani imn pini suite da rex prn onda hdi a 26 9 Platform DI Meet 28 10 Programming Flash on the Board Using Serial Interface sese 31 10 1 Programming flash using UEFI shell sssse mme 31 10 2 Programming Flash Using Linux Run time System sssssseeeene 34 11 Programming Flash on the Board Using DediProg sss 35 12 Booting the Board From SD Card sssrinin enhn testa E enr ERE DX AERA RE ER ERU REC KE 36 Part 2 of 2 Using the BSP SoftWare iiicei ise tee tede eeu hed cae nexo dade dead RR XR ene cea ede ER ENTRE dane DRE EAR 38 13 Capsule Updates rm 39 14 CapSUle REGOVELY eL E 40 15 Signing Files Secure SKU only Linux build environment only esses 41
12. AIN SECURE e Target DEBUG RELEASE e Tools GCC43 GCC44 GCC45 GCC46 GCC47 In Section 8 you will run a script that creates a symbolic link to the directory where the EDK binaries are placed Intel Quark SoC X1000 BSP Build and Software User Guide 12 Order Number 329687 008US Building the EDKII Firmware i n tel e 4 4 Note Note Building a Single EDKII Firmware Build Configuration This section is supported in Linux and Windows build environments Use quarkbuild sh in a Linux terminal window or quarkbuild bat in a Windows command prompt created by running cmd exe and the cd command to change directory to the root of the EDKII workspace directory created in Section 4 2 Build usage quarkbuild r32 d32 clean GCC43 GCC44 GCC45 GCC46 GCC47 subst drive letter PlatformName DSECURE LD optional DIPM SUPPORT optional DSECURE BOOT ENABLE TRUE optional The following is the list of options for the quarkbuild sh and quarkbuild bat build commands clean Delete the build files folders d32 Create a DEBUG build r32 Create a RELEASE build GCC4x LINUX ONLY GCC flags used for this build Set to the version of GCC you have installed Validated with GCC43 tested on GCC46 subst drive letter WINDOWS ONLY quarkbuild bat uses the letter specified here with the Windows subst command to associate a drive letter with the EDK
13. II workspace directory path Associating a drive letter with the EDKII workspace directory reduces flash space requirements for debug executables PlatformName Name of the Platform package you want to build DSECURE_LD Create a Secure Lockdown build optional The policy decisions taken during EDKII boot for this boot option are automatically taken on secure SKU Quark SoC hardware even if SECURE_LD build option is not specified DTPM_SUPPORT Create an EDKII build with TPM support optional DSECURE_BOOT_ENABLE TRUE Create an EDKII build with UEFI Secure Boot support optional Note The TPM and UEFI Secure Boot build options require the one time prerequisite Order Number described in the CryptoPkg Library OpenssILib Patch HOWTO txt file For more details on TPM Trusted Platform Module and UEFI Secure Boot refer to the Intel Quark SoC X1000 UEFI Firmware Writer s Guide Intel Quark SoC X1000 BSP Build and Software User Guide 329687 008US 13 i n tel Building the EDKII Firmware 4 5 Linux example usage Create a RELEASE build with UEFI Secure Boot and TPM support for an Intele Quark SoC platform based on GCC version 4 3 quarkbuild sh r32 GCC43 QuarkPlatform DSECURE BOOT ENABLE TRUE DTPM SUPPORT Windows example usage Create a DEBUG build for a Quark platform After executing quarkbuild bat a virtual drive S is created which is rooted to EDKII workspace directory g
14. Interface You will see a display similar to this Le Se i bui 10 Size 00010000 e The CapsuleApp will update your SPI flash image This process takes about 5 minutes Warning DO NOT remove power or try to exit during this process Wait for the prompt to return otherwise your board will become non functional 9 When the update completes the board will automatically reboot You will see a display similar to this E COM4 PuTTY N Intel Quark SoC X1000 BSP Build and Software User Guide Order Number 329687 008US 33 i n tel Programming Flash on the Board Using Serial Interface 10 2 Programming Flash Using Linux Run time System If you are updating from an earlier release of the BSP software 0 7 5 and 0 8 0 you need a release specific kernel module Note that a 0 7 5 kernel module cannot be loaded on a 0 8 0 BSP and vice versa Open a new terminal session and perform the following steps 1 Use the files created in Section 8 2 Copy Flash cap from the sysimage directory onto an SD card or USB stick and insert it into the board 3 Release 0 7 5 and Release 0 8 0 only Run the command insmod tmp lt release gt efi_ capsule update ko where release 0 7 5 0r 0 8 0 4 Release 0 9 0 Release 1 0 0 and later Run the command modprobe efi capsule update 5 All releases Run the following commands modprobe sdhci pci modprobe mmc block mkdi
15. applications This software release supports the following software and hardware Board Support Package Sources for Intel Quark SoC X1000 v1 0 0 Intel Galileo Customer Reference Board CRB Fab D with blue PCB Galileo GEN2 Customer Reference Board CRB Intel Quark SoC X1000 Industrial Energy Reference Design Cross Hill Intel Quark SoC X1000 Transportation Reference Design Clanton Hill Intel Quark SoC X1000 BSP Build and Software User Guide 6 Order Number 329687 008US About This Document i n tel e Part 1 of 2 Building the BSP Software This section contains the following topics Before You Begin Downloading Software Building the EDKII Firmware Building the GRUB OS Loader Linux Build Environment Only Creating a File System and Building the Kernel Using Yocto Project Building the Linux Cross Compile Toolchain Using Yocto Project Linux Build Environment Only 8 Creating a Flash Image for the Board Linux build environment only 9 Platform Data Tool 10 Programming Flash on the Board Using Serial Interface 11 Programming Flash on the Board Using DediProg 12 Booting the Board From SD Card et e DM IN Intel Quark SoC X1000 BSP Build and Software User Guide Order Number 329687 008US 7 i n tel 1 Before You Begin 2 Note Note Before You Begin Before you begin e You need a host PC running either Linux Intel recommends a 64 bit Linux sy
16. ary OpensslLib Patch HOWTO txt file Intel Quark SoC X1000 BSP Build and Software User Guide 329687 008US 11 i n tel Building the EDKII Firmware 4 3 Note Building all the EDKII Firmware Validated Build Configurations Linux build environment only This section is only supported in Linux Build environments The buildallconfigs sh file is used to build all the validated EDKII build configurations Open a terminal window and cd to the Quark_EDKII directory created in Section 4 2 1 Performing pre build Steps in a Linux gcc Build Environment The script has the following options buildallconfigs sh GCC43 GCC44 GCC45 GCC46 GCC47 PlatformName GCC4x GCC flags used for this build Set to the version of GCC you have installed Note Validated with GCC43 tested on GCC46 PlatformName Name of the platform package you want to build Example usage Create a build for an Intel Quark SoC platform based on GCC version 4 6 buildallconfigs sh GCC46 QuarkPlatform Ensure the selected version of GCC matches the one installed on the system by running the gcc version command The build output can be found in the following directories e Build QuarkPlatform lt Config gt lt Target gt lt Tools gt FV FlashModules Contains EDKII binary modules e Build QuarkPlatform lt Config gt lt Target gt _ lt Tools gt FV Applications Contains UEFI shell applications including CapsuleApp efi Where e Config PL
17. been created run the SPI Flash Tools makefile with the command spi flash tools Makefile The output of this build is located in either the sysimage CP 8M debug or the sysimage CP 8M release directory depending on what kind of image was selected The output of this build includes e Flash cap standard capsule file Use this file to program your board using the serial interface by following the Programming the Flash instructions in Section 10 e Flash missingPDAT bin flash file with no platform data Use this file to program your board with the platform data tool and a Dediprog as described in Section 9 and then Section 11 e FVMAIN fv board specific recovery file See Section 14 for an overview of capsule recovery If you are using the Intel Galileo board refer to the Inte Galileo Board User Guide for details For other boards contact your Intel representative for details The capsule file contains a BIOS bootloader and compressed Linux run time system to allow a Quark based board to boot Use the capsule update mechanism described in Section 10 to program the SPI flash on your board The same build process and same image files are used for both secure and non secure board SKUs however secure SKUs have certain restrictions on where a capsule update can be performed If you have a secure SKU board Industrial Energy or Transportation Reference Design you must update your board using the Linux run time syst
18. both SD USB and SPI build methods from the same directory If you want both builds you must perform them on two completely different and isolated directories Build a Full featured Linux for SD card or USB Stick A complete Yocto Project build can take several hours to complete depending on your internet connection speed and your machine s specifications To build out an image suitable for running on SD card or USB stick the bitbake target is image full bitbake image full When this process complete the required output files are found in tmp deploy images quark and include the following components image full quark ext3 core image minimal initramfs quark cpio gz bzImage grub efi boot directory The kernel and root file systems bzImage image full quark ext3 and core image cpio gz respectively can be copied onto a USB stick or SD card and booted from grub The grub conf file must be located in the boot grub directory of the USB stick or SD card Intel Quark SoC X1000 BSP Build and Software User Guide 329687 008US 19 n tel Creating a File System and Building the Kernel Using Yocto Project 6 2 Build a Small Linux for SPI Flash An image capable of running in SPI flash must not exceed 8Mb in size and is therefore a smaller less featured image than the SD USB image Before building out a SPI image we first need to edit a configuration file From the build directory yocto build in our
19. case edit the conf local conf file and change the DISTRO variable This can be done easily by commenting out using the hash symbol the default value at line 115 and uncommenting the value used for SPI flash images at line 114 DISTRO iot devkit spi DISTRO iot devkit multilibc Before 02 Default policy config 03 04 The distribution setting controls which policy settings are used as defaults 05 The default value is fine for general Yocto project use at least initially 06 Ultimately when creating custom policy people will likely end up subclassing 07 these defaults 08 09 Notes 0 1 If you wish to build an image for the Galileo s on board SPI flash you 1 need to set DISTRO to one of the iot devkit spi value listed below 2 2 If you wish to build an image Linux kernel grub and root file system that 3 is stored on SD card you need to set DISTRO to iot devkit multilibc 4 DISTRO iot devkit spi 5 DISTRO iot devkit multilibc After 102 Default policy config 103 4 104 The distribution setting controls which policy settings are used as defaults 105 The default value is fine for general Yocto project use at least initially Intel Quark SoC X1000 BSP Build and Software User Guide 20 Order Number 329687 008US Creating a File System and Building the Kernel Using Yocto Project n tel Note Order Number 06 Ultimately when creating custom
20. contents of the SPI flash Select raw file format Select the Prog icon to flash the image onto the board Optionally select the Verify icon to verify that the image flashed correctly gu moe Note Intel recommends that you disconnect the programmer before booting the system Intel Quark SoC X1000 BSP Build and Software User Guide Order Number 329687 008US 35 i n tel Booting the Board From SD Card 12 Booting the Board From SD Card To boot your board from an SD card and enable persistent rootfs follow these steps You can also use this procedure to boot your board from a USB stick If you are using an Intel Galileo board this setup allows you to save your Arduino sketch to the board so it will be able to repeat sketches after board power down This also enables a persistent sketch folder and rootfs Dependencies e You ran the command bitbake image full in Section 6 or bitbake image full galileo if using an Intel Galileo board e Your SD card must meet the following requirements e SD card must be formatted as FAT or FAT32 e SD card size must be 32GB or smaller and SDHC format SDXC format is not supported 1 The output of the build process in Section 6 is found in tmp deploy images Copy the following kernel and root file system files to an SD card e boot directory e bzimage e core image minimal initramfs clanton cpio gz e image full clanton ext3 or image full galileo clanton ext3 for the In
21. d for booting on a secure SKU Dependencies 1ibssl dev All files located by grub require signature files for verification This includes kernel grub conf bzImage and core image minimal initramfs clanton cpio gz The SPI Flash Tools package includes the Asset Signing Toolset an application used for signing assets for secure boot Follow the steps below to compile the signing tool then sign assets For complete details on the Asset Signing Toolset including all of the command line options refer to the Intel Quark SoC X1000 Secure Boot Programmer s Reference Manual see Appendix A For convenience during development the software release includes a default Private Key key pem file During development all assets are signed with the default key that is stored in the con ig directory The default key cannot be used in a production system it is not secure due to its inclusion in the release package Contact your Intel representative for details Open a new terminal session and use the following commands cd spi flash tools make asset signing tool sign After compiling the signing tool you can sign assets as shown in the following example path to spi flash tools asset signing tool sign i lt input file gt s lt svn gt x lt svn index gt k lt key file gt The output for this example is a signed binary file called lt input file gt signed in the same directory as the lt input file gt To create a separate signatu
22. dded Section 4 Building the EDKII Firmware Added Section 10 2 Programming Flash Using Linux Run time System Updated Section 15 Signing Files Secure SKU only Removed OpenOCD details because patch is now open source Added Appendix A Related Documents 15 November 2013 M M Added CapsuleApp efi to Section 3 Downloading Software 07 November 2013 General updates for software release 0 8 0 including Added supported boards to list of hardware Section 8 Changed SPI Flash tools path from clanton_ peak EDK2 to Quark EDKII Moved Signing Files Secure SKU only section to later in the document 15 October 2013 First release with software version 0 7 5 Intel Quark SoC X1000 BSP Build and Software User Guide Order Number 329687 008US 5 intel About This Document About This Document This document the Intel Quark SoC X1000 Board Support Package BSP Build and Software User Guide is divided into two major sections Part 1 of 2 Building the BSP Software contains instructions for installing and configuring the Intel Quark SoC X1000 Board Support Package sources Part 2 of 2 Using the BSP Software provides information on BSP software features and functionality Use this document to create an image to boot on your Quark based board and to learn more about BSP software features The intended audience for this document are hardware software engineers with experience in developing embedded
23. e but calls clean sysimages install as above but copies all of the output files into an installs directory There are also a number of variables which can be prefixed to the Makefile call on the command line to modify the behavior of the tool KEYFILE can be used to select an encryption key to use if assets are being signed LAYOUTFILE specify the name of a layout file if it has a non standard name PDAT_IN_CAPSULE include the platform data in the capsule true gt include the platform data in the capsule false gt do not include the platform data in the capsule default false CAPSULE FLAGS 0x00010000 gt do NOT update MAC addresses 0x00010001 gt update the MAC addresses default 0x00010000 CAPSULE SVN update CAPSULE SVN when changing KEYS for UEFI Secure Boot Systems default 0 Example KEYFILE path to key pem spi flash tools Makefile PDAT_INI gt name of test system pdata ini file defaults to platform data ini if not given Intel Quark SoC X1000 BSP Build and Software User Guide 329687 008US 45
24. e if the problem goes away If you isolate the problem to a specific SD card you can restore the factory formatting using this tool from the SD association https www sdcard org downloads formatter 4 It is not recommended to use normal operating system tools to format flash memory devices Intel Quark SoC X1000 BSP Build and Software User Guide Order Number 329687 008US 37 i n tel Booting the Board From SD Card Part 2 of 2 Using the BSP Software This section contains the following subsections 13 Capsule Update 14 Capsule Recovery 15 Signing Files Secure SKU only Linux build environment only 16 Enabling the OpenOCD Debugger Intel Quark SoC X1000 BSP Build and Software User Guide 38 Order Number 329687 008US Capsule Update i n tel 13 Capsule Update The BSP software provides a mechanism to update SPI flash contents based on EDKII capsules These capsules contain a BIOS bootloader and compressed Linux run time system sufficent to boot a Quark based board such as the Intel Galileo board Capsule update is comprised of the following high level steps e Building a Flash cap capsule file e Connecting a USB key or SD card that contains this file to the board e Running the capsule update mechanism as described in Section 10 1 or Section 10 2 Note If you have a secure SKU board Industrial Energy or Transportation Reference Design you must update your board using the Linux run time
25. ectory Creating a cross toolchain installer In order to build a cross toolchain capable of being installed on a different machine or in a different area to the current build directory a cross toolchain installer is required If building for a different SDK machine ensure that the SDKMACHINE variable in local conf describes this architecture Intel Quark SoC X1000 BSP Build and Software User Guide Order Number 329687 008US 23 n Lesbos the Linux Cross Compile Toolchain Using Yocto Project Linux Build Environment Only excerpt f This variable specifies the architecture to build SDK ADT items for and means you can build the SDK packages for architectures other than the machine you are running the build on i e building i686 packages on an x86 64 host Supported values are i686 and x86 64 SDKMACHINE i686 You must source the iot devkit init build env yocto build every time you use a new terminal To build the toolchain installer to match the target root filesystem already built open a new terminal session and use the bitbake command as follows bitbake image full c populate sdk The output of the build process is a script that installs the toolchain on another system iot devkit eglibc x86 64 image full i586 toolchain 1 6 1 sh The script is located in tmp deploy sdk Run the script and extract the cross toolchain to a target directory default opt iot devkit 1 6 1 This will extract the cro
26. elopment tools gcc for the Linux operating system To avoid a known issue unzipping packages with long file paths extract the meta clanton tarball into a directory with a short path for example tmp First open a new terminal session extract the Yocto Project layer and run the setup sh script to download the external sources required for the Yocto Project build tar xvf meta clanton tar gz cd meta clanton setup sh Note The setup sh script takes no parameters When this scripts runs successfully it will add additional folders such as bitbake meta yocto repo ext etc Intel Quark SoC X1000 BSP Build and Software User Guide 18 Order Number 329687 008US Creating a File System and Building the Kernel Using Yocto Project n tel 6 1 Order Number Note Note Next source the iot devkit init build env command to initialize the Yocto Project build environment This command takes the build directory name as its parameter source iot devkit init build env yocto build After this command runs the current directory will now be the directory specified in the parameter yocto build in this case From this directory run bitbake target to build the root file system and kernel The SoC specific target commands described below will determine whether the resulting components are built for SPI flash or for SD USB The output is slightly different for each target It is not possible to perform
27. em Section 10 2 For experienced users you can build all sysimages configuration in just one command by running the following command at the top level directory of the sysimage package spi flash tools Makefile j sysimages Be aware of the plural sysimages in the command The j option builds concurrently which completes in a shorter time however the output may be harder to read Intel Quark SoC X1000 BSP Build and Software User Guide 329687 008US 27 i n tel Platform Data Tool 9 Note Note Platform Data Tool The platform data file provides platform personality values such as platform type and board personality values such as Ethernet MAC addresses that must be patched into the previously mentioned Flash missingPDAT bin and Flash EDKII missingPDAT bin files This section is required for users who wish to update flash contents using flash programmers for example during a manufacturing process This section can also be used just to generate a pdat file that can be used as one of the capsule images placed in the firmware update cap files or recovery FVMAIN fv files see Chapter 4 and Chapter 8 Platform data is part specific unique data placed in SPI flash Every binary image flashed to the board must be patched individually to use platform data A data patching script is provided in this release The Intel Quark SoC X1000 UEFI Firmware Writer s Guide contains information on common platform data it
28. ems The platform data patching script platform data patch py is stored in the platform data directory within the spi flash tools tarball in the Intel Quark SoC BSP The following text is written as if the user is executing the script on a Linux build machine but the script may also be run on a Windows build machine which has Python 2 6 or Python 2 7 installed Before running the platform data patch py script open a new terminal session and copy and edit the spi flash tools platform data sample platform data ini file to include platform specific data such as MAC address platform type and MRC parameters On reference platforms the MAC address to be programmed is printed on the product label The Intel Quark SoC X1000 contains two MACs and each must be configured with one address in the platform data ini file even on boards such as Galileo that have only one Ethernet port For Galileo MAC 0 is the only MAC wired out The default MAC 0 address value in the platform data ini file is invalid and must be set to the value allocated to your system typically this is identified on a sticker MAC 1 must also have a valid UNICAST MAC address and the platform data ini file contains a dummy but valid address for MAC 1 If you do not set a valid MAC address system will halt during boot Intel Quark SoC X1000 BSP Build and Software User Guide 28 Order Number 329687 008US Platform Data Tool Note Order Number
29. fi was compiled or installed Run the following commands sudo apt get install git autoconf tar xvf grub legacy tar gz cd grub legacy gitsetup py cd work autoreconf install export CC4GRUB gcc m32 march i586 fno stack protector export GNUEFI LIBDIR full path to gnu efi 3 0 gnuefi CC S CCAGRUB configure quark sh make Gd Note If these commands fail it may be due to your proxy settings Contact your network administrator You may find answers about proxy settings here https wiki yoctoproject org wiki Working Behind a Network Proxy The required output from this build process is the work efi grub efi file Intel Quark SoC X1000 BSP Build and Software User Guide Order Number 329687 008US 17 i n tel Creating a File System and Building the Kernel Using Yocto Project 6 Creating a File System and Building the Kernel Using Yocto Project Dependencies e git e diffstat e texinfo e gawk e chrpath e file Note git requires proxy configuration If these commands fail it may be due to your proxy settings Contact your network administrator You may also find answers and tips about proxy settings here https wiki yoctoproject org wiki Working Behind a Network Proxy Yocto Project can be used to create a root file system and kernel which boots from an SD card USB key or SPI flash Do not run any of the commands in this section as root Note See Section 7 to build dev
30. k SoC X1000 UEFI Firmware Writer s Guide Intel Quark SoC X1000 BSP Build and Software User Guide 30 Order Number 329687 008US Programming Flash on the Board Using Serial Interface n tel 10 10 1 Order Number Programming Flash on the Board Using Serial Interface Dependencies CapsuleApp efi built in Section 4 located in Build QuarkPlatform Config Target Tools FV Applications The BSP provides a mechanism to update SPI flash contents based on EDKII capsules These capsules contain a BIOS bootloader and compressed Linux run time system sufficent to boot a Quark based board such as the Intel Galileo board The capsule update mechanism can be triggered from an EDKII shell Section 10 1 or from a Linux run time system Section 10 2 In both situations you must have root privileges on the system If you have a secure SKU board Industrial Energy or Transportation Reference Design you must update your board using the Linux run time system Section 10 2 Programming flash using UEFI shell This procedure cannot be used for a secure SKU board Industrial Energy or Transportation Reference Design because the UEFI shell is not available on secure SKU boards Follow the Section 10 2 procedure instead Perform the steps that follow 1 Use the files created in Section 8 2 Copy CapsuleApp efi and Flash cap to a microSD card or USB stick and insert it into the slot on the board 3 Co
31. ll clanton ext3 04 11 20031842 EXT3 File a Music i Pictures B Videos 7 d Computer SD E boot grub Organize v Share with v Burn New folder 4 amp Favorites Name Date modified Type BE Desktop IZ grub conf 04 11 2013 18 33 CONF File d Downloads L grub conf csbh 06 11 2013 12 52 CSBH File T Recent Places Intel Quark SoC X1000 BSP Build and Software User Guide 42 Order Number 329687 008US Enabling the OpenOCD Debugger i n tel 16 Enabling the OpenOCD Debugger Complete instructions for using the OpenOCD debugger can be found in the Source Level Debug using OpenOCD GDB Eclipse on Intel Quark SoC X1000 Application Note refer to Appendix A Intel Quark SoC X1000 BSP Build and Software User Guide Order Number 329687 008US 43 intel Appendix A Related Documents Related Documents The documents in the following table provide more information about the software in this release Document Name Number Intel Quark SoC X1000 Board Support Package BSP Build and Software User 329687 Guide this document Intel Quark SoC X1000 Software Release Notes 330232 Intel Quark SoC X1000 Secure Boot Programmer s Reference Manual 330234 Intel Quark SoC X1000 Linux Programmer s Reference Manual 330235 Intel Quark SoC X1000 UEFI Firmware Writer s Guide 330236 EDKII Update for Intel Quark SoC X1000 Software Release Notes 330729
32. ned by calling 1 800 548 4725 or go to http www intel com design literature htm Intel the Intel logo and Quark are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries Other names and brands may be claimed as the property of others Copyright 2015 Intel Corporation All rights reserved Intel Quark SoC X1000 BSP Build and Software User Guide 2 Order Number 329687 008US Contents Contents 1 About This DOCUrTient sicot educi nc E ctc NR EUN RR ERR Fa dd eru Ra d RN 6 Part 1 of 2 Building the BSP SOftWare ii iinan cate nde sica dut seta ated baia dat RA DE a RR RR RIDES DRE tea PARS 7 2 Before You zs ETT 8 3 Downloading SOftWare sd eeu RR Rae CREE AREE QUE RC HEX URNA TR RR DU ERA 9 4 Building the EDKII Firmware iere entry da tux Ra RnR rena RR RR a Rx EE NER E RARE REA RYE 10 4 1 brsrprcfte Em 10 4 2 Pre build SQtupiccsciccteaseen 10 4 2 1 Performing pre build Steps in a Linux gcc Build Environment 11 4 2 2 Performing pre build Steps in a Windows Build Environment 11 4 3 Building all the EDKII Firmware Validated Build Configurations Linux build environment only caves ossseszssudete uei e ebat de ERR ER UREE RUE REPE ERU TRUENAR Enea rue nU AME EA 12 4 4 Building a Single EDKII Firmware Build Configuration seseesessssse 13 4 5 EDKII Firmware Build Standalone Output Files eee 14
33. nnect the serial cable between the computer and the board Set up a serial console session for example PuTTY and connect to the board s COM port at 115200 baud rate 4 Configure the serial console session to recognize special characters For example if you are using PuTTY you must explicitly enable special characters In the PUTTY Configuration Options go to the Terminal Keyboard category and set the Function keys and Keypad option to sco You may also set Backspace to the Control H key 5 Power on the board Enter the EFI shell before grub starts by pressing F7 Intel Quark SoC X1000 BSP Build and Software User Guide 329687 008US 31 n tel Programming Flash on the Board Using Serial Interface 6 The serial console displays a boot device selection box below Select UEFI Internal Shell ENTER to select bo ESC to exit Is You will see a display similar to this 6 You will see a print out the top line of which looks like this fs0 HardDisk Alias hd7b blk0 This is your SD card To mount it type fs0 7 Merify you are using the correct version of CapsuleApp efi by using the v option You must use version 1 01 or later 8 Enter the following command CapsuleApp efi Flash cap Note You must enter the full filename of the Flash cap file Intel Quark SoC X1000 BSP Build and Software User Guide 32 Order Number 329687 008US Programming Flash on the Board Using Serial
34. ot supported e GCC and G tested with GCC 4 3 and GCC 4 6 e subversion client e uuid dev e iasl https www acpica org downloads linux Note An ACPI5 0 compatible version is required Windows build environment dependencies e Python 2 6 or 2 7 Python 3 x not supported e Microsoft Visual Studio 2008 Professional e The Intel Quark SoC EDKII build is validated with the Win7 x64 VS2008x86 option shown in https github com tianocore tianocore github io wiki Windows systems ToolChain Matrix In addition the quarkbuild bat below enforces the x86 postfix onto the Visual Studio option for building under x64 Windows e TortoiseSVN 1 4 2 8580 or later installed with optional SVN command line tools e iASL Windows binaries https www acpica org downloads binary tools Note An ACPI5 0 compatible version is required and they should be extracted to a C ASL directory Pre build Setup The following steps are performed one time to prepare the EDKII workspace directory with the required source code before commencing the actual firmware build 1 Create the EDKII workspace directory and extract the contents of the Intel Quark SoC EDKII BSP into this directory Intel Quark SoC X1000 BSP Build and Software User Guide 10 Order Number 329687 008US Building the EDKII Firmware i n tel e 4 2 1 4 2 2 Note Note Note Order Number The file will have the name Quark EDKII
35. policy people will likely end up subclassing 07 these defaults 08 09 Notes 0 1 If you wish to build an image for the Galileo s on board SPI flash you 1 need to set DISTRO to one of the iot devkit spi value listed below 2 2 If you wish to build an image Linux kernel grub and root file system that 3 is stored on SD card you need to set DISTRO to iot devkit multilibc 4 DISTRO iot devkit spi 5 DISTRO iot devkit multilibc The bitbake target for a SPI image is image spi bitbake image spi Because the SPI image is smaller than the full SD USB image it completes quicker but may still take over an hour depending on network speed and machine specifications For the Intele Galileo board output files are found in tmp pi deploy images quark and include the following components e image spi quark cpio gz e image spi quark cpio lzma e bzImage e grub efi Intel Quark Linux on the SPI image uses uclibc which is a C library optimized for embedded systems This enables a very small Linux footprint that can fit into 8Mb SPI flash together with the UEFI bootloader and Grub OS loader These components now need to be loaded into SPI flash memory The processes for doing this are covered in Chapters 8 9 10 and 11 Intel Quark SoC X1000 BSP Build and Software User Guide 329687 008US 21 i n tel Creating a File System and Building the Kernel Using Yocto Project 6 3 Applying a Custom Patch to the Linu
36. r lib firmware cd media mmcb1k0p1 cp Flash cap lib firmware Flash cap echo n Flash cap gt sys firmware efi capsule capsule path echo 1 sys firmware efi capsule capsule update reboot Note Make sure you use the reboot command removing reinserting the power cable will not work Warning It is critical to ensure that the older sysfs entries used by Release 0 7 5 and Release 0 8 0 are not used due to known issues sys firmware efi capsule update sys firmware efi capsule path The capsule update method for Release 0 9 0 and later uses the following corrected entries sys firmware efi capsule capsule update sys firmware efi capsule capsule path Intel Quark SoC X1000 BSP Build and Software User Guide 34 Order Number 329687 008US Programming Flash on the Board Using DediProg i n tel 11 Programming Flash on the Board Using DediProg You can use a DediProg SF100 SPI Flash Programmer and the associated flashing software to program your board Note These steps require the Flasht PlatformData bin file that was created in Section 9 Once the software has been installed and the programmer is connected to the board open a new terminal session and run the DediProg Engineering application Use the following steps to flash the board Select the memory type if prompted when the application starts Select the File icon and choose the bin file you wish to flash Optionally select the Erase button to erase the
37. r Number 329687 008US Building the Linux Cross Compile Toolchain Using Yocto Project Linux Build Environment en tel http www yoctoproject org docs 1 6 mega manual mega manual html It is also possible to write a Yocto Project custom recipe which can be built using the bitbake command One advantage of this is that the application can be automatically added to the target root file system See Section 5 3 of the Yocto Project Development Manual for more detail on writing a new recipe http www yoctoproject org docs 1 6 dev manual dev manual html new recipe writing a new recipe Intel Quark SoC X1000 BSP Build and Software User Guide Order Number 329687 008US 25 i n tel Creating a Flash Image for the Board Linux build environment only 8 8 1 Note Note Creating a Flash Image for the Board Linux build environment only Dependencies e GCC e GNU Make e EDKII Firmware Volume Tools base tools e OpenSSL 0 9 8w libssl dev Using the SPI Flash Tools The SPI Flash Tools along with the metadata and flash image configuration in the sysimage archive are used to create a binary file that can be installed on the board and booted Open a new terminal session and extract the contents of the sysimage archive tar xvf sysimage tar gz Extract and install SPI Flash Tools tar xvf spi flash tools tar gz Extract all files to a directory that does not include the original ta
38. r files The sysimage directory contains the following preconfigured layout conf files e release build base SKU non secure e debug build base SKU non secure e release build secure SKU e debug build secure SKU Depending on what kind of image you want to build you must be in either the sysimage CP 8M debug or the sysimage CP 8M release directory The layout conf file defines how the various components will be inserted into the final binary file to be flashed onto the board The layout conf consists of a number of sections with associated address offsets file names and parameters Each section must reference a valid file so it is necessary to update the paths or create symbolic links to the valid files For more information refer to Appendix B SPI Flash Tools Intel Quark SoC X1000 BSP Build and Software User Guide 26 Order Number 329687 008US Creating a Flash Image for the Board Linux build environment only i n tel Note Note Note Order Number A script is provided that creates symbolic links Run the script with the command sysimage create symlinks sh Ensure there is no whitespace around the values defined in the layout conf file If you are using the Intel Galileo board you may need to modify the layout conf file in the Ramdisk section from image spi clanton cpio lzma to image spi galileo clanton cpio lzma to successfully generate your cap file Once a valid layout conf has
39. re file pass the c command line option which creates lt input file gt csbh as output in the same directory as the lt input file gt To get a full list of command line options run the signing tool with no option The signature files can be copied onto a USB stick or SD card and must comply with the following requirements e Each csbh file must be in the same directory as the corresponding non signed file e grub conf must be located in the boot grub directory e Other files can be placed anywhere as long as grub conf is configured with their location Intel Quark SoC X1000 BSP Build and Software User Guide 329687 008US 41 i n tel Signing Files Secure SKU only Linux build environment only The screenshots below show an example SD card with signature files e Copy signature files core image minimal initramfs clanton cpio gz csbh and bzImage csbh to the root directory e Copy grub cbsh to the boot grub directory oo gt Computer SD E gt A Li 7 I M Organize v Share with v Burn New folder Fr Favorites Name Date modified Type BE Desktop boot 14 01 2014 13 57 File folder Jg Downloads bzlmage 04 11 2013 18 36 File T Recent Places L bzlmage csbh 06 11 2013 12 53 CSBH File 4 core image minimal initramfs clanton cpio gz 04 11 2013 18 39 WinZip File T Libraries ore image minimal initramfs clanton cpio gz csbh 06 11 2013 12 53 CSBH File 3 Documents image fu
40. ss toolchain along with the sysroot to the target directory Note The environment setup script may change your environment significantly thus breaking other non Yocto Project tools you might be using including anything which uses Python You must open a new terminal session to source the Yocto Project environment and run make and run all your other commands in other terminal sessions When you are ready to compile your application first run the source command below to define default values for CC CONFIGURE FLAGS and other environment variables then you can compile source opt iot devkit 1 6 1 environment setup i586 poky linux S CC myfile c o myfile or source opt iot devkit 1 6 1 environment setup i586 poky linux S CC myfile c o myfile For general details see the Yocto Project Application Development Toolkit ADT information https www yoctoproject org tools resources projects application development toolkit adt Instructions about adding a package to the Linux build are found in Section 5 2 of the Yocto Project Development Manual http www yoctoproject org docs 1 6 dev manual dev manual html creating your own layer If you do not have any size constraints you can change the C library using the TCLIBC variable to a more fully featured C library Detailed instructions are found in Section 5 9 of the Yocto Project Quick Start Intel Quark SoC X1000 BSP Build and Software User Guide 24 Orde
41. stem Microsoft Windows 7 x64 e You need an internet connection to download third party sources e The build process may require as much as 30 GB of free disk space e To program the board you can use A serial interface using the UEFI shell or Linux run time see Section 10 A DediProg SF100 SPI Flash Programmer or equivalent and the associated flashing software see Section 11 An Intel Galileo IDE Galileo GEN board only refer to Appendix A Related Documents for User Guide details Remove all previous versions of the software before installing the current version Individual components require very different environments compiler options and others To avoid cross pollution the commands in each section that follows must be run in a new command line window every time If the commands fail or timeout it may be due to your proxy settings Contact your network administrator You may find answers here https wiki yoctoproject org wiki Working Behind a Network Proxy This release has been tested with Windows 7 64 bit and Debian Linux 7 0 Wheezy but will work with most other Linux distributions Linux builds have been validated on 64 bit Linux systems and may need additional steps for operation on 32 bit systems Intel Quark SoC X1000 BSP Build and Software User Guide 8 Order Number 329687 008US Downloading Software i n tel Note Order Number Downloading Software Download the BSP
42. t quarkbuild bat d32 S QuarkPlatform The built binaries are used in conjunction with chapter 8 to create Spi Flash binaries for development manufacture capsules for firmware update and recovery files for firmware recovery Note A CAPSULE FLAGS option can be used with the make utility in Chapter 8 this option is Note UEFI specific and will override the default UEFI capsule flags used by the make utility example gt spi flash tools Makefile CAPSULE FLAGS z0x00050000 See Create an Update Capsule in Intel Quark SoC X1000 UEFI Firmware Writer s Guide for information on UEFI capsule flags EDKII Firmware Build Standalone Output Files Chapter 8 Creating a Flash Image for the Board Linux build environment only is not required if the user only requires EDKII firmware in the SPI Flash on Intel Quark SoC Open SKU silicon Sections 4 3 and 4 4 create the following EDKII standalone output files e _ Build FV FlashModules Flash EDKII missingPDAT bin Full 8 MB image for manufacture with just the EDKII SPI flash images The user is still expected to use Section 9 following to create the final image for the board The platform data python script referenced in the Section 9 can be used in Linux or Windows build environments e _ Build FV RemediationModules Flash EDKII cap Capsule with just EDKII flash images that can be used instead of the capsule file referenced in Section 10 Applying this file only
43. tel Galileo board Be sure to set up your SD card with the files and structure shown below Le 9 E Elle Edit View Toos Hep Organize v Share with Burn New folder Name Date modified Type 1M Computer amp OsDisk C B sor a clanton swbuilds disk001 ng clanton swvalidation disk001 Ji disks boot 27 09 2013 14 57 File folder LJ bzimage 27 09 201312 26 File 2 064 KB E E core image minimal initramfs clanton cpio gz 27 09 201315 00 WinZip File 1 401 KB 5 L image full clanton ext3 31 12 2000 23 00 EXT3File 307 200 KB 2 Insert the SD card then power on the board Note The first time you boot the board may take several minutes This is expected behavior due to the SSH component creating cryptographic keys on the first boot Intel Quark SoC X1000 BSP Build and Software User Guide 36 Order Number 329687 008US Booting the Board From SD Card i n tel Troubleshooting tips To boot from SD USB the grub instance embedded in the SPI flash is hardcoded to search for a boot grub grub conf file in partition 1 on the SD USB card This is compatible with the factory formatting of most SD USB devices By default the UEFI firmware does not try to boot from SD or USB it is handled by grub If you use an SD or USB device that has been reformatted after manufacturing you might experience problems booting from it First try to boot with a different memory device and se
44. the meta clanton Yocto BSP or independently If you want to build a Flash image without a Yocto Linux system for example because you plan to boot a larger Yocto Linux system from an SD card or USB stick you should modify the appropriate layout conf file and delete the sections for bzImage and core image minimal initramfs clanton cpio gz Dependencies e GCC tested with version 4 3 4 and 4 6 3 and libc6 dev i386 e gnu efi 3 0u library tested with version gt 3 0 e GNU Make e Autotools autoconf automake and libtool e Python 2 6 or higher e git e gcc multilib texinfo This GRUB build requires the 32 bit gnu efi library which is included with many Linux distributions Alternatively you can download the latest version from http sourceforge net projects gnu efi files Unpack and compile the gnu efi library using the commands tar xvf gnu efi cd gnu efi gnuefi make ARCH ia32 ed Se dE ob ouk To build GRUB first open a new terminal session extract the grub package and run the gitsetup py script The script downloads all the upstream code required for grub and applies the patch Intel Quark SoC X1000 BSP Build and Software User Guide 16 Order Number 329687 008US Building the GRUB OS Loader Linux Build Environment Only i n tel y Note If you are not using Debian and had to manually install gnu efi in a non system location then you must point GNUEFI LIBDIR at the location where gnu e
45. updates the EDKII components of the SPI flash as provided in the capsule All other SPI flash assets remain intact If programming Flash EDKII cap On a board it is required that the SPI Flash version of the target board is at production level V1 0 0 or later Provided by the Flash cap Or Flash PlatformData bin files referenced in the sections that follow Intel Quark SoC X1000 BSP Build and Software User Guide 14 Order Number 329687 008US Building the EDKII Firmware i n tel e e _ Build FV RemediationModules CapsuleApp efi UEFI application referenced in Section 10 1 e _ Build FV RemediationModules FVMAIN fv Recovery file that can be used is included in Section 14 This version of the file only has the EDKII SPI flash images Note To change the default UEFI Capsule flags for the EDKII standalone builds the quarkbuild bat or quarkbuild sh files must be changed Intel Quark SoC X1000 BSP Build and Software User Guide Order Number 329687 008US 15 i n tel Building the GRUB OS Loader Linux Build Environment Only 5 Note Tip Building the GRUB OS Loader Linux Build Environment Only If you will run Yocto skip this section and use the file output by Yocto in this directory yocto build tmp deploy images grub efi If you are only interested in building a Flash image without Linux and not in using Yocto then proceed through this section GRUB is provided in two places inside
46. x kernel Using Yocto Project optional If you need any customization of your kernel such as additional debug statements or custom driver behavior then you may need to patch the Linux kernel This optional step must be done before you run the bitbake command 1 For customization of Yocto Project source code extract the updates to a patch from git using the git diff or git format patch commands 2 Copy the patch to the location as follows cp mypatch patch PATH TO MY BSP meta quark bsp recipes kernel linux files 3 Locate the bitbake recipe file PATH TO MY BSP meta quark bsp recipes kernel linux linux yocto quark 3 8 bb 4 Append the following line SRC URI file mypatch patch For example printf ss n SRC URI file mypatch patch gt gt linux yocto quark 3 8 bb 5 Return to Section 6 and run the bitbake command to get new images More information can be found here e http www yoctoproject org docs current ref manual ref manual html var SRC URI e http www yoctoproject org docs current dev manual dev manual html platdev appdev devshell Intel Quark SoC X1000 BSP Build and Software User Guide 22 Order Number 329687 008US Building the Linux Cross Compile Toolchain Using Yocto Project Linux Build Environment m tel 7 Building the Linux Cross Compile Toolchain Using Yocto Project Linux Build Environment Only To develop applications for the target architecture
Download Pdf Manuals
Related Search
Related Contents
SoftBank 202K 取扱説明書 Manual de usuario GT-7AWP-1 EN.cdr S224 F manuale uso e.. Deutsch Italiano 1 Prezado(a) Cliente, Nós sabemos que a compra de 1. Procédure 2. Examen de la question Copyright © All rights reserved.
Failed to retrieve file