Skip to content

Running compliance suites

semihalf-wojtas-marcin edited this page Jul 29, 2021 · 4 revisions

Both MacchiatoBin and CN931x-DB are System Ready ES. Release binaries are available in a dedicated wiki page

ACS3.0 release binary

Prebuilt binary can be downloaded from:

https://github.com/ARM-software/arm-enterprise-acs/raw/release/prebuilt_images/v20.10_REL3.0/luv-live-image-gpt.img

Source code can be found at:

https://github.com/ARM-software/arm-enterprise-acs.git

Image preparation

  1. Burn the LUV OS bootable image to a USB stick:
$ sudo dd if=/path/to/luv-live-image-gpt.img of=/dev/sdX

Note: Replace '/dev/sdX' with the handle corresponding to your USB stick.

  1. MacchiatoBin and CN931x-based platforms use 16750 UART console with a baudrate 115200, so the prebuilt ACS3.0 requires some tweaking. Note that below commands should be run with root privilege. The required steps are as follows:
  • Mount second partiton of storage with LUV OS:
$ mount /dev/sdX2 /mnt
  • Modify grub.cfg to use serial console with 115200 baudrate -> add console=ttyS0,115200 to EFI/BOOT/grub.cfg linux /Image console=ttyS0,115200 systemd.log_target=null [...]:
$ vim /mnt/EFI/BOOT/grub.cfg
  • modify baudrate of serial terminal to 115200 -> change 38400 to 115200 in initrd lib/systemd/system/serial-getty@.service file:
$ mkdir tmp
$ cd tmp
$ sudo mount /dev/sdX2 /mnt
$ sudo cp /mnt/initrd initrd.gz
$ sudo gunzip initrd.gz
$ mkdir rootfs
$ cd rootfs/
$ sudo cpio -idv < ../initrd
$ sudo vim lib/systemd/system/serial-getty@.service #change 38400 to 115200
$ sudo find . | sudo cpio --create --format='newc' > ../initrd
$ cd ..
$ sudo gzip initrd
$ sudo mv initrd.gz /mnt/initrd
  • Add console to kernel command-line parameter in ACS startup script -> add console=ttyS0,115200 to kernel parameters in EFI/BOOT/startup.nsh (line 32):
$ vim /mnt/EFI/BOOT/startup.nsh
  • Skip test 603 of Sbsa (the testcase misdetects UART type and executes unwanted, problematic test 604) -> add '-l 3 -skip 603' to sbsa.efi parameters in sbsa startup script (line 12) FS%j:\EFI\BOOT\sbsa\Sbsa.efi -l 3 -skip 603 -f SbsaResults.log:
$ vim /mnt/EFI/BOOT/sbsa/sbsa.nsh
  • Unmount the storage:
$ umount /mnt

Testing procedure

  1. Insert the USB stick into board USB ports.

  2. Power cycle the board, to into UEFI boot manager and change boot order to boot USB stick first. UEFI SCT test should be started automatically by Grub.

Notes:

  • Test 68 requires manual reset
  • After UEFI test are finished and board is booted into linux, run following commands to start OS tests:
$ fwts -r stdout -q --sbbr
$ insmod /lib/modules/4.18.0-luv/extra/sbsa_acs.ko 
$ sbsa -l 3
$ insmod /lib/modules/4.18.0-luv/extra/sdei_acs.ko
$ sdei
  1. UEFI results can be found on first partition of test storage:
$ mount /dev/sdX2 /mnt
$ ls /mnt
SCT_RUN  sbsa_results  sdei_results
  1. Linux tests' output must be captured manually.
Clone this wiki locally