Skip to content

Commit

Permalink
README.md: update to current status
Browse files Browse the repository at this point in the history
* arm64 hosts are tested now
* adjust times based on current branches etc
* fix clone URL to use openamp repo
* use $HOME instead of ~ as the later confuses which sometimes
* remove the zephyr-stm32mp157c-dk2 build as it has not been updated

Signed-off-by: Bill Mills <[email protected]>
  • Loading branch information
wmamills committed Nov 7, 2023
1 parent cbe1ef0 commit 6886c15
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 24 deletions.
27 changes: 18 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
# OpenAMP-CI Builds
This repo contains scripts and configurations for OpenAMP CI builds

This is still a work in progress but if you want to try it:

Start with a fresh VM or container
* You could use your native machine but it is going to install a bunch of stuff
* machine should have at least:
+ 8GB RAM
+ 100GB disk
+ x86_64
+ Ubuntu 20.04
+ x86_64 or arm64 (aarch64)
+ Ubuntu 20.04 or Ubuntu 22.04
+ sudo access

* any build times mentioned below will be for my build machine:
Expand All @@ -18,15 +16,26 @@ Start with a fresh VM or container
+ build disk of 2 TB SATA III HD
+ SSD OS disk
+ 800 Mb/s internet
+ Ubuntu 20.04

* The builds here are also tested on an arm64 host as follows
+ AWS EC2 c6g.4xlarge instance
+ 16 aarch64 cores (Neoverse-N1)
+ 32 GB RAM
+ 250 GB nvme combined OS and build drive
+ up to 10 Gb/s internet
+ Ubuntu 22.04
+ (build times are similar to the reference host but slightly faster)

* I will be testing on aarch64 hosts but trouble is expected on vendor builds
It is expected but not tested that an arm64 based macOS machine running
multipass to get Ubuntu should be able to build the these targets as well.

## setup
```
git clone https://github.com/wmamills/openamp-ci-builds.git
git clone https://github.com/openamp/openamp-ci-builds.git
cd openamp-ci-builds
scripts/build-host-setup.sh
if ! which kas; then PATH="~/.local/bin:$PATH"; fi
if ! which kas; then PATH="$HOME/.local/bin:$PATH"; fi
```

## for a quick (< 1 min) test of the setup, use
Expand All @@ -39,8 +48,8 @@ OpenAMP CI builds use generic OS images, one for 64 bit systems and one for
32 bit systems. These builds do not build boot firmware and do not build the
remoteproc firmware.

The arm64 build takes ~28 min to build from scratch with no sstate and no downloads cache.
The armv7 build takes ~56 min under the same conditions.
The arm64 build takes ~33 min to build from scratch with no sstate and no downloads cache.
The armv7 build takes ~38 min under the same conditions.

A complete rebuild from sstate takes <1 min

Expand Down
38 changes: 23 additions & 15 deletions for-ref/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,32 +5,40 @@ comparison to the openamp-ci builds.
Setup and use these builds the same as you would the openamp-ci builds.
See the main README.md

## full build for STMP1 Linux on Cortex-A7s using upstream sources (w/patches)
uses meta-st-stm32mp-oss to build upstream kernel, u-boot, etc
Matches Arnaud's instructions [here](https://github.com/OpenAMP/openamp-system-reference/wiki#multi-rpmsg-services-demo)
(took 67 min)
All times are for the reference X86 machine defined in the main README.md and
assume empty sstate and download caches. Warm caches even for other build
configurations can drastically reduce these times.

All the builds below except as notes have also been tested on an arm64 host.

## Generic poky builds for qemuarm64 and qemuarm
(~113 / ~69 min respectively)
```
kas build for-ref/stm32mp157c-dk2.yml
kas build for-ref/qemuarm64.yml
kas build for-ref/qemuarm.yml
```
## a meta-zephyr build for STMP1 M4
uses Arnaud's fork of meta-zephyr to build the new resource table demo
Also matches Arnaud's instructions
(took 13 min)

## Xen minimal image using Poky meta-virtualization and other requiredayers
Builds for qemuarm64
(~78 min)
```
kas build for-ref/zephyr-stm32mp157c-dk2.yml
kas build for-ref/xen.yml
```

## Generic poky builds for qemuarm and qemuarm64
(~70 min for each)
## full build for STMP1 Linux on Cortex-A7s using upstream sources (w/patches)
uses meta-st-stm32mp-oss to build upstream kernel, u-boot, etc
(~79 min)
```
kas build for-ref/qemuarm.yml
kas build for-ref/qemuarm64.yml
kas build for-ref/stm32mp157c-dk2.yml
```

## Xilinx vendor build

NOTE: This build will not work on an arm64 machine

The below script builds the Xilinx QEMU machine with all Xilinx layers and
using the Xilinx versions of Linux, openamp libaries, U-boot etc
(~2 hr)
(~87 min)
```
./for-ref/xilinx-vendor.sh
```

0 comments on commit 6886c15

Please sign in to comment.