Message ID | 1545242506-5758-1-git-send-email-nariman.poushin@linaro.org |
---|---|
State | New |
Headers | show |
Series | None | expand |
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
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
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)
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