Liming,

I see the usage of Submodules is documented at the end of the Readme.md. I would not think of going to a Submodules section to figure out how to get started or clone the repo. 

I did not think of reading the full  Readme.md as most of it is about "How to Contribute to" not how to use the repo. 

From TianoCore.org I followed this path:
https://www.tianocore.org/getting-started.html
https://github.com/tianocore/tianocore.github.io/wiki/Getting-Started-with-EDK-II

https://github.com/tianocore/tianocore.github.io/wiki/Windows-systems
or
https://github.com/tianocore/tianocore.github.io/wiki/Common-instructions-for-Unix


The git clone instructions don't include the "git submodule update --init" instructions and the OVMF build failed. 

bash$ mkdir ~/src
bash$ cd ~/src
bash$ git clone https://github.com/tianocore/edk2

Thanks,

Andrew Fish

On Aug 25, 2019, at 8:54 PM, Gao, Liming <liming.gao@intel.com> wrote:

edk2\Readme.md Submodules section gives the command to update edk2 project.

Thanks
Liming
-----Original Message-----
From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
rebecca@bsdio.com
Sent: Saturday, August 24, 2019 6:24 AM
To: devel@edk2.groups.io; afish@apple.com
Subject: Re: [edk2-devel] git submodule update --init --recursive

On 2019-08-23 14:41, Andrew Fish via Groups.Io wrote:
I was following the instructions on how to build OVMF and my build failed. It
looks like the reason it failed was because I did not do a `git submodule
update --init --recursive`. It would be good if we could make how to clone the
edk2 instructions a bit more obvious.


I think we came to the conclusion that "--recursive" isn't needed. But
I've found that there are cases where "--force" is required to make sure
git checks out a submodule correctly.


--
Rebecca Cran