From: Nariman Poushin <nariman.poushin@linaro.org>
To: edk2-devel@lists.01.org
Subject: [PATCH] Platform/ARM: Add Readme.md
Date: Wed, 28 Nov 2018 19:33:59 +0000 [thread overview]
Message-ID: <1543433640-2841-1-git-send-email-nariman.poushin@linaro.org> (raw)
In-Reply-To: <20181128164940.GA19137@linaro.org>
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 v2:
- Removed references to fetching source
- Updated location of FVP
- Removed instructions on configuring and building Linux
- Entirely re-wrote section on running on the (now) Base FVP
Basically, it's a (much needed) re-write, to reflect Leif's comments, which were
very sensible.
I have not included running Linux at all, as I figure we can add that later (if
needed). For now, there instructions should yield a working development
environment for aarch64 running edk2 tianocore (edk2/edk2-platforms? not sure
which one is correct ... or if they both are).
Thanks
Nariman
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..a4c840f
--- /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
+
+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
next prev parent reply other threads:[~2018-11-28 19:34 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <mailman.4920.1543237692.2170.edk2-devel@lists.01.org>
2018-11-26 13:17 ` [PATCH v2 2/2] Platform/ARM: Add Readme.md Nariman Poushin
2018-11-26 18:38 ` Leif Lindholm
2018-11-28 16:49 ` Nariman Poushin
2018-11-28 19:33 ` Nariman Poushin [this message]
2018-11-28 19:34 ` [PATCH] " Nariman Poushin
2018-11-28 19:41 ` [edk2-platforms] [PATCH v4 2/2] " Nariman Poushin
2018-11-28 19:52 ` [edk2-platforms] [PATCH v5 " Nariman Poushin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1543433640-2841-1-git-send-email-nariman.poushin@linaro.org \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox