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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend