[edk2,edk2-platforms,v7,2/2] Platform/ARM: Add Readme.md

Message ID 1545242506-5758-1-git-send-email-nariman.poushin@linaro.org
State New
Headers show
Series
  • Untitled series #17397
Related show

Commit Message

Nariman Poushin Dec. 19, 2018, 6:01 p.m.
This covers the bulk of the information originally present in
https://github.com/tianocore/tianocore.github.io/wiki/ArmPlatformPkg-AArch64
regarding building and running the Foundation/Base FVP Platforms.

The sections on fetching source have been delegated to the root Readme.md

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Nariman Poushin <nariman.poushin@linaro.org>

---

Changes from v6:

	- Removed inline html and generally tidied up markdown

 Platform/ARM/Readme.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++
 Readme.md              |  4 +---
 2 files changed, 64 insertions(+), 3 deletions(-)
 create mode 100644 Platform/ARM/Readme.md

-- 
2.7.4

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Comments

Leif Lindholm Jan. 11, 2019, 5:42 p.m. | #1
On Wed, Dec 19, 2018 at 06:01:46PM +0000, Nariman Poushin wrote:
> This covers the bulk of the information originally present in

> https://github.com/tianocore/tianocore.github.io/wiki/ArmPlatformPkg-AArch64

> regarding building and running the Foundation/Base FVP Platforms.

> 

> The sections on fetching source have been delegated to the root Readme.md

> 

> Contributed-under: TianoCore Contribution Agreement 1.1

> Signed-off-by: Nariman Poushin <nariman.poushin@linaro.org>


I'm going to push this patch because I really don't want to get to v8.
A few comments below.

> ---

> 

> Changes from v6:

> 

> 	- Removed inline html and generally tidied up markdown

> 

>  Platform/ARM/Readme.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++

>  Readme.md              |  4 +---

>  2 files changed, 64 insertions(+), 3 deletions(-)

>  create mode 100644 Platform/ARM/Readme.md

> 

> diff --git a/Platform/ARM/Readme.md b/Platform/ARM/Readme.md

> new file mode 100644

> index 0000000..ac86e95

> --- /dev/null

> +++ b/Platform/ARM/Readme.md

> @@ -0,0 +1,63 @@

> +# Introduction

> +

> +These instructions explain how to get an edk2/edk2-platforms build running

> +on the ARM Base FVP, which is a software model provided by ARM (for free)

> +, which models a Cortex A core with various peripherals. More information

> +can be found here:

> +[https://developer.arm.com/products/system-design/fixed-virtual-platforms]

> +

> +##Requirements

> +- A 32-bit or 64-bit Linux host machine.

> +- Visual Studio is not officially supported, experimental support can be found here:

> +[https://git.linaro.org/people/leif.lindholm/edk2.git/log/?h=aarch64-vs]

> +

> +# Build EDK2 Tianocore

> +

> +`cd $(WORKSPACE)/edk2`

> +


Dropping above two lines which make assumptions that may not apply for everyone.

> +`build -a AARCH64 -p Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc -t GCC5`

> +

> +Once built, the edk2 image is the following file Build/ArmVExpress-FVP-AArch64/DEBUG_GCC5/FV/FVP_AARCH64_EFI.fd

> +

> +# Run edk2/edk2-platforms on the ARM Base Platform FVP

> +

> +In order to run the binary we have just built there are a few steps we need to

> +go through, we need to get a model, a set of prebuilts (where we will swap out

> +the edk2 image with our own) and the tool with which we will swap out the

> +prebuilt edk2 image.

> +

> +We will also rely on the "run_model" script that comes with the prebuilts, it

> +is entirely possible to run the model without this but would require quite a bit

> +of knowledge regarding the areguments ARM fastmodel (documentation can be found here:

> +[https://developer.arm.com/docs/100966/1101/programming-reference-for-base-fvps/base-platform-revc-features])

> +however the manual set of the FVP is outside the scope of this document. If you are interested

> +please consult the documentation.

> +

> +It's recommended you create a folder where you download the prebuilts and

> +required tool and copy your edk2 image in to it, as the run script expects

> +the binaries in the same directory.

> +

> +1. Download the Base FVP from here https://developer.arm.com/products/system-design/fixed-virtual-platforms

> +

> +	- Select Armv8-A Base Platform FVP based on Fast Models 11.4

> +	- It has a click through license but is free.

> +

> +2. Download the 18.10 Linaro ARM Landing Team release for FVP booting UEFI

> +https://releases.linaro.org/members/arm/platforms/18.10/fvp-uefi.zip

> +

> +3. Download the prebuilt fiptool from https://git.linaro.org/landing-teams/working/arm/prebuilt_tools.git

> +

> +4. Update the fip.bin image from fvp-uefi.zip by running the following command:

> +

> +	`fiptool update --nt-fw=[path to binary built above] fip.bin`

> +

> +5. Execute the FVP run_model.sh script from fvp-uefi.zip and provide a path to the FVP binaries

> +downloaded in step 1):

> +

> +	`MODEL=[path to FVP binary] ./run_model.sh`

> +

> +This expects the contents of fvp-uefi.zip, the bl1.bin and fip.bin (which is

> +the file we modify), to be in the same directory as the run_model.sh script.

> +

> +This should be sufficient to provide a build/run/debug environment for aarch64.

> +<!-- [[Category:ARM]] -->


Above line makes the 'file' command call this an "exported SGML
document". So I'm dropping this too.

> diff --git a/Readme.md b/Readme.md

> index bb53c6f..86c989f 100644

> --- a/Readme.md

> +++ b/Readme.md

> @@ -206,9 +206,7 @@ they will be documented with the platform.

>  * [Overdrive](Platform/AMD/OverdriveBoard)

>  * [Overdrive 1000](Platform/SoftIron/Overdrive1000Board)

>  

> -## ARM

> -* [Juno](Platform/ARM/JunoPkg)

> -* [Versatile Express](Platform/ARM/VExpressPkg)


So, this patch adds a Platform/ARM/Readme.md (which is great), but it
deletes the only mention of all platforms other than Sgi (which is
less so).
Please address in a new patch.

Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>


Pushed as e6fd447b23.

> +## [ARM](Platform/ARM/Readme.md)

>  

>  ## Hisilicon

>  * [D02](Platform/Hisilicon/D02)

> -- 

> 2.7.4

> 

> _______________________________________________

> edk2-devel mailing list

> edk2-devel@lists.01.org

> https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Nariman Poushin Jan. 14, 2019, 3:40 p.m. | #2
On Fri, Jan 11, 2019 at 05:42:43PM +0000, Leif Lindholm wrote:
> On Wed, Dec 19, 2018 at 06:01:46PM +0000, Nariman Poushin wrote:

> > This covers the bulk of the information originally present in

> > https://github.com/tianocore/tianocore.github.io/wiki/ArmPlatformPkg-AArch64

> > regarding building and running the Foundation/Base FVP Platforms.

> > 

> > The sections on fetching source have been delegated to the root Readme.md

> > 

> > Contributed-under: TianoCore Contribution Agreement 1.1

> > Signed-off-by: Nariman Poushin <nariman.poushin@linaro.org>

> 

> I'm going to push this patch because I really don't want to get to v8.

> A few comments below.


You and me both, thanks though, hopefully it moves us forward a bit
by updating the docs.

> 

> > ---

> > 

> > Changes from v6:

> > 

> > 	- Removed inline html and generally tidied up markdown

> > 

> >  Platform/ARM/Readme.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++

> >  Readme.md              |  4 +---

> >  2 files changed, 64 insertions(+), 3 deletions(-)

> >  create mode 100644 Platform/ARM/Readme.md

> > 

> > diff --git a/Platform/ARM/Readme.md b/Platform/ARM/Readme.md

> > new file mode 100644

> > index 0000000..ac86e95

> > --- /dev/null

> > +++ b/Platform/ARM/Readme.md

> > @@ -0,0 +1,63 @@

> > +# Introduction

> > +

> > +These instructions explain how to get an edk2/edk2-platforms build running

> > +on the ARM Base FVP, which is a software model provided by ARM (for free)

> > +, which models a Cortex A core with various peripherals. More information

> > +can be found here:

> > +[https://developer.arm.com/products/system-design/fixed-virtual-platforms]

> > +

> > +##Requirements

> > +- A 32-bit or 64-bit Linux host machine.

> > +- Visual Studio is not officially supported, experimental support can be found here:

> > +[https://git.linaro.org/people/leif.lindholm/edk2.git/log/?h=aarch64-vs]

> > +

> > +# Build EDK2 Tianocore

> > +

> > +`cd $(WORKSPACE)/edk2`

> > +

> 

> Dropping above two lines which make assumptions that may not apply for everyone.

> 


Sure thing.

> > +`build -a AARCH64 -p Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc -t GCC5`

> > +

> > +Once built, the edk2 image is the following file Build/ArmVExpress-FVP-AArch64/DEBUG_GCC5/FV/FVP_AARCH64_EFI.fd

> > +

> > +# Run edk2/edk2-platforms on the ARM Base Platform FVP

> > +

> > +In order to run the binary we have just built there are a few steps we need to

> > +go through, we need to get a model, a set of prebuilts (where we will swap out

> > +the edk2 image with our own) and the tool with which we will swap out the

> > +prebuilt edk2 image.

> > +

> > +We will also rely on the "run_model" script that comes with the prebuilts, it

> > +is entirely possible to run the model without this but would require quite a bit

> > +of knowledge regarding the areguments ARM fastmodel (documentation can be found here:

> > +[https://developer.arm.com/docs/100966/1101/programming-reference-for-base-fvps/base-platform-revc-features])

> > +however the manual set of the FVP is outside the scope of this document. If you are interested

> > +please consult the documentation.

> > +

> > +It's recommended you create a folder where you download the prebuilts and

> > +required tool and copy your edk2 image in to it, as the run script expects

> > +the binaries in the same directory.

> > +

> > +1. Download the Base FVP from here https://developer.arm.com/products/system-design/fixed-virtual-platforms

> > +

> > +	- Select Armv8-A Base Platform FVP based on Fast Models 11.4

> > +	- It has a click through license but is free.

> > +

> > +2. Download the 18.10 Linaro ARM Landing Team release for FVP booting UEFI

> > +https://releases.linaro.org/members/arm/platforms/18.10/fvp-uefi.zip

> > +

> > +3. Download the prebuilt fiptool from https://git.linaro.org/landing-teams/working/arm/prebuilt_tools.git

> > +

> > +4. Update the fip.bin image from fvp-uefi.zip by running the following command:

> > +

> > +	`fiptool update --nt-fw=[path to binary built above] fip.bin`

> > +

> > +5. Execute the FVP run_model.sh script from fvp-uefi.zip and provide a path to the FVP binaries

> > +downloaded in step 1):

> > +

> > +	`MODEL=[path to FVP binary] ./run_model.sh`

> > +

> > +This expects the contents of fvp-uefi.zip, the bl1.bin and fip.bin (which is

> > +the file we modify), to be in the same directory as the run_model.sh script.

> > +

> > +This should be sufficient to provide a build/run/debug environment for aarch64.

> > +<!-- [[Category:ARM]] -->

> 

> Above line makes the 'file' command call this an "exported SGML

> document". So I'm dropping this too.

> 


Sure.

> > diff --git a/Readme.md b/Readme.md

> > index bb53c6f..86c989f 100644

> > --- a/Readme.md

> > +++ b/Readme.md

> > @@ -206,9 +206,7 @@ they will be documented with the platform.

> >  * [Overdrive](Platform/AMD/OverdriveBoard)

> >  * [Overdrive 1000](Platform/SoftIron/Overdrive1000Board)

> >  

> > -## ARM

> > -* [Juno](Platform/ARM/JunoPkg)

> > -* [Versatile Express](Platform/ARM/VExpressPkg)

> 

> So, this patch adds a Platform/ARM/Readme.md (which is great), but it

> deletes the only mention of all platforms other than Sgi (which is

> less so).

> Please address in a new patch.

> 


Ah ... yes, I see. Apologies! Will fix ASAP, I have some (currently) non
public stuff to work on but will address this as soon as I get a chance

> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>

> 

> Pushed as e6fd447b23.


Cheers!
Nariman

> 

> > +## [ARM](Platform/ARM/Readme.md)

> >  

> >  ## Hisilicon

> >  * [D02](Platform/Hisilicon/D02)

> > -- 

> > 2.7.4

> > 

> > _______________________________________________

> > edk2-devel mailing list

> > edk2-devel@lists.01.org

> > https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Patch

diff --git a/Platform/ARM/Readme.md b/Platform/ARM/Readme.md
new file mode 100644
index 0000000..ac86e95
--- /dev/null
+++ b/Platform/ARM/Readme.md
@@ -0,0 +1,63 @@ 
+# Introduction
+
+These instructions explain how to get an edk2/edk2-platforms build running
+on the ARM Base FVP, which is a software model provided by ARM (for free)
+, which models a Cortex A core with various peripherals. More information
+can be found here:
+[https://developer.arm.com/products/system-design/fixed-virtual-platforms]
+
+##Requirements
+- A 32-bit or 64-bit Linux host machine.
+- Visual Studio is not officially supported, experimental support can be found here:
+[https://git.linaro.org/people/leif.lindholm/edk2.git/log/?h=aarch64-vs]
+
+# Build EDK2 Tianocore
+
+`cd $(WORKSPACE)/edk2`
+
+`build -a AARCH64 -p Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc -t GCC5`
+
+Once built, the edk2 image is the following file Build/ArmVExpress-FVP-AArch64/DEBUG_GCC5/FV/FVP_AARCH64_EFI.fd
+
+# Run edk2/edk2-platforms on the ARM Base Platform FVP
+
+In order to run the binary we have just built there are a few steps we need to
+go through, we need to get a model, a set of prebuilts (where we will swap out
+the edk2 image with our own) and the tool with which we will swap out the
+prebuilt edk2 image.
+
+We will also rely on the "run_model" script that comes with the prebuilts, it
+is entirely possible to run the model without this but would require quite a bit
+of knowledge regarding the areguments ARM fastmodel (documentation can be found here:
+[https://developer.arm.com/docs/100966/1101/programming-reference-for-base-fvps/base-platform-revc-features])
+however the manual set of the FVP is outside the scope of this document. If you are interested
+please consult the documentation.
+
+It's recommended you create a folder where you download the prebuilts and
+required tool and copy your edk2 image in to it, as the run script expects
+the binaries in the same directory.
+
+1. Download the Base FVP from here https://developer.arm.com/products/system-design/fixed-virtual-platforms
+
+	- Select Armv8-A Base Platform FVP based on Fast Models 11.4
+	- It has a click through license but is free.
+
+2. Download the 18.10 Linaro ARM Landing Team release for FVP booting UEFI
+https://releases.linaro.org/members/arm/platforms/18.10/fvp-uefi.zip
+
+3. Download the prebuilt fiptool from https://git.linaro.org/landing-teams/working/arm/prebuilt_tools.git
+
+4. Update the fip.bin image from fvp-uefi.zip by running the following command:
+
+	`fiptool update --nt-fw=[path to binary built above] fip.bin`
+
+5. Execute the FVP run_model.sh script from fvp-uefi.zip and provide a path to the FVP binaries
+downloaded in step 1):
+
+	`MODEL=[path to FVP binary] ./run_model.sh`
+
+This expects the contents of fvp-uefi.zip, the bl1.bin and fip.bin (which is
+the file we modify), to be in the same directory as the run_model.sh script.
+
+This should be sufficient to provide a build/run/debug environment for aarch64.
+<!-- [[Category:ARM]] -->
diff --git a/Readme.md b/Readme.md
index bb53c6f..86c989f 100644
--- a/Readme.md
+++ b/Readme.md
@@ -206,9 +206,7 @@  they will be documented with the platform.
 * [Overdrive](Platform/AMD/OverdriveBoard)
 * [Overdrive 1000](Platform/SoftIron/Overdrive1000Board)
 
-## ARM
-* [Juno](Platform/ARM/JunoPkg)
-* [Versatile Express](Platform/ARM/VExpressPkg)
+## [ARM](Platform/ARM/Readme.md)
 
 ## Hisilicon
 * [D02](Platform/Hisilicon/D02)