Mike,

I hit it when I was testing an OVMF build. It looks like the OVMF instructions reference the generic getting started guide that omits the submodule update command. 

Thanks,

Andrew Fish

On Aug 26, 2019, at 3:11 PM, Michael D Kinney <michael.d.kinney@intel.com> wrote:

Andrew,
 
I agree the documentation for this should be in the same section as the clone requirements.
 
This operation is not always required.  Right now, if a platform does not use OpenSSL in CryptoPkg, then the submodule operation can be skipped.
 
The documentation should let the developer know when it is required.
 
Mike
From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Andrew Fish via Groups.Io
Sent: Monday, August 26, 2019 2:59 PM
To: Gao, Liming <liming.gao@intel.com>
Cc: devel@edk2.groups.io; rebecca@bsdio.com
Subject: Re: [edk2-devel] git submodule update --init --recursive
 
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:
 
or
 
 
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