Skip to content

Commit

Permalink
Merge pull request #59 from edhay/release
Browse files Browse the repository at this point in the history
v19.04_REL2.2: Added prebuilt image and update changelogs
  • Loading branch information
prasanth-pulla authored Apr 26, 2019
2 parents 94d5706 + 6461161 commit 80a55eb
Show file tree
Hide file tree
Showing 63 changed files with 6,920 additions and 1,050 deletions.
10 changes: 3 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ In summary, the Arm Enterprise ACS product contains the following: <ol>
These tests are split between UEFI and Linux (supported by corresponding kernel driver) applications that together determine whether an architectural implementation is compliant with the enterprise specifications. These tests are further described in detail.

## Release details
- Code Quality: REL v2.0
- Code Quality: REL v2.2
- The SBSA tests are written for version 5.0 of the SBSA specification.
- The SBBR tests are written for version 1.1 of the SBBR specification.
- The compliance suite is not a substitute for design verification.
Expand All @@ -34,7 +34,6 @@ These tests are split between UEFI and Linux (supported by corresponding kernel
Before starting the ACS build, ensure that the following requirements are met:
- Ubuntu 16.04 LTS with at least 64GB of free disk space.
- Must use Bash shell.
- UEFI SCT based tests are not built by default. To build UEFI SCT, membership of [https://github.com/UEFI/UEFI-SCT](https://github.com/UEFI/UEFI-SCT) is necessary. If you are not a member, you must request access by sending an e-mail to admin@uefi.org by providing your GitHub account ID.<br />

Note : Windows build steps will be provided in the future releases.
<br />
Expand All @@ -53,9 +52,8 @@ Perform the following steps to start the ACS build:

Note:<br />
- These build steps only target AArch64. <br />
- By default, the build script excludes UEFI SCT in the built images.<br />
If SCT must be included, enter "no" when prompted "To continue without building UEFI-SCT. Enter [yes(default)/no]: ", and then enter GitHub details for the UEFI-SCT member account.<br />
- The build script provides the option to append kernel command-line parameters, if necessary. Press enter to continue with default parameters. <br />
- For build options to selectively sync and build particular modules, please check this document : [build-options](https://github.com/ARM-software/arm-enterprise-acs/blob/master/docs/build-options.md). <br />

## Build output
The luv-live-image-gpt.img bootable image can be found in:
Expand Down Expand Up @@ -129,11 +127,9 @@ The live image boots to UEFI Shell. The different test applications can be run i

- [Server Base System Architecture (SBSA)](https://github.com/ARM-software/sbsa-acs) TAG: <>

- [UEFI Self Certification Tests (UEFI-SCT)](https://github.com/UEFI/UEFI-SCT) TAG: c78ea66cb114390e8dd8de922bdf4ff3e9770f8c
- [UEFI Self Certification Tests (UEFI-SCT)](https://github.com/tianocore/edk2-test) TAG: b558bad25479ec83d43399673d7580294c81c8f8


Note: <br /> You must be a member of [UEFI-SCT](https://github.com/UEFI/UEFI-SCT). If you are not a member, you must request access by sending an e-mail to [admin@uefi.org](mailto:admin@uefi.org) by specifying your GitHub ID.

## License

Arm Enterprise ACS is distributed under Apache v2.0 License.
Expand Down
44 changes: 39 additions & 5 deletions acs_sync.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#! /bin/bash
# Copyright (c) 2017, ARM Limited or its affiliates. All rights reserved.
# Copyright (c) 2017-2019, ARM Limited or its affiliates. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -13,6 +13,34 @@
# See the License for the specific language governing permissions and
# limitations under the License.

ALLOWED_FIRST_PARAM="luvos sbbr sbsa sdei"

display_usage()
{
echo
echo "Usage: $0 [luvos|sbbr|sbsa|sdei]"
echo
}

validate_param()
{
occurrence=`echo $ALLOWED_FIRST_PARAM | grep -w $1 | wc -l`
if [ $occurrence -eq 0 ]; then
echo "Invalid option $1"
display_usage;
exit 1;
fi
}

if [ $# -gt 1 ]; then
display_usage;
exit 1;
fi

if [ $# -gt 0 ]; then
validate_param $*
fi

./check_deps.sh
if [ $? != 0 ]
then
Expand All @@ -34,7 +62,13 @@ then
fi
fi

./luvos/scripts/setup.sh
./sbbr/scripts/setup.sh
./sbsa/scripts/setup.sh
./sdei/scripts/setup.sh
if [ $# -eq 1 ]; then
echo "Setting up $1 ..."
./$1/scripts/setup.sh
else
./luvos/scripts/setup.sh
./sbbr/scripts/setup.sh
./sbsa/scripts/setup.sh
./sdei/scripts/setup.sh
fi

8 changes: 8 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
v19.04_REL2.2

* SBSA: Support for SBSA baremetal templates with documentations
* SBBR: Remove dependency UEFI membership for checking out SCT code
* SBSA: Big Endian Issue and ECAM bug fixes
* SBBR: Bug fixes and minor document updates
* Improved flexibility in arm-enterprise-acs build process

v19.01_REL2.1

* SBSA: PCIe test enhancements and bug fixes
Expand Down
67 changes: 67 additions & 0 deletions docs/build-options.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Build Options in Arm Enterprise ACS

There are options to selectively update and build the modules of ARM Enterprise ACS. These options are provided through the scripts
- acs_sync.sh
- luvos/scripts/build.sh

##### Prerequisite:
Before using a any options as described below, it is a must that the entire system must be compiled atleast once completely. i.e. when building for the first time, acs_sync.sh and luvos/scripts/build.sh must be run without any options.
If this is not done, then the build may fail.

### acs_sync.sh
Usage:
```sh
/path/to/armacs/acs_sync.sh [luvos|sbbr|sbsa|sdei]
```

acs_sync.sh can accept one optional parameter.

For Example:<br/>
$ acs_sync.sh luvos<br/>
will synch only luvos for building

$ acs_sync.sh sbsa<br/>
will synch only sbsa for building

$ acs_sync.sh<br/>
will sync all modules

### luvos/scripts/build.sh

Usage:
```sh
/path/to/armacs/luvos/scripts/build.sh [sbbr|sbsa|sdei|luv-live-image] [cleanall]
```

/path/to/armacs/luvos/scripts/build.sh can accept upto 2 optional parameters

For Example:<br/>
$ ./luvos/scripts/build.sh sbbr cleanall<br/>
will clean only sbbr module

$ ./luvos/scripts/build.sh sbsa<br/>
will build only sbsa module

$ ./luvos/scripts/build.sh cleanall<br/>
will clean all modules

$ ./luvos/scripts/build.sh<br/>
will build all modules (no clean is done)


### Typical Usage Scenarios
Prerequisite : The complete build is done atleast once.

To synch and build only sbsa, the following commands may be run:<br/>
$ cd /path/to/armacs/<br/>
$ ./acs_sync.sh sbsa<br/>
$ luvos/scripts/build.sh sbsa cleanall<br/>
$ luvos/scripts/build.sh sbsa<br/>


To build the entire system, the following commands may be run:<br/>
$ cd /path/to/armacs/<br/>
$ ./acs_sync.sh<br/>
$ luvos/scripts/build.sh cleanall<br/>
$ luvos/scripts/build.sh<br/>

21 changes: 9 additions & 12 deletions luvos/patches/luvos.patch
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
From fbdf7214f8ad6c79c2de1dc774091c87feb8c4ae Mon Sep 17 00:00:00 2001
From 12efec15da80a30fdddc3b6f64e284ecee418ae8 Mon Sep 17 00:00:00 2001
From: Mahesh Bireddy <mahesh.reddybireddy@arm.com>
Date: Fri, 9 Nov 2018 13:23:59 +0530
Subject: [PATCH] Luvos v2.3 ACS patch

Signed-off-by: Mahesh Bireddy <mahesh.reddybireddy@arm.com>
---
.templateconf | 2 +-
meta-luv/classes/luv-efi.bbclass | 118 ++++++++++++++++++++-
meta-luv/classes/luv-efi.bbclass | 115 ++++++++++++++++++++-
meta-luv/conf/distro/luv.conf | 2 +-
meta-luv/conf/local.conf.sample | 5 +-
meta-luv/recipes-core/efivarfs/efivarfs-test.bb | 1 -
Expand All @@ -21,7 +21,7 @@ Signed-off-by: Mahesh Bireddy <mahesh.reddybireddy@arm.com>
meta-luv/recipes-kernel/linux/linux-luv_4.18.bb | 4 +-
meta/conf/bitbake.conf | 2 +-
.../systemd-serialgetty/serial-getty@.service | 2 +-
16 files changed, 167 insertions(+), 20 deletions(-)
16 files changed, 164 insertions(+), 20 deletions(-)

diff --git a/.templateconf b/.templateconf
index 0fe6f82..dce51a4 100644
Expand All @@ -32,7 +32,7 @@ index 0fe6f82..dce51a4 100644
-TEMPLATECONF=${TEMPLATECONF:-meta-poky/conf}
+TEMPLATECONF=${TEMPLATECONF:-meta-luv/conf}
diff --git a/meta-luv/classes/luv-efi.bbclass b/meta-luv/classes/luv-efi.bbclass
index 86b3649..4cebf70 100644
index 86b3649..6e72d48 100644
--- a/meta-luv/classes/luv-efi.bbclass
+++ b/meta-luv/classes/luv-efi.bbclass
@@ -16,6 +16,13 @@ def get_bits_depends(d):
Expand All @@ -49,16 +49,13 @@ index 86b3649..4cebf70 100644
do_bootimg[depends] += "${MLPREFIX}grub-efi:do_deploy \
sbsigntool-native:do_populate_sysroot"

@@ -56,10 +63,18 @@ efi_populate() {
@@ -56,10 +63,15 @@ efi_populate() {
if [ "${TARGET_ARCH}" = "aarch64" ]; then
install -m 0644 ${DEPLOY_DIR_IMAGE}/${GRUB_EFI_LOADER_IMAGE} ${DEST}${EFIDIR}/${DEST_EFI_LOADER_IMAGE}
echo "${DEST_EFI_LOADER_IMAGE}" > ${DEST}${EFIDIR}/startup.nsh
+ if [ "${SCTOPTIONAL}" = "no" ]; then
+ echo "Including UEFI-SCT"
+ efi_populate_sbbr ${DEST}
+ fi
+ efi_populate_startup ${DEST}
+ echo "SCTOPTIONAL=${SCTOPTIONAL}"
+ efi_populate_sbsa ${DEST}
+ efi_populate_sdei ${DEST}

Expand All @@ -69,7 +66,7 @@ index 86b3649..4cebf70 100644
# sign grub2 bootloader
sbsign --key ${DEPLOY_DIR_IMAGE}/LUV.key --cert ${DEPLOY_DIR_IMAGE}/LUV.crt \
--output ${DEPLOY_DIR_IMAGE}/grubx64.efi ${DEPLOY_DIR_IMAGE}/${GRUB_EFI_LOADER_IMAGE}
@@ -75,6 +90,8 @@ efi_populate() {
@@ -75,6 +87,8 @@ efi_populate() {

# restore files to leave all in good shape for all the callers of the funciton
cp ${DEPLOY_DIR_IMAGE}/${DEST_EFI_LOADER_IMAGE} ${DEPLOY_DIR_IMAGE}/shim.efi
Expand All @@ -78,7 +75,7 @@ index 86b3649..4cebf70 100644
fi

if echo "${TARGET_ARCH}" | grep -q "i.86" || [ "${TARGET_ARCH}" = "x86_64" ]; then
@@ -90,6 +107,95 @@ efi_populate() {
@@ -90,6 +104,95 @@ efi_populate() {
install -m 0644 ${LUV_CFG} ${DEST}
}

Expand Down Expand Up @@ -174,7 +171,7 @@ index 86b3649..4cebf70 100644
BITS_EFI_LOADER_IMAGE = "${DEST_EFI_LOADER_IMAGE}"
efi_populate_bits() {
DEST=$1
@@ -170,6 +276,11 @@ python build_efi_cfg() {
@@ -170,6 +273,11 @@ python build_efi_cfg() {
cfgfile.write('default=bits\n')
cfgfile.write('fallback=0\n')

Expand All @@ -186,7 +183,7 @@ index 86b3649..4cebf70 100644
cfgfile.write('menuentry \'luv\' {\n')
kernel = d.getVar('KERNEL_IMAGETYPE')
cfgfile.write('linux /%s ' % (kernel))
@@ -200,6 +311,11 @@ python build_efi_cfg() {
@@ -200,6 +308,11 @@ python build_efi_cfg() {
cfgfile.write('chainloader /EFI/BOOT/bits/%s\n' % loader)
cfgfile.write('}\n')

Expand Down
Loading

0 comments on commit 80a55eb

Please sign in to comment.