From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: ray.ni@intel.com) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by groups.io with SMTP; Thu, 18 Apr 2019 22:55:19 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Apr 2019 22:55:19 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,368,1549958400"; d="scan'208,217";a="143980173" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga003.jf.intel.com with ESMTP; 18 Apr 2019 22:55:18 -0700 Received: from shsmsx105.ccr.corp.intel.com (10.239.4.158) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 18 Apr 2019 22:55:18 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.92]) by SHSMSX105.ccr.corp.intel.com ([169.254.11.25]) with mapi id 14.03.0415.000; Fri, 19 Apr 2019 13:55:16 +0800 From: "Ni, Ray" To: "devel@edk2.groups.io" Subject: TianoCore Community Design Meeting Minutes Thread-Topic: TianoCore Community Design Meeting Minutes Thread-Index: AdT2dGljIhGTHITdSsanp2dRbuK4Qg== Date: Fri, 19 Apr 2019 05:55:15 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5C0F67BB@SHSMSX104.ccr.corp.intel.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiN2QzYzQ5ZGQtMTZjZS00MWYwLTk2YTEtYzAzM2UxYzkwNzM4IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiOVVJNnJoR0w1VXJqb0VIMkowa2xRaVgyVmliZWtEK1VIdmVVN3FySDlpeEcyV2FNTlRLSXdOTDBLaG9lSkpTQiJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: ray.ni@intel.com Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_734D49CCEBEEF84792F5B80ED585239D5C0F67BBSHSMSX104ccrcor_" --_000_734D49CCEBEEF84792F5B80ED585239D5C0F67BBSHSMSX104ccrcor_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable 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.g= roups.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 buildin= g a product or platform. - Splitting the code: A platform only needs to see the code the platform us= es 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 sim= plifies the code setup. "setup" phase is isolated and can be skipped or rep= laced 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 extension= s. 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 switchi= ng platform env Example of override - will send pointer - #Override : 00000001 | MdeModulePkg/Universal/DisplayEngineDxe/DisplayEng= ineDxe.inf | c02f12780a5b035346be539c80ccd0e5 | 2018-10-05T21-43-51 - https://github.com/Microsoft/mu_plus/blob/release/201903/MsGraphicsPkg/Di= splayEngineDxe/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://gith= ub.com/ms-iot/MU_PLATFORM_NXP) Thanks, Ray --_000_734D49CCEBEEF84792F5B80ED585239D5C0F67BBSHSMSX104ccrcor_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi everyone,

In the first design meeting, Matthew and Sean fro= m 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 c= omments.

 

Matthew Carlson / Sean Brogan – Microsoft &= #8211; Project Mu Tools https://edk2.groups.io/g/devel/files/Designs/2019/0418/2019-04-18%20Microso= ft%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 prod= ucts.

- Boot strapping refers to setting up initial bui= ld environment for building a product or platform.

- Splitting the code: A platform only needs to se= e 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 statem= ents and version management.

- Allows python source to move within repo or bet= ween repos without source changes.

 

3 layers of pip modules from top to bottom:<= /o:p>

- Mu-build (support CI)

- Mu-environment (support platform build)

- Mu-python-library (common code)

 

pip modules are already released in python3 pip s= torage.

- 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 p= latform code

   * Multiple GIT repos are needed by p= latform. The dep resolving phase simplifies the code setup. ”setup= 221; phase is isolated and can be skipped or replaced with other similar to= ols.

 

Plugin Manager

- Only accept python plugins

- If tool is an exe, then a python wrapper is req= uired.

- This plugin manager is not standard.  It i= s 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 en= v variables.

- Must clean up platforms to not generate output = files in source dirs.

 

Developer experience

- Can switch from one platform env to another eas= ily.

- Devs working on common code and test across mul= tiple platforms by switching platform env

 

Example of override – will send pointer

- #Override : 00000001 | MdeModulePkg/Universal/D= isplayEngineDxe/DisplayEngineDxe.inf | c02f12780a5b035346be539c80ccd0e5 | 2= 018-10-05T21-43-51

- https://github.com/Microsoft/mu_plus/blob/release/201903/MsGraphicsPkg/Disp= layEngineDxe/DisplayEngineDxe.inf

- Files go here?  https://edk2.groups.io/g/devel/files/Designs/2019/0418

 

VS2017 – VSWhere

- VS2017 supports multiple versions being install= ed

- Selects most recent version by default

- Platform can select a specific version.

- Gap in EDK II tools_def.txt today.  Requir= es 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

 

 

--_000_734D49CCEBEEF84792F5B80ED585239D5C0F67BBSHSMSX104ccrcor_--