- Install\r
* ASL compiler: Available from http://www.acpica.org\r
- Install into ```C:\ASL``` to match default tools_def.txt configuration.\r
+* Python 2.7: Available from http://www.python.org\r
\r
Create a new directory for an EDK II WORKSPACE.\r
\r
The code block below shows the GIT clone operations required to pull the EDK II\r
-source tree, the FatPkg sources, the pre-built versions of BaseTools as WIN32\r
-binaries, and the edk2-non-osi repository that provides a binary file for the\r
+source tree and the edk2-non-osi repository that provides a binary file for the\r
Quark Remote Management Unit (RMU).\r
\r
Next it sets environment variables that must be set before running\r
https://github.com/tianocore/tianocore.github.io/wiki/Multiple_Workspace)\r
feature is used.\r
\r
+Next, the EDK II BaseTools required to build firmware images are built.\r
+\r
Next, the ```edksetup.bat``` file is run to complete the initialization of an\r
EDK II build environment. Two example build commands are shown. The first one\r
in ```QuarkPlatformPlg/Quark.dsc``` builds a full UEFI firmware image that is\r
\r
```cmd\r
git clone https://github.com/tianocore/edk2.git\r
-git clone https://github.com/tianocore/edk2-FatPkg.git FatPkg\r
-git clone https://github.com/tianocore/edk2-BaseTools-win32.git\r
git clone https://github.com/tianocore/edk2-non-osi.git\r
\r
+set PYTHON_HOME=c:\Python27\r
set WORKSPACE=%CD%\r
-set PACKAGES_PATH=%WORKSPACE%\edk2;%WORKSPACE%\edk2-non-osi\r
-set EDK_TOOLS_BIN=%WORKSPACE%\edk2-BaseTools-win32\r
+set PACKAGES_PATH=%WORKSPACE%\edk2;%WORKSPACE%\edk2-non-osi\Silicon\Intel\r
+set EDK_TOOLS_PATH=%WORKSPACE%\edk2\BaseTools\r
+cd %WORKSPACE%\edk2\r
\r
-cd edk2\r
-edksetup.bat\r
+BaseTools\toolsetup.bat Rebuild\r
+\r
+edksetup.bat Rebuild\r
\r
build -a IA32 -t VS2015x86 -p QuarkPlatformPkg/Quark.dsc\r
build -a IA32 -t VS2015x86 -p QuarkPlatformPkg/QuarkMin.dsc\r
* GIT client\r
* GCC 4.9 compiler\r
* ASL compiler: Available from http://www.acpica.org.\r
+* Python 2.7\r
\r
Create a new directory for an EDK II WORKSPACE.\r
\r
The code block below shows the GIT clone operations required to pull the EDK II\r
-source tree, the FatPkg sources, and the edk2-non-osi repository that provides a\r
-binary file for the Quark Remote Management Unit (RMU).\r
+source tree and the edk2-non-osi repository that provides a binary file for the\r
+Quark Remote Management Unit (RMU).\r
\r
Next it sets environment variables that must be set before running\r
```edksetup.bat```. Since content is being pulled from multiple repositories,\r
\r
Next, the EDK II BaseTools required to build firmware images are built.\r
\r
-Next, the ```edksetup.bat``` file is run to complete the initialization of an\r
+Next, the ```edksetup.sh``` file is run to complete the initialization of an\r
EDK II build environment. Two example build commands are shown. The first one\r
in ```QuarkPlatformPlg/Quark.dsc``` builds a full UEFI firmware image that is\r
able to boot the built-in UEFI Shell and Linux from a micro SD FLASH card. The\r
\r
```sh\r
git clone https://github.com/tianocore/edk2.git\r
-git clone https://github.com/tianocore/edk2-FatPkg.git FatPkg\r
git clone https://github.com/tianocore/edk2-non-osi.git\r
\r
export WORKSPACE=$PWD\r
-export PACKAGES_PATH=$WORKSPACE/edk2:$WORKSPACE/edk2-non-osi\r
+export PACKAGES_PATH=$WORKSPACE/edk2:$WORKSPACE/edk2-non-osi/Silicon/Intel\r
export EDK_TOOLS_PATH=$WORKSPACE/edk2/BaseTools\r
-\r
-make -C edk2/BaseTools\r
-\r
cd $WORKSPACE/edk2\r
\r
+make -C BaseTools\r
+\r
. edksetup.sh BaseTools\r
\r
build -a IA32 -t GCC49 -p QuarkPlatformPkg/Quark.dsc\r
| ```SECURE_BOOT_ENABLE``` | FALSE | TRUE, FALSE |\r
| ```MEASURED_BOOT_ENABLE``` | FALSE | TRUE, FALSE |\r
| ```TPM_12_HARDWARE``` | NONE | NONE, LPC, ATMEL_I2C, INFINEON_I2C |\r
+| ```CAPSULE_ENABLE``` | FALSE | TRUE, FALSE |\r
+| ```RECOVERY_ENABLE``` | FALSE | TRUE, FALSE |\r
\r
* ```GALILEO``` - Used to specify the type of Intel(R) Galileo board type. The\r
default is ```GEN2``` for the [Intel(R) Galileo Gen 2 Development Board](\r
has been tested with the [CryptoShield](https://www.sparkfun.com/products/13183)\r
available from [SparkFun](https://www.sparkfun.com/).\r
\r
+* ```CAPSULE_ENABLE``` - Used to enable/disable capsule update features.\r
+ The default is FALSE for disabled. Add ```-D CAPSULE_ENABLE``` to the\r
+ build command line to enable capsule update features.\r
+ The build process generate capsule update image - QUARKFIRMWAREUPDATECAPSULEFMPPKCS7.Cap.\r
+ The user need copy QUARKFIRMWAREUPDATECAPSULEFMPPKCS7.Cap and CapsuleApp.efi\r
+ to a storage media attached to the Quark Board.\r
+ Then the user can boot to shell and run ```CapsuleApp QUARKFIRMWAREUPDATECAPSULEFMPPKCS7.Cap```.\r
+ In next reboot, the system firmware is updated.\r
+\r
+* ```RECOVERY_ENABLE``` - Used to enable/disable recovery features.\r
+ The default is FALSE for disabled. Add ```-D RECOVERY_ENABLE``` to the\r
+ build command line to enable recovery features.\r
+ The build process generates the recovery capsule image - QUARKREC.Cap.\r
+ Then the user need copy QUARKREC.Cap to a USB KEY, plug the USB KEY to the Quark Board.\r
+ In next boot, if a user runs ForceRecovery.efi in shell, or if a user presses the RESET button during power on, warm reset or REBOOT,\r
+ or if the FvMain is corrupted in flash, the system will boot into recovery mode.\r
\r
### **Example Build Commands**\r
\r
\r
Enable UEFI Secure Boot and Measured Boot using Atmel I2C TPM hardware device:\r
\r
-```build -a IA32 -t VS2015x86 -p QuarkPlatformPkg/Quark.dsc -D UEFI_SECURE_BOOT\r
--D MEASURED_BOOT_ENABLE -D TPM_12_HARDWARE=ATMEL_I2C```\r
+```build -a IA32 -t VS2015x86 -p QuarkPlatformPkg/Quark.dsc -D UEFI_SECURE_BOOT -D MEASURED_BOOT_ENABLE -D TPM_12_HARDWARE=ATMEL_I2C```\r
\r
## **FLASH Update using DediProg SF100**\r
\r