presented by Firmware Test Suite - Uses, Development, Contribution and GPL Fall 2017 UEFI Seminar and Plugfest November 1, 2017 Alex Hung - Canonical Ltd UEFI Plugfest – October 2017 www.uefi.org 1
Agenda • Introduction • Installation & Uses • Develop and Contribute • FWTS License & FWTS Community UEFI Plugfest – October 2017 www.uefi.org 2
Introduction UEFI Plugfest – October 2017 www.uefi.org 3
What is Firmware Test Suite (FWTS)? • The recommended ACPI SCT • An open-source Linux tool that automates firmware checking • A good choice if one wants to implement new tests for specific features UEFI Plugfest – October 2017 www.uefi.org 4
FWTS Framework Firmware Test Suite Device ACPI BIOS Kernel SMBIOS OPAL PCI UEFI etc … Tree Linux Kernel ACPICA ACPI Tables Hardware CPU SMBIOS UEFI Runtime and AML Devices Services UEFI Plugfest – October 2017 www.uefi.org 5
FWTS Framework – ACPI & UEFI ACPI UEFI Runtime more uefi more ACPI acpitables fadt mcfg method csm esrt runtime securebootcert uefibootpatch tables… tests UEFI Plugfest – October 2017 www.uefi.org 6
Installation & Uses UEFI Plugfest – October 2017 www.uefi.org 7
Getting FWTS-LIVE • Download - http://fwts.ubuntu.com/fwts-live/ • Make bootable fwts-live USB disk – Linux : • Identify USB disk: dmesg | tail -10 | grep Attached • Copy image: sudo dd if=fwts-live-17.09.00.img of=/dev/sdb ; sync – Windows : “ Win32 Disk Imager ” UEFI Plugfest – October 2017 www.uefi.org 8
Installing FWTS in Ubuntu • Add repository for latest release – sudo add-apt-repository ppa:firmware- testing-team/ppa-fwts-stable • Install fwts – sudo apt update – sudo apt install fwts fwts-frontend UEFI Plugfest – October 2017 www.uefi.org 9
Installing FWTS from Source Code • Download source code – git clone git://kernel.ubuntu.com/hwe/fwts.git – git clone https://github.com/ColinIanKing/fwts • Setup build environments & configure – sudo apt-get build-dep fwts – autoreconf -ivf && ./configure • Compile and install – make clean && make -j4 && sudo make install UEFI Plugfest – October 2017 www.uefi.org 10
FWTS User Interfaces (Demo) fwts-frontend (GUI) Command Line Firmware Test Suite Device ACPI APIC BIOS Kernel SMBIOS PCI UEFI etc … Tree UEFI Plugfest – October 2017 www.uefi.org 11
Using FWTS – Command Line • Run a single test, ex. C states – sudo fwts cpufreq • Run multiple tests, ex. C states + PCIe ASPM – sudo fwts cpufreq aspm • Run all ACPI tests + all UEFI tests – sudo fwts --acpitests --uefitests • View all tests – fwts --show-tests-full UEFI Plugfest – October 2017 www.uefi.org 12
Using FWTS – Command Line UEFI Plugfest – October 2017 www.uefi.org 13
Using FWTS – fwts-frontend-text UEFI Plugfest – October 2017 www.uefi.org 14
Using FWTS – fwts-frontend-text UEFI Plugfest – October 2017 www.uefi.org 15
Using FWTS – fwts-frontend-text UEFI Plugfest – October 2017 www.uefi.org 16
Using FWTS – fwts-frontend-text UEFI Plugfest – October 2017 www.uefi.org 17
Using FWTS – fwts-frontend-text UEFI Plugfest – October 2017 www.uefi.org 18
Results.log UEFI Plugfest – October 2017 www.uefi.org 19
Results.log – Tests UEFI Plugfest – October 2017 www.uefi.org 20
Results.log – Summary UEFI Plugfest – October 2017 www.uefi.org 21
Develop and Contribute UEFI Plugfest – October 2017 www.uefi.org 22
FWTS Directories Firmware Test Suite Device ACPI BIOS Kernel SMBIOS Opal PCI UEFI etc … Tree UEFI Plugfest – October 2017 www.uefi.org 23
Adding an ACPI Table Test Commit 74a34fe4abbe0902 • UEFI Plugfest – October 2017 www.uefi.org 24
Submitting Patches Write Some Code Add a new test Fix a bug Check Coding Styles ( Linux Kernel ) Function brackets Spaces & tabs Line length(?) (Implement fwts-test tests) Generate patches by Git Header Signed-off Send patches by Git UEFI Plugfest – October 2017 www.uefi.org 25
Why Contribute to FWTS? • Framework is easy to add new features, ex. Device Tree • Existing code is available, ex. ARM’s Server Base Boot Requirements (SBBR) • Example: an imaginary Linux-Only-Spec that must exclude all Windows features – No DBGP, DBG2, MSDM, and SLIC etc … UEFI Plugfest – October 2017 www.uefi.org 26
FWTS License & FWTS Community UEFI Plugfest – October 2017 www.uefi.org 27
License – GPLv2 • FWTS uses GPLv2 license – A “Copy - Left” license • Can- do & can’t -do • Should I upstream my code? – It depends, but it is recommended • Must I open-source my code? – Unless you release the binary, the answer is usually No – But maintenance gets difficult as FWTS grows UEFI Plugfest – October 2017 www.uefi.org 28
Contact FWTS community • Email List: fwts-devel@lists.ubuntu.com • Facebook: firmwaretestsuite • Twitter: fwts_team • UEFI Plugfest • https://wiki.ubuntu.com/FirmwareTestSuite UEFI Plugfest – October 2017 www.uefi.org 29
Q&A UEFI Plugfest – October 2017 www.uefi.org 30
Thanks for attending the Fall 2017 UEFI Seminar and Plugfest For more information on the Unified EFI Forum and UEFI Specifications, visit http://www.uefi.org presented by UEFI Plugfest – October 2017 www.uefi.org 31
Recommend
More recommend