summaryrefslogtreecommitdiff
path: root/Platform/ReadMe.MD
blob: b0341a5264194b2780a214be28d443f62af87d38 (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
# Intel Atom(R) Processor E3900 Series Platforms

This codebase is designed for Intel Atom(R) Processor E3900 Series platforms
(https://www.intel.com/content/www/us/en/embedded/products/apollo-lake/overview.html) (formerly Apollo Lake).

## **Download the sources**

### Download official released sources:

 Please refer to the release notes to download official released sources.

 Get release notes from https://firmware.intel.com/projects/minnowboard3

### Download the latest sources:

(Official releases sources is recommanded as it is passed stability testing)
```
1. Create a new directory for use as your WORKSPACE (e.g. "C:\MyWorkspace").

2. Download below repository and required files to this WORKSPACE:

edk2 repository
    git clone -b vUDK2018 https://github.com/tianocore/edk2.git

edk2-platforms repository
    git clone https://github.com/tianocore/edk2-platforms.git -b devel-IntelAtomProcessorE3900

Intel(R) Firmware Support Package(Intel(R) FSP)
   1.git clone -b ApolloLake https://github.com/IntelFsp/FSP.git
   2.cd FSP
   3.git checkout a57c66616e78b471515a1e1862796bf61d3824d8
   4.Copy the ApolloLakeFspBinPkg to the folder
     "C:\MyWorkspace\edk2-platforms\Silicon\BroxtonSoC\BroxtonFspPkg".

3. Download UEFI UNDI driver:
   1.Install UEFI UNDI driver for Intel i210 Ethernet Controller
   Download PREBOOT.EXE Version 21.1 from the "Intel® Ethernet Connections 
   Boot Utility, Preboot Images, and EFI Drivers" page.
     https://downloadcenter.intel.com/download/19186/Intel-Ethernet-Connections-Boot-Utility-Preboot-Images-and-EFI-Drivers
   Windows user:
   a. Install PREBOOT.EXE into the default folder (C:\Intel21.1).
   b. Copy the UEFI x64 PCI-E gigabit driver (C:\Intel21.1\APPS\EFI\EFIx64\E7320X3.EFI) 
      to the platform package directory below, create the folder if it does not exist:
      "C:\MyWorkspace\edk2-platforms\Platform\BroxtonPlatformPkg\Common\Binaries\UNDI\I210PcieUndiDxe"
   Linux user:
   a. Use command "unzip PREBOOT.EXE" to extract UEFI x64 PCI-E gigabit driver 
      (preboot/APPS/EFI/EFIx64/E7320X3.EFI)
   b. Copy E7320X3.EFI to platform package directory below, create the folder
      if it does not exist:
      "~/src/MyWorkspace/edk2-platforms/Platform/BroxtonPlatformPkg/Common/Binaries/UNDI/I210PcieUndiDxe"

   2.Install UNDI driver for AX88179 USB-to-LAN adapter
   a. Download AX88179_178A_UEFI_V2.7.0.zip from http://www.asix.com.tw/FrootAttach/driver/AX88179_178A_UEFI_V2.7.0.zip.
   b. Unzip AX88179_178A_UEFI_V2.7.0.zip to get AX88179_178A_UEFI_V2.7.0_X64.efi and AX88179_178A_UEFI_V2.7.0_IA32.efi.
   C. Copy AX88179_178A_UEFI_V2.7.0_X64.efi and AX88179_178A_UEFI_V2.7.0_IA32.efi to below directory, create the folder
      if it does not exist:
      Windows user: "C:\MyWorkspace\edk2-platforms\Platform\BroxtonPlatformPkg\Common\Binaries\UNDI\AX88179\"
      Linux user: "~/src/MyWorkspace/edk2-platforms/Platform/BroxtonPlatformPkg/Common/Binaries/UNDI/AX88179/"

4. Follow the instructions found in the "OpenSSL-HOWTO.txt" file located in the Workspace
   (e.g. "C:\MyWorkspace\edk2-platforms\Core\CryptoPkg\Library\OpensslLib\OpenSSL-HOWTO.txt")
   to install the OpenSSL* source code and enable the CryptoPkg module.   

5. Download MinnowBoard 3 Binary Object Modules
   a. Download the "MinnowBoard_v3-0.69-Binary.Objects.zip" from the project page:
      https://firmware.intel.com/projects/minnowboard3

   b. Unzip and copy the two folders (MinnowBoard3, MinnowBoard3Next) into
      the directory below, and create the folder if it does not exist:
      "C:\MyWorkspace\edk2-platforms\Platform\BroxtonPlatformPkg\Board\"
```

## **Windows Build Instructions**

### Pre-requisites

* Microsoft Visual Studio.
  - Install C compiler (Visual Studio .NET* VS2013/VS2015) on the build machine.
* ASL compiler: Available from http://www.acpica.org
  - Unzip and copy ```iasl.exe``` into ```C:\MyWorkspace\edk2-platforms\Platform\BroxtonPlatformPkg\Common\Tools\Iasl```.
* NASM assembler:  Available from: http://www.nasm.us/
  - Unzip the 32-bit & 64-bit versions of nasm.exe to the directories listed below
  ```
  C:\MyWorkspace\edk2-platforms\Platform\BroxtonPlatformPkg\Common\Tools\nasm\Win32
  C:\MyWorkspace\edk2-platforms\Platform\BroxtonPlatformPkg\Common\Tools\nasm\Win64
  ```
* Python 2.7.10:  Available from: https://www.python.org/downloads/release/python-2710/
  - Install Python and make sure that a file with the extension of ".py" will be opened by Python.exe.

### Build

1. Open command window, goto the workspace dir, e.g. c:\MyWorkspace.
2. Type "cd edk2-platforms".
3. Build

      Examples:      
       To build release version 32-bit BIOS for Minnowboard 3 FAB B with VS2013,
         BuildBIOS.bat /vs13 /B /IA32 Broxton Release
            
       To build release version 64-bit BIOS for Minnowboard 3 FAB B with VS2013,
         BuildBIOS.bat /vs13 /B /x64 Broxton Release

## **Linux Build Instructions**

### Pre-requisites

* Linux System Configuration.
  - Ubuntu 16.04 64 bit
  - GCC version 5 or above
* Use below command to install required packages:
    ```
      # sudo apt-get update
      # sudo apt-get install nasm 
      # sudo apt-get install iasl
      # sudo apt-get install build-essential
      # sudo apt-get install uuid-dev
	```

### Build

1. Open a command prompt, goto the platform package "MyWorkspace/edk2-platforms".
2. Build
   - Type "./BuildBIOS.sh /B Broxton Release" to build a release version.
   - Type "./BuildBIOS.sh /B Broxton Debug" to build a debug version.
   
## **Related Materials**

### Projects Supported by this codebase

   (1) MinnowBoard 3 open hardware project:
  
   http://minnowboard.org/ -- Platform Information.

   https://firmware.intel.com/projects/minnowboard3 -- Release notes, pre-built release/debug binaries, build instructions, and binary objects required to compile firmware.