Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Firmware Test Suite - Uses, Development, Contribution and GPL

152 views

Published on

Firmware Test Suite (FWTS) is an open-source test suite and is recommended as the ACPI 6.1 Self-Certification Test (SCT) by UEFI Forum. This command line tool is easy to use and provides explanatory
and informative results. Developers will find adding new tests to FWTS is easy, and many examples such as ACPI, UEFI and SMBIOS are available for references. An active community responds quickly to technical discussion and code reviews on the mailing list. As licensed by GPL, FWTS ensures its openness
to everyone while it is suitable for anyone who wants to use it freely both publicly and privately.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Firmware Test Suite - Uses, Development, Contribution and GPL

  1. 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. 2. Agenda • Introduction • Installation & Uses • Develop and Contribute • FWTS License & FWTS Community UEFI Plugfest – October 2017 www.uefi.org 2
  3. 3. Introduction UEFI Plugfest – October 2017 www.uefi.org 3
  4. 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. 5. FWTS Framework UEFI Plugfest – October 2017 www.uefi.org 5 Linux Kernel UEFI Runtime Services ACPI Tables and AML ACPICA Hardware Devices CPU SMBIOS Firmware Test Suite ACPI BIOS Device Tree Kernel SMBIOS OPAL PCI UEFI etc…
  6. 6. FWTS Framework – ACPI & UEFI UEFI Plugfest – October 2017 www.uefi.org 6 ACPI acpitables fadt mcfg method more ACPI tables… UEFI Runtime csm esrt securebootcert uefibootpatch more uefi runtime tests
  7. 7. Installation & Uses UEFI Plugfest – October 2017 www.uefi.org 7
  8. 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. 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. 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. 11. FWTS User Interfaces (Demo) UEFI Plugfest – October 2017 www.uefi.org 11 Firmware Test Suite ACPI APIC BIOS Device Tree Kernel SMBIOS PCI UEFI etc… Command Line fwts-frontend (GUI)
  12. 12. Develop and Contribute UEFI Plugfest – October 2017 www.uefi.org 22
  13. 13. FWTS Directories UEFI Plugfest – October 2017 www.uefi.org 23 Firmware Test Suite ACPI BIOS Device Tree Kernel SMBIOS Opal PCI UEFI etc…
  14. 14. Adding an ACPI Table Test • Commit 74a34fe4abbe0902 UEFI Plugfest – October 2017 www.uefi.org 24
  15. 15. Submitting Patches UEFI Plugfest – October 2017 www.uefi.org 25 Send patches by Git Generate patches by Git Header Signed-off (Implement fwts-test tests) Check Coding Styles (Linux Kernel) Function brackets Spaces & tabs Line length(?) Write Some Code Add a new test Fix a bug
  16. 16. 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
  17. 17. FWTS License & FWTS Community UEFI Plugfest – October 2017 www.uefi.org 27
  18. 18. 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
  19. 19. 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
  20. 20. Q&A UEFI Plugfest – October 2017 www.uefi.org 30
  21. 21. 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

×