The firmware-tools project Matt Domsch Michael Brown.

Slides:



Advertisements
Similar presentations
Installing software on personal computer
Advertisements

WDK Driver Test Manager. Outline HCT and the history of driver testing Problems to solve Goals of the WDK Driver Test Manager (DTM) Automated Deployment.
Monitor Linux OS health & performance Monitor log files Monitor JEE app servers Monitor line-of-business applications Monitor databases and web.
Installing Linux softwares Sirak Kaewjamnong. 2 Software packets  When Linux developers create their software they typically bundle all the executable.
Downloading & Installing Software Chapter 13. Maintaining the System Yum Pirut BitTiorrent Rpm Keeping Software Up To Date Up2date Red Hat Network Wget.
Crystal Hoyer Program Manager IIS Team Preview of features that will be announced at MIX09 Please do not blog, take pictures or video of session.
Linux & UNIX Version 5.3 (Power) Version 6.1 (Power) Version 7.1 (Power) AIX Version 11iv2 (PA-RISC/IA64) Version 11iv3 (PA-RISC/IA64) HP-UX Version.
WP4-install task report WP4 workshop Barcelona project conference 5/03 German Cancio.
Tim Vander Kooi Systems
KIT – University of the State of Baden-Württemberg and National Laboratory of the Helmholtz Association STEINBUCH CENTRE FOR COMPUTING - SCC
October, Scientific Linux INFN/Trieste B.Gobbo – Compass R.Gomezel - T.Macorini - L.Strizzolo INFN - Trieste.
INFSOM-RI Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Firmware Storage : Technical Overview Copyright © Intel Corporation Intel Corporation Software and Services Group.
11 SUPPORTING APPLICATIONS IN WINDOWS XP PROFESSIONAL Chapter 9.
Course ILT Routine maintenance Unit objectives Discuss the necessity of applying software patches and fixes Discuss viruses and anti-virus strategy.
1Offline Weekly Meeting May May 2006 AliRoot Build Integration and (Testing) System Peter Hristov Vagner Morais.
1 / 22 AliRoot and AliEn Build Integration and Testing System.
G. Cancio, L. Cons, Ph. Defert - n°1 October 2002 Software Packages Management System for the EU DataGrid G. Cancio Melia, L. Cons, Ph. Defert. CERN/IT.
Patch and Software Management CSCI N321 – System and Network Administration Copyright © 2000, 2011 by Scott Orr and the Trustees of Indiana University.
GLite build and integration system Building and Packaging Robert HARAKALY
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Maite Barroso - 10/05/01 - n° 1 WP4 PM9 Deliverable Presentation: Interim Installation System Configuration Management Prototype
IBM Software Group ® Software Distribution of ClearCase Artifacts with Tivoli Software Eitan Shomrai, IBM Software Group – Rational Yuval Kimel, IBM Software.
GLite build and integration system Building and Packaging Robert HARAKALY
This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group Module 01 Introduction.
Repository Manager 1.3 Product Overview Name Title Date.
DECTRIS Ltd Baden-Daettwil Switzerland Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)
Scientific Linux Inventory Project (SLIP) Troy Dawson Connie Sieh.
Building programs LinuxChix-KE. What happens in your CPU? ● It executes a small set of instructions called "machine code" ● Each instruction is just a.
FermiLinux STS Scientific Linux 6 Connie Sieh HEPIX Spring 2009 May 25, 2009.
Linux Basics Part 2. VIM Editor vi improved Installed on most Linux machines Can be a bit confusing at first... o Cheat sheets FTW Other popular editors:
1 Policy Based Systems Management with Puppet Sean Dague
DELL PUBLIC Matt Domsch Technology Strategist, Office of the CTO, Dell September 21, 2009 Dynamic Driver Injection.
MirrorManager: The Fedora Mirror System Matt Domsch Fedora Mirror Wrangler Linux Technology Strategist Office of the CTO Dell, Inc.
April 1st, 2009 Cobbler Provisioning Made Easy Jasper Capel.
Customizing Fedora Jeroen van Meeuwen Fedora Project.
New Tools Used by the Scientific Linux Team
Air Plugins Extending and customizing uDeploy (IBM UrbanCode Deploy)
Outline Installing Gem5 SPEC2006 for Gem5 Configuring Gem5.
Patch Management Module 13.
Getting & Running EdgeX Docker Containers
Containers as a Service with Docker to Extend an Open Platform
Leveraging Vendor Tools for Client Management Productivity
Abstract After a SIG has been approved, one of the next steps is to get products out to users. During this talk, Niels will explain how the Storage SIG.
Online Database Work Overview Work needed for OKS database
Snap your App! Ted Ubucon
AI How to: System Update and Additional Software
From Source Code to Packages and even whole distributions
The Use of AMET and Automated Scripts for Model Evaluation
CompTIA Server+ Certification (Exam SK0-004)
Overview – SOE PatchTT November 2015.
Computer Maintenance Unit Subtitle: Basic Input/Output System (BIOS)
SPI external software build tool and distribution mechanism
Business in a Connected World
Overview – SOE PatchTT December 2013.
On the road: Test automation in practice for a BMW map update service
Spacewalk and Koji at Fermilab
More Scripting & Chapter 11
RedHat Package Management
Dell PowerEdge Change Management Tools Frequently asked questions
An Overview of MPEG-21 Cory McKay.
.NET Debugging for the Production Environment
Microsoft Virtual Academy
Android Developer Fundamentals V2
How to Improve Releasing Efficiency via i18N/L10n Test Automation.
SUSE Linux Enterprise Desktop Administration
DevOps in action The next level of virtualization
Perl in RPM-Land Dave Cross Magnum Solutions Ltd YAPC::Europe
Preparing for the Windows 8.1 MCSA
Presentation transcript:

The firmware-tools project Matt Domsch Michael Brown

2 PG Linux Eng Overview BIOS and Firmware updates history Problem Vision & Scope Components of an SCM system for BIOS and Firmware Putting it together

3 PG Linux Eng BIOS Update History In the beginning there was chaos...

4 PG Linux Eng BIOS Update As Linux gained marketshare, vendors released native executables to flash BIOS and Firmware. As this evolved, vendors packaged firmware and tools together in shell archives to create single executables for updates. – Key Point: Even though all these methods work, they are still effectively manual processes. – Key Point: Vendors typically only “certify” a very limited subset of linux distributions Later, vendors released point solutions to wrap all of their individual updates and distribute them across multiple machines. – Key Point: Even though vendors provided automation, they were silos, with organizations needing to set up and maintain multiple software stacks to service each vendor's equipment.

5 PG Linux Eng Problem Few sysadmins ever upgrade their BIOS or firmware, unless... Tech support makes them Why? Existing methods are still too difficult – Per-hardware-vendor – Per OS / Distribution – Per Management Tool – Updates posted on web sites designed for 1-to-1 human support – Often a manual process

6 PG Linux Eng Vision & Scope Provide infrastructure to seamlessly integrate change management for BIOS and Firmware into native Linux change management infrastructure used by the OS and apps. – Use yum/up2date/apt/emerge/etc to pull down RPMs/DEBs/ebuilds with BIOS and Firmware updates. Multi-Distribution support. Multi-hardware-vendor support. Common Packaging Format guideline to IHVs Common Inventory/Execution Framework Plug in existing flash apps, no need to rewrite everything. Use for flash-resident and runtime-loaded firmware

7 PG Linux Eng Architecture Firmware-tools Default Plugins PCI bootstrap... IHV Plugin BIOS IHV Plugin RAID IHV Plugin... IHV Payload BIOS for 1 system IHV Payload RAID for 1 card inventory_firmware apply_updates

8 PG Linux Eng Components of SCM for BIOS and Firmware Payload – This is the actual BIOS or Firmware image itself. Typically a.dat file that is flashed to the device. Inventory – The process of finding all of the components on the system and enumerating them using a pre-defined naming scheme. Eg. PCI Devices (pci_firmware_ven_0x1359_dev_0x2468) Execution – The act of actually writing bits into the flash media. Bootstrap – Special case of Inventory where versions do not matter, just provide list of hardware that “might” be on system. Fed into repository system.

9 PG Linux Eng Payload Packaging BIOS example given, same concept works for eg. DEB “Provides” lines are key to functionality system_bios(ven_0x1028_dev_0x0182) pci_firmware(ven_0x8086_dev_0x2590_subven_0x1028_subdev_0x0182) %post script calls standardized infrastructure, so %post is not specific to this update Summary: BIOS upgrade package for System: %{system_shortname} Name: system_bios_%{system_shortname} Version: %{version} Release: 14%{?revision:.%{revision}}... Requires: firmware-addon-dell >= 1.0 Provides: system_bios(ven_%{vendor_id}_dev_%{device_id}) = %{version}... %post apply_updates --rpm -y || true Sample BIOS RPM spec file

10 PG Linux Eng Inventory and Execution Inventory is run via plug-in system. Basic binary will call out to all installed plugins to generate final system inventory. Execution is also plug-in driven. Automated updates: – Inventory system, then scan local repository for matching firmware with newer version. – YUM/Up2date/etc take care of automatically pulling down latest content. – No need to reinvent the wheel.

11 PG Linux Eng Use # set up repos wget -q -O - \ | bashhttp://linux.dell.com/yum/software/bootstrap.sh wget -q -O - \ | bashhttp://repo.fwupdate.com/repo/firmware/bootstrap.sh # download and install firmware tools yum -y install firmware-addon-dell # download and install firmware updates yum -y install $(inventory_firmware -b) apply_updates

12 PG Linux Eng Use / Participate / Develop Hardware and System Vendors Write tools and plug-ins for your firmware Publish tools and firmware in an online repository Distro developers Port / maintain firmware-tools for your distro Help packagers SysAdmins – Try it! – BIOS for 216 Dell systems available today – Fedora {3,4,5,devel}, RHEL{3,4}, SLES{9,10} now – others with your help

13 PG Linux Eng Resources Firmware-tools home page Fwupdate payload repository #fwupdate on FreeNode