Go to file
Mike Crowe e21d8ea944 PrepareBuildComponentBin: Avoid network access if commit available
It may be necessary to build Slimbootloader in situations where Internet
access is not available, or where it is important to ensure that there
is also a local copy of the build dependencies.

It's possible for the correct repositories to be cloned into the right
places outside the Slimbootloader build system. However,
PrepareBuildComponentBin previously insisted on attempting to
fetch from the remote repository every time.

If the .git directory exists, let's first try to check out the required
commit and only if that fails attempt to fetch.

This means that it's possible to stop the Slimbootloader build system
accessing the Internet by arranging for the correct repositories to be
cloned in the right places beforehand and setting the https_proxy
environment variables to unresolvable names to avoid accidental use.

Signed-off-by: Mike Crowe <mac@mcrowe.com>
2022-01-18 08:36:41 -08:00
.azurepipelines Update IASL to version 20190509 2022-01-05 12:01:15 -08:00
BaseTools [BaseTools] Update to latest EDK2 stable tag 202111 2021-12-13 14:08:25 -08:00
BootloaderCommonPkg [Common] Fix CSME update build issue 2022-01-05 12:01:43 -08:00
BootloaderCorePkg PrepareBuildComponentBin: Avoid network access if commit available 2022-01-18 08:36:41 -08:00
IntelFsp2Pkg [IntelFsp2Pkg] Update to latest EDK2 stable tag 202111 2021-12-13 14:08:25 -08:00
Licenses Use LF line endings in the repository 2021-11-10 12:46:42 -08:00
MdePkg [MdePkg] Update to latest EDK2 stable tag 202111 2021-12-13 14:08:25 -08:00
PayloadPkg HelloWorld: Use ConsolePrint to simplify code and fix GCC build 2022-01-13 08:09:25 -08:00
Platform [EHL] Update PROJ_MINOR_VER and PSE SIZE 2022-01-13 08:11:27 -08:00
Silicon Fix QEMU FSP TSEG size issue on Simics 2022-01-14 11:08:21 -08:00
.gitattributes Use LF line endings in the repository 2021-11-10 12:46:42 -08:00
.gitignore Use LF line endings in the repository 2021-11-10 12:46:42 -08:00
BuildLoader.py Enhance build tool 2022-01-14 11:08:31 -08:00
CODEOWNERS Use LF line endings in the repository 2021-11-10 12:46:42 -08:00
Dockerfile Use LF line endings in the repository 2021-11-10 12:46:42 -08:00
LICENSE Use LF line endings in the repository 2021-11-10 12:46:42 -08:00
README.rst Use LF line endings in the repository 2021-11-10 12:46:42 -08:00

README.rst

Slim Bootloader
================

**Welcome to the Slim Bootloader project!**

Slim Bootloader is an open-source boot firmware solution, built from the
ground up to be secure, lightweight, and highly optimized while leveraging
robust tools and libraries from the [EDK II](https://www.tianocore.org/edk2/)
framework.

What is a Bootloader?
---------------------
Just like a typical [BIOS](https://en.wikipedia.org/wiki/BIOS), Slim Bootloader
is the piece of software responsible for initializing the core hardware
components of the system when it is powered on, followed by the loading and
launching of the desired operating system.

Slim Bootloader offers the flexibility for OEMs, device manufacturers, and hobbyists
to isolate, configure, and optimize for the the specific requirements of the system
thereby achieving unparalleled boot performance and minimizing firmware footprint.

Supported Platforms
-------------------
Please visit [Supported Hardware](https://slimbootloader.github.io/supported-hardware/index.html) page for a list of platforms supported by Slim Bootloader.

Platform CI Build Status
------------------------

============================= ============= ============= ============= =============
 Toolchain                    DEBUGx86      RELEASEx86    DEBUGx64      RELEASEx64
============================= ============= ============= ============= =============
QEMU_Win_VS2019               |_unknown|    |_unknown|    |_unknown|    |_unknown|
QEMU_Lin_GCC5                 |qem_l32d|    |_unknown|    |_unknown|    |qem_l64r|
APL_Win_VS2019                |apl_w32d|    |_unknown|    |_unknown|    |apl_w64r|
APL_Lin_GCC5                  |_unknown|    |_unknown|    |apl_l64d|    |_unknown|
CFL_Win_VS2019                |_unknown|    |cfl_w32r|    |cfl_w64d|    |_unknown|
CFL_Lin_GCC5                  |_unknown|    |_unknown|    |_unknown|    |cfl_l64r|
CMLV_Win_VS2019               |_unknown|    |cmlv_w32r|   |cmlv_w64d|   |_unknown|
CMLV_Lin_GCC5                 |_unknown|    |_unknown|    |_unknown|    |cmlv_l64d|
CML_Win_VS2019                |_unknown|    |cml_w32r|    |cfl_w64d|    |_unknown|
CML_Lin_GCC5                  |cml_l32d|    |_unknown|    |_unknown|    |_unknown|
EHL_Win_VS2019                |_unknown|    |ehl_w32r|    |ehl_w64d|    |_unknown|
EHL_Lin_GCC5                  |ehl_l32d|    |_unknown|    |_unknown|    |_unknown|
TGL_Win_VS2019                |_unknown|    |tgl_w32r|    |tgl_w64d|    |_unknown|
TGL_Lin_GCC5                  |tgl_l32d|    |_unknown|    |_unknown|    |_unknown|
============================= ============= ============= ============= =============

Getting Started
---------------
Documentation for compiling, using, and extending Slim Bootloader can be found
[here](https://slimbootloader.github.io/).

Mailing List
--------------
You can subscribe to our mailing list for questions or share your learnings:
https://groups.io/g/slimbootloader

Topic Archive: https://groups.io/g/slimbootloader/topics

License
-------
Slim Bootloader is released under the terms of the BSD-2-Clause Plus Patent License.
Please see the `LICENSE` file for the full terms of the license.

Slim Bootloader may include other Open Source Software licensed pursuant to license agreement(s)
identified in the applicable source code file(s) and/or file header(s).

.. |_unknown| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Windows&configuration=Windows%20UNKNOWN
.. |qem_l32d| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=QEMU
.. |qem_l64r| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Linux&configuration=Linux%20QEMU_X64_RELEASE
.. |apl_w32d| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Windows&configuration=Windows%20APL_X86_DEBUG
.. |apl_w64r| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Windows&configuration=Windows%20APL_X64_RELEASE
.. |apl_l64d| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Linux&configuration=Linux%20APL_X64_DEBUG
.. |cfl_w32r| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Windows&configuration=Windows%20CFL_X86_RELEASE
.. |cfl_w64d| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Windows&configuration=Windows%20CFL_X64_DEBUG
.. |cfl_l64r| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Linux&configuration=Linux%20CFL_X64_RELEASE
.. |cmlv_w32r| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Windows&configuration=Windows%20CMLV_X86_RELEASE
.. |cmlv_w64d| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Windows&configuration=Windows%20CMLV_X64_DEBUG
.. |cmlv_l64d| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Linux&configuration=Linux%20CMLV_X64_DEBUG
.. |cml_w32r| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Windows&configuration=Windows%20CML_X86_RELEASE
.. |cml_w64d| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Windows&configuration=Windows%20CML_X64_DEBUG
.. |cml_l32d| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Linux&configuration=Linux%20CML_X86_DEBUG
.. |tgl_w32r| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Windows&configuration=Windows%20TGL_X86_RELEASE
.. |tgl_w64d| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Windows&configuration=Windows%20TGL_X64_DEBUG
.. |tgl_l32d| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Linux&configuration=Linux%20TGL_X86_DEBUG
.. |ehl_w32r| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Windows&configuration=Windows%20EHL_X86_RELEASE
.. |ehl_w64d| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Windows&configuration=Windows%20EHL_X64_DEBUG
.. |ehl_l32d| image:: https://dev.azure.com/slimbootloader/slimbootloader/_apis/build/status/slimbootloader.slimbootloader?branchName=master&jobName=Linux&configuration=Linux%20EHL_X86_DEBUG