From: "Ni, Ray" <ray.ni@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>
Subject: TianoCore Community Design Meeting Minutes
Date: Fri, 19 Apr 2019 05:55:15 +0000 [thread overview]
Message-ID: <734D49CCEBEEF84792F5B80ED585239D5C0F67BB@SHSMSX104.ccr.corp.intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 3444 bytes --]
Hi everyone,
In the first design meeting, Matthew and Sean from Microsoft presented the Mu tools.
Below are some notes Mike and I captured from the meeting.
Please reply to this mail for any questions and comments.
Matthew Carlson / Sean Brogan - Microsoft - Project Mu Tools https://edk2.groups.io/g/devel/files/Designs/2019/0418/2019-04-18%20Microsoft%20-%20Build%20Tools%20-%20Design%20Review%20.pdf
------------------------------------
EDKII tool
- uses batch/scripts with build command
- does not provide a consistent recipe for doing platforms
Background
- Mu is to organize code to support building products.
- Boot strapping refers to setting up initial build environment for building a product or platform.
- Splitting the code: A platform only needs to see the code the platform uses to build.
Mu tools use Python
- Install modules/tools with pip.
- Makes modules/tools available globally.
- Simplified python sources - import statements and version management.
- Allows python source to move within repo or between repos without source changes.
3 layers of pip modules from top to bottom:
- Mu-build (support CI)
- Mu-environment (support platform build)
- Mu-python-library (common code)
pip modules are already released in python3 pip storage.
- Will do release on demand.
- Expect to work in Win and Linux.
- Will try on MAC.
Build a platform through PlatformBuild.py
- Starts with ~1% of platform code
- Dependencies resolving phase pulls additional platform code
* Multiple GIT repos are needed by platform. The dep resolving phase simplifies the code setup. "setup" phase is isolated and can be skipped or replaced with other similar tools.
Plugin Manager
- Only accept python plugins
- If tool is an exe, then a python wrapper is required.
- This plugin manager is not standard. It is part of the mu tool extensions.
Question: Checkpoint and reproducibility
- Check pointing allows multiple builds with each build starting with same state
- Check pointing limited to system env and sys env variables.
- Must clean up platforms to not generate output files in source dirs.
Developer experience
- Can switch from one platform env to another easily.
- Devs working on common code and test across multiple platforms by switching platform env
Example of override - will send pointer
- #Override : 00000001 | MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf | c02f12780a5b035346be539c80ccd0e5 | 2018-10-05T21-43-51
- https://github.com/Microsoft/mu_plus/blob/release/201903/MsGraphicsPkg/DisplayEngineDxe/DisplayEngineDxe.inf
- Files go here? https://edk2.groups.io/g/devel/files/Designs/2019/0418
VS2017 - VSWhere
- VS2017 supports multiple versions being installed
- Selects most recent version by default
- Platform can select a specific version.
- Gap in EDK II tools_def.txt today. Requires different tool chain tag for each version of VS2017
Documentation
- Links in presentation
- RFC will be sent out in middle of May
- More coming
Question: CI tests- are they build only?
- They can do build and run tests. Can also do pre-checks based on plugins
IMX is an example platform build that anyone can pull and try (https://github.com/ms-iot/MU_PLATFORM_NXP)
Thanks,
Ray
[-- Attachment #2: Type: text/html, Size: 8937 bytes --]
next reply other threads:[~2019-04-19 5:55 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-19 5:55 Ni, Ray [this message]
2019-04-23 18:22 ` [edk2-devel] TianoCore Community Design Meeting Minutes Laszlo Ersek
2019-04-23 20:37 ` Brian J. Johnson
2019-05-02 19:33 ` Sean
2019-05-03 8:45 ` Laszlo Ersek
2019-05-03 21:41 ` Brian J. Johnson
2019-05-06 16:06 ` Laszlo Ersek
2019-05-07 17:23 ` Brian J. Johnson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=734D49CCEBEEF84792F5B80ED585239D5C0F67BB@SHSMSX104.ccr.corp.intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox