summaryrefslogtreecommitdiff
path: root/ReadMe.MD
blob: eee620e7d36b9b7ca52c0e85335b8975896f078a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
      Sample UEFI Firmware for the N-series Intel(R) Pentium(R) Processor
      and Intel(R) Celeron(R) Processor Families (formerly Braswell)

The N-series Intel(R) Pentium(R) processor and Intel(R) Celeron(R) processor families
(formerly Braswell) use a multicore System on a Chip (SoC) based on a new
microarchitecture and are manufactured on Intel’s industry leading tri-gate
14nm process. http://ark.intel.com/products/codename/66094/Braswell#@Embedded 

This sample UEFI firmware is designed for N-series Intel Pentium processor and
Intel Celeron processor families, and has been verified on the Intel Cherry Hill
BSP. This sample codebase uses the Intel UDK2015 core and Intel(R) Firmware Support
Package (Intel(R) FSP) to demonstrate building a full UEFI solution by combining
open source EDK II with Intel(R) FSP binaries.

This code combines elements from github, intel.com/fsp and firmware.intel.com

===============================================================================
                            HOW TO CREATE A FULL SOURCE TREE
===============================================================================
1) Create a new folder (directory) on the root of your local development machine
   for use as your work space (for example "C:\MyWorkspace").
   
   NOTE: Some code paths are very long, and placing the working directory too
         deep below the ROOT directory may cause the path to be longer than the 
         operating system or file system's maximum path length.

2) Enter "C:\MyWorkspace", then run following git command to get the
   pentium-celeron-n-udk2015 code branch:
   git clone https://github.com/tianocore/edk2-platforms.git -b pentium-celeron-n-udk2015
  
   Once the download completes, all EDK II packages and files will be found
   under the "C:\MyWorkspace\edk2-platforms" directory.

3) Get the BaseTools binary:
   a. git clone https://github.com/tianocore/edk2-BaseTools-win32.git
   b. git checkout ea691aec89b06aa83474100df1de000a875b4ea0
   c. Put BaseTools Binary "edk2-BaseTools-win32" into MyWorkspace\edk2-platforms\BaseTools\Bin", 
   d. Change folder name from "C:\MyWorkspace\edk2-platforms\BaseTools\Bin\edk2-BaseTools-win32"
      to "C:\MyWorkspace\edk2-platforms\BaseTools\Bin\win32"

4) Get the 'Intel(R) Firmware Support Package for Intel(R) Pentium(R) and Celeron(R)
   Processor N3000 Product Families and Intel(R) Atom(TM) x5-E8000 Processor' from 
   https://github.com/IntelFsp/FSP/tree/Braswell :
   git clone -b Braswell https://github.com/IntelFsp/FSP.git
   
5) Copy the following files into the Workspace:
   a. Copy FspUpdVpd.h into the "C:\MyWorkspace\edk2-platforms\ChvFspBinPkg\Include" directory.
   b. Create the "FspBinary" sub-directory under the "C:\MyWorkspace\edk2-platforms\ChvFspBinPkg"
      directory, if it does not exist ("C:\MyWorkspace\edk2-platforms\ChvFspBinPkg\FspBinary").
   c. Copy BSWFSP.fd into the "C:\MyWorkspace\edk2-platforms\ChvFspBinPkg\FspBinary" directory.
   
6) Download the 'BraswellPlatformPkg' package from firmware.intel.com:
   https://firmware.intel.com/projects/braswell-uefi
   NOTE: The directory structure of BraswellPlatformPkg changed between the 2016-06-15
   and 2016-08-05 releases. Check your BraswellPlatformPkg git hash to determine which 
   version to download.
   If BraswellPlatformPkg hash is f71cf3bf29aa216bc72f703815a7f96fb2ca0592(2016-08-05 release) or
   after this hash, please download this link:
   https://firmware.intel.com/sites/default/files/BraswellPlatformPkg_2016-08-05.zip
   If BraswellPlatformPkg hash is 471674c0aa4350c48e5e9e8f2d8962883f582275(2016-06-15 release), 
   please download this link:
   https://firmware.intel.com/sites/default/files/BraswellPlatformPkg_2016-06-15.zip

   

7) Unzip the 'BraswellPlatformPkg' package and move the contents into the Workspace:
   a. Copy the "BraswellPlatformPkg" sub-directory over the existing directory
      in the Workspace ("C:\MyWorkspace\edk2-platforms\BraswellPlatformPkg"). This will add
      files to the "Microcode", "Stitch" and "UNDI" sub-directories.

8) Follow the instructions found in the "Patch-HOWTO.txt" file located in the Workspace
   (e.g. "C:\MyWorkspace\edk2-platforms\CryptoPkg\Library\OpensslLib\Patch-HOWTO.txt")
   to install the Openssl source code.

================================================================================
                            HOW TO BUILD (WINDOWS ENVIRONMENT)
================================================================================
OS Configuration:
  Microsoft Windows 8.1 Ultimate 64-bit*
  
1. Setup Build Environment
   1) Install a C compiler (Visual Studio .NET 2008, 2010 or 2013) on the 
      build machine.
      
   2) Install version Python 2.6.4 from: https://www.python.org/download/releases/2.6.4/
      Make sure that a file with the extension of ".py" will be opened by Python.exe.
      
   3) Install the iasl compiler by downloading acpica-win-20141107.zip from the
      following location: "https://acpica.org/downloads/version-20141107" and
      place the unzipped content ("iasl.exe") into the "C:\ASL" directory on your
      local drive (create the folder "C:\ASL" if it does not exist).
       
2. Follow the instructions of "HOW TO CREATE A FULL SOURCE TREE" to create a 
   full source tree.
           
3a. Build Steps (32-bit)
   1) To build a 32-bit release version
      Open a command prompt window (make certain you "Run as Administrator"). 
      Type the command: "cd C:\MyWorkspace\edk2-platforms\BraswellPlatformPkg" 
      Type the command "BuildBsw.bat /vs08 /r /ia32 BRAS" to build a release version.
      (/vs08 = Visual Studio 2008; /vs10 = Visual Studio 2010; /vs13 = Visual Studio 2013) 
      
   2) To build a 32-bit debug version
      Open a command prompt window (make certain you "Run as Administrator"). 
      Type the command: "cd C:\MyWorkspace\edk2-platforms\BraswellPlatformPkg" 
      Type command "BuildBsw.bat /vs08 /d /ia32 BRAS" to build a debug version.
      (/vs08 = Visual Studio 2008; /vs10 = Visual Studio 2010; /vs13 = Visual Studio 2013) 
               
   3) After the build successfully completes, the 8MB firmware binary image
      will be located in "C:\MyWorkspace\edk2-platforms\Build\"  

3b. Build Steps (64-bit)
   1) To build a 64-bit release version
      Open a command prompt window (make certain you "Run as Administrator"). 
      Type the command: "cd C:\MyWorkspace\edk2-platforms\BraswellPlatformPkg"
      Type the command "BuildBsw.bat /vs08 /r BRAS" to build a release version.
      (/vs08 = Visual Studio 2008; /vs10 = Visual Studio 2010; /vs13 = Visual Studio 2013) 
      
   2) To build a 64-bit debug version
      Open a command prompt window (make certain you "Run as Administrator"). 
      Type the command: "cd C:\MyWorkspace\edk2-platforms\BraswellPlatformPkg" 
      Type command "BuildBsw.bat /vs08 /d BRAS" to build a debug version.
      (/vs08 = Visual Studio 2008; /vs10 = Visual Studio 2010; /vs13 = Visual Studio 2013) 
               
   3) After the build successfully completes, the 8MB firmware binary image
      will be located in "C:\MyWorkspace\edk2-platforms\Build\"      
      
================================================================================
                           VALIDATED OS
================================================================================ 
1. Yocto Revision 1.8 (x64)
2. Microsoft Windows 10 Enterprise, Build 10240 (x64 [64-bit] and x86 [32-bit])
3. Ubuntu 15.10 Desktop (x64)

================================================================================
                           DOCUMENTS AND RESOURCES
================================================================================ 
1. Open source platforms - EDKII using Intel FSP
http://firmware.intel.com/blog/open-source-platforms-edkii-using-intel-fsp     

2. Open Braswell UEFI Codebase - Design and Porting Guide 
https://github.com/mangguo321/Braswell/blob/master/Documents/Open_Braswell_Platform_Designing_Porting_Guide.pdf 

3. Yocto BSP for Intel N3700, N3000, N3050, N3150 Mobile and Embedded Processors
https://www.yoctoproject.org/downloads/bsps/fido18/cherry-hill-bsp-braswell

================================================================================
                                  KNOWN ISSUES
================================================================================

1. Linux build environments are not currently supported.

================================================================================
                                  MAINTAINERS
================================================================================
david.wei@intel.com
mang.guo@intel.com
tim.he@intel.com
vincent.zimmer@intel.com
mike.wu@intel.com 
shifeix.a.lu@intel.com