diff mbox series

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

Message ID 1543586196-24466-1-git-send-email-nariman.poushin@linaro.org
State Superseded
Headers show
Series None | expand

Commit Message

Nariman Poushin Nov. 30, 2018, 1:56 p.m. UTC
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 v5:

	- Properly fixed (rather tha NOT) fix the prebuilt_tools repo url

 Platform/ARM/Readme.md | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++
 Readme.md              |  4 +---
 2 files changed, 63 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 Dec. 5, 2018, 9:45 a.m. UTC | #1
Hi Nariman,

Sorry, one more round: can you replace the <pre> tags for 'text` and
```text
more text
even more text
```
please?

And the <b> with **text**?

(And if I missed any more inline HTML, please convert that too.)

Regards,

Leif

On Fri, Nov 30, 2018 at 01:56:36PM +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>

> ---

> 

> Changes from v5:

> 

> 	- Properly fixed (rather tha NOT) fix the prebuilt_tools repo url

> 

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

>  Readme.md              |  4 +---

>  2 files changed, 63 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..d343e7a

> --- /dev/null

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

> @@ -0,0 +1,62 @@

> +== 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

> +

> +<b>Requirement:</b>

> +* 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 ==

> +

> +<pre>cd $(WORKSPACE)/edk2</pre>For the Foundation and Base FVPs (defined by the DSC file Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc):

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

> +

> +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 6ad5953..6748826 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)

> -- 

> 2.7.4

> 

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Nariman Poushin Dec. 5, 2018, 10:22 a.m. UTC | #2
On Wed, 5 Dec 2018 at 09:45, Leif Lindholm <leif.lindholm@linaro.org> wrote:

> Hi Nariman,

>

> Sorry, one more round: can you replace the <pre> tags for 'text` and

> ```text

> more text

> even more text

> ```

> please?

>


No problem, will scrub and resend!


>

> And the <b> with **text**?

>

> (And if I missed any more inline HTML, please convert that too.)

>

> Regards,

>

> Leif

>


Thanks
Nariman


>

> On Fri, Nov 30, 2018 at 01:56:36PM +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>

> > ---

> >

> > Changes from v5:

> >

> >       - Properly fixed (rather tha NOT) fix the prebuilt_tools repo url

> >

> >  Platform/ARM/Readme.md | 62

> ++++++++++++++++++++++++++++++++++++++++++++++++++

> >  Readme.md              |  4 +---

> >  2 files changed, 63 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..d343e7a

> > --- /dev/null

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

> > @@ -0,0 +1,62 @@

> > +== 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

> > +

> > +<b>Requirement:</b>

> > +* 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 ==

> > +

> > +<pre>cd $(WORKSPACE)/edk2</pre>For the Foundation and Base FVPs

> (defined by the DSC file

> Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc):

> > +<pre>build -a AARCH64 -p

> Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc -t GCC5</pre>

> > +

> > +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 6ad5953..6748826 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)

> > --

> > 2.7.4

> >

>

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

Patch

diff --git a/Platform/ARM/Readme.md b/Platform/ARM/Readme.md
new file mode 100644
index 0000000..d343e7a
--- /dev/null
+++ b/Platform/ARM/Readme.md
@@ -0,0 +1,62 @@ 
+== 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
+
+<b>Requirement:</b>
+* 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 ==
+
+<pre>cd $(WORKSPACE)/edk2</pre>For the Foundation and Base FVPs (defined by the DSC file Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc):
+<pre>build -a AARCH64 -p Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc -t GCC5</pre>
+
+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 6ad5953..6748826 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)