Build your own system firmware. This book helps you understand system firmware architecture and minimalistic design, and provides a specialized knowledge of firmware development.

The book includes guidance on understanding the system firmware build procedure, integrating pieces of firmware and allowing configuration, updating system firmware, creating a development infrastructure for allowing multi-party collaboration in firmware development, and gaining advanced system firmware debugging knowledge.

After reading the book you will be able to assume better control while developing your own firmware and know how to interact with native hardware while debugging. You will understand key principles for future firmware development using newer technology, and be ready for the introduction of modern safe programming languages for firmware development. Detailed system firmware development case studies using a futuristic approach cover:
  • Future scalable system firmware developmentmodels
  • Types of firmware development (system firmware, device firmware, manageability firmware)
  • Tools and their usage while creating system firmware
  • How to build infrastructure for seamless firmware development using a multi-party development model
  • Debugging methodologies used during various phases of firmware product development
  • Setting up key expectations for future firmware, including thinner firmware footprints and faster execution time, easier configuration, and increased transparent security

What You Will Learn

  • Understand the system firmware working model of the future
  • Gain knowledge to say goodbye to proprietary firmware for different types of firmware development
  • Know the different types of tools required for creating firmware source code before flashing the final image into the boot device of the embedded system
  • Develop skills to understand thefailure in firmware or in the system and prepare the debugging environment to root cause the defects
  • Discern the platform minimal security requirement
  • Optimize the system firmware boot time based on the target hardware requirement
  • Comprehend the product development cycle using open source firmware development



Autorentext

Subrata Banik is a Firmware Engineer with Intel Corporation and has been involved in firmware development across UEFI, coreboot for IA, and ARM platforms over the course of his career. He has experience working for all leading PC makers. Subrata is active in open source firmware development across different projects such as coreboot, EDKII, etc., and he has more than 600 patches in the open firmware community, and he is one of the top 10 open source firmware contributors. Subrata has 15 patents and is very passionate about learning new technology and sharing knowledge among enthusiast engineers. He has presented at industry events such as the Open Source Firmware Conference, Institute for Security and Technology, Intel Developer Forum, and others.

Vincent Zimmer is a Senior Principal Engineer in the Architecture, Graphics, and Software Group of the Intel corporation. He has been engaged in firmware development for over 25 years and leads the UEFI Security sub-team. Vincent has presented at industry events such as the Open Source Firmware Conference, Linux Fest Northwest, Intel Developer Forum, UEFI Plugfest, Open Compute Project Summit, BlackHat Las Vegas, BSides Seattle, Toorcon, and Cansecwest. In addition to collaborating on many white papers, Vincent has co-authored several books on firmware, papers, and over 400 issued US patents.



Inhalt

Preface: This section to capture the author's personal experience about the need for advanced knowledge for system firmware development and why authors think this book might be helpful for the target audience.

Acknowledgement: This section acknowledges the contribution of various domain experts.

Chapter 1: Introduction about the book: System Firmware: An Essential Guide to Open Source and Embedded Solutions book is an essential book to understand the basic system firmware knowledge and Specialized Systemic Knowledge for Firmware Development is about to going deep into other associated pieces which make the system firmware development complete like understanding the build tools for creating the final firmware image, allow configuration which working between multiple independent firmware block, ensure seamless update of the system firmware. This book will help its reader to understand how critical system firmware security is to define a secure platform. It's also a handbook for learning basic source code management required for system firmware development.

This section would cover:

  • Motivation for this book
  • Who is the Reader?
  • Top reasons to migrate to open source firmware solution from close source
  • What are the contents?
  • Chapter 2: Spotlight on future firmware: Chapter 4 and 7 has already provided details on specific boot firmware and payloads. This section to share additional work relationship with those various firmware combinations as below:

    • System Firmware Development model using open source firmware
        Hybrid system firmware development model on x86 systems.
        • boot firmware (coreboot) + FSP + payload (linuxboot)
        • EDKII Minplatform
      • Open Source System firmware development on RISC-V using Oreboot (Coreboot without 'C')
      • Device Firmware Development model using open source firmware
      • Explaining the evolution in Discrete Graphics Device firmware from legacy Option ROM till modern EDKII-based driver to nullify the legacy concepts.
      • Manageability Firmware Development using future adaptive firmware migration:
      • > Open BMC Firmware
      • > Zephyr RTOS open source
      • Chapter 3: Tools: Since the historical past, tools were something that remain constant indicators for human race progress. It can easily refer to tool-based progression, starting from stone age to iron age and even tools being used in the modern era, all intended to ease human effort. Similarly, there is a significant need to have the right tools while developing the boot firmware product. This section focuses on the details on various types of tools that a user should be equipped with while creating their own boot firmware.

      • Build Tool: As explained earlier in Chapter 4 and 8 about the various ingredients inside the boot firmware and the stitching tool is required to combine all of these to create the final ROM.
      • Configuration Tool: The need of configuration tools become inevitable when a user decides to adopt the Hybrid work model as explained in Chapter 6. Users would need more configuration options while working with closed sourced binary. The need for configuration tools is more when users don't have provision to modify the source code for an example: hardware validation, firmware validation, system integration etc.
      • Flashing/Update Tool: There might be several instances where product integrators or users would like to update the pre-flash boot firmware without the hardware-based utilities.
      • Chapter 4: Infrastructure for building own system firmware. This chapter would focus on understanding the open source project infrastructure like GitHub and its code upstreaming process, review process etc. Also, migrating the project from closed source system firmware to open source firmware also needs an adaptation towards "Code of Conduct", "Coding Standard" etc.

        Chapter 5: Debugging: In a product development cycle debugging is the most widely used area where users would like to explore the different means to identify how to fix a problem. This section provid…

    Titel
    Firmware Development
    Untertitel
    A Guide to Specialized Systemic Knowledge
    EAN
    9781484279748
    Format
    E-Book (pdf)
    Hersteller
    Veröffentlichung
    28.09.2022
    Digitaler Kopierschutz
    Wasserzeichen
    Dateigrösse
    13.65 MB
    Anzahl Seiten
    398