firmware test suite uses development contribution and gpl
play

Firmware Test Suite - Uses, Development, Contribution and GPL Fall - PowerPoint PPT Presentation

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


  1. 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

  2. Agenda • Introduction • Installation & Uses • Develop and Contribute • FWTS License & FWTS Community UEFI Plugfest – October 2017 www.uefi.org 2

  3. Introduction UEFI Plugfest – October 2017 www.uefi.org 3

  4. 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

  5. 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

  6. 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

  7. Installation & Uses UEFI Plugfest – October 2017 www.uefi.org 7

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. Using FWTS – Command Line UEFI Plugfest – October 2017 www.uefi.org 13

  14. Using FWTS – fwts-frontend-text UEFI Plugfest – October 2017 www.uefi.org 14

  15. Using FWTS – fwts-frontend-text UEFI Plugfest – October 2017 www.uefi.org 15

  16. Using FWTS – fwts-frontend-text UEFI Plugfest – October 2017 www.uefi.org 16

  17. Using FWTS – fwts-frontend-text UEFI Plugfest – October 2017 www.uefi.org 17

  18. Using FWTS – fwts-frontend-text UEFI Plugfest – October 2017 www.uefi.org 18

  19. Results.log UEFI Plugfest – October 2017 www.uefi.org 19

  20. Results.log – Tests UEFI Plugfest – October 2017 www.uefi.org 20

  21. Results.log – Summary UEFI Plugfest – October 2017 www.uefi.org 21

  22. Develop and Contribute UEFI Plugfest – October 2017 www.uefi.org 22

  23. FWTS Directories Firmware Test Suite Device ACPI BIOS Kernel SMBIOS Opal PCI UEFI etc … Tree UEFI Plugfest – October 2017 www.uefi.org 23

  24. Adding an ACPI Table Test Commit 74a34fe4abbe0902 • UEFI Plugfest – October 2017 www.uefi.org 24

  25. 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

  26. 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

  27. FWTS License & FWTS Community UEFI Plugfest – October 2017 www.uefi.org 27

  28. 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

  29. 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

  30. Q&A UEFI Plugfest – October 2017 www.uefi.org 30

  31. 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