Intermediate user level
Preface: This section to capture the author's personal experience about the current available bootloader solutions for target hardware and why authors think this book might be helpful for the target audience.
Acknowledgement: This section acknowledges the contribution of domain expert(s) who has contributed into this book apart from the authors.
Chapter 1: Introduction about the book: System Firmware: An Essential Guide to Open Source and Embedded Solutions book is a handbook for target audience to learn about the basics of system boot firmware, understand various different types of solutions available while designing system firmware for target embedded system. This book will help its reader to understand the minimal knowledge required to start the firmware journey, understanding the different system firmware architecture and find the right bootloader solution or combinations of firmware’s required to boot the platform.
This section would cover:
Chapter 2: Starter: To provide the historical introduction about the boot firmware, its origin, what all different solutions available like closed soured boot firmware and open source boot firmware. Define the goals for readers to create their own open source boot firmware for target hardware, create hybrid work model if case SoC vendors still has some proprietary close source firmware to work with open source firmware to develop the target hardware along with non-goals like understanding the architecture of all possible bootloaders, payloads and firmware offerings, understand the bootloader security aspect while developing the product, scope of improving the quality of service for boot firmware using multi core environment, learn from the case study about optimizing boot firmware boot prints and boot time by introducing various concepts.
Chapter 3: Knowing your Hardware: This section provides detailed understanding of hardware interfaces that firmware needs to manage prior to boot to an operating system. This is a very basic understanding section of system boot firmware without which one really can’t make progress further into their bootloader journey. A good understanding of hardware interfaces and how to program those interfaces is a minimum expectation from any BIOS engineer while working on any hardware project. Idea here is to provide ample details on any sample motherboard design and required programmable hardware interface at boot time, for example: UART, SPI, USB, SATA, Display etc.
Chapter 4: Understanding Bootloader and its minimum requirements: There are many different types of firmware that exist based on underlying hardware requirements like system boot firmware, device firmware, platform security firmware, manageability firmware. Each firmware has its minimum requirements to complete its assigned task to initialize the underlying hardware and/or abstract the hardware to higher level applications. This section is to focus on system boot firmware and provide details about what is a bootloader, what are the basic characteristics a firmware must call it bootloader, finally understanding the minimum requirement to design a bootloader. This book would be like a handbook for the reader where the reader would be in a comfortable position to design its own bootloader at the end of this session. It won’t be possible to do so unless the reader has understood the basic expectation from the bootloader and upcoming chapters would guide readers to choose the appropriate bootloader for the target hardware.
Chapter 5: Different types of bootloaders: BIOS as acronym suggest is responsible for Basic Input/ Output System. The BIOS in modern PCs initializes and tests the system hardware components and loads an operating system from a mass memory device. If a developer wants to write their own bootloader on any architecture, (ARM, IA, RISC etc.) then they must gather the appropriate documents (which aren’t always known), hence Chapter 3 is to provide those specific details about designing their own bootloader. And this section is to provide the architectural details about the popular or market leading bootloaders along with its applicable market segments because of its characteristics: idea here is to understand the Pros and Cons of each offering.
Chapter 6: Hybrid Work Model: Open source bootloader development has enormous dependency over SoC vendors for providing the documentation and reference code for CPU, memory and chipset initialization. A real desire to have an entire product developed with an open source concept, be it like SoC, hardware schematics, firmware and software. But the majority of silicon vendors are yet to adopt the open source development model for their products, resulting in sharing SoC reference code as part of license agreement among a small group typically known as Independent BIOS Vendors (IBVs). This section defines the possible hybrid work model where users can still build their open source bootloader solution while working with closed or restricted SoC, hardware platform.
Chapter 7: Picking the correct payload: As salt is a very important ingredient for preparing good food, the same is also applicable for bootloaders as well, for any bootloader the payload is like salt. There are few bootloaders where payload is already integrated into it by default and one can’t likely replace it with other payload offerings. There is some boot firmware to allow selection of payload as per product need. The payload is a very essential entity in boot firmware due to various reasons like, an efficient payload can eventually reduce the boot firmware boot print and allow smooth transitions towards operating system, also provide early interactive interface or test framework to execute various utilities to measure hardware health. This section provides architecture details of all popular payloads and its current offerings to help users to choose the correct payload for their product.
An idea to share the design principle for future proof concepts like Universal Payload where these payloads are getting mutual benefit from each other and define unified APIs expectations from boot firmware.
Chapter 8: Case Studies: This section to capture the case study done on real hardware on below topics. This real-life example will help users to think through more innovation while designing their own open source boot firmware
· Reduce Firmware boot time: To demonstrate the boot optimization done on a real hardware platform using open source firmware development model.
· Supporting new CPU architecture migration with UEFI: Demonstrate an efficient evaluation board hardware design based on ARM SoC in a vision to reduce the firmware boundary. · Reducing the system firmware boundary with LinuxBoot: Highlighting the value of LinuxBoot in the future system firmware design, not only helps to shrink the firmware space but also brings the value of the boot kernel into firmware to do more powerful operation with ease.· Adopting Hybrid Firmware Development Model: Real life example from product development journey based on latest IA chipset platform to demonstrate hybrid firmware development model combining open source bootloader, payload solutions and closed source binary blobs.
Glossary and Index as applicable for connecting back the main topics.
Subrata Banik is a Firmware Engineer with more than a decade being spent in the computer industry and acquired experiences in system firmware design, development and debugging across various firmware architectures like UEFI, coreboot, Slim bootloader etc. for x86 and ARM platforms. Subrata has profound experience on platform enablement that leads into working for all the leading PC-makers’ products. Subrata is an active member of open-source firmware (OSF) development across different projects like coreboot, oreboot, flashrom, EDKII etc., where he is one of the leading contributors in the open firmware (coreboot) development. Subrata has received multiple US Patents and is very passionate about learning new technology and sharing knowledge among enthusiast engineers. Subrata has presented his technical talks at industry events such as Open Source Firmware conference, Institute for Security and Technology, Intel Developer Forum etc.
When not writing or working, he can be found enjoying watching sports (especially football) or spending time with his daughter. A fun fact about Subrata is, he is a strong believer of Time travel existence.
Vincent Zimmer has been working on embedded firmware for the last 30 years. Vincent has contributed to or created firmware spanning various firmware initiatives, including the Extensible Firmware Interface, where Vincent presently leads the Security subteam in the UEFI Forum. Vincent has also co-authored various papers and books, along with being a named co-inventor on over 450 US patents.
Find the right bootloader solution or combination of firmware required to boot a platform considering its security, product features, and optimized boot solutions. This book covers system boot firmware, focusing on real-world firmware migration from closed source to open source adaptation.
The book provides an architectural overview of popular boot firmware. This includes both closed sourced and/or open source in nature, such as Unified Extensible Firmware Interface (UEFI), coreboot, and Slim Bootloader and their applicable market segments based on product development and deployment requirements.
Traditional system firmware is often complex and closed sourced whereas modern firmware is still a kind of hybrid between closed and open source. But what might a future firmware model look like? The most simplistic boot firmware solution uses open source firmware development. This book helps you decide how to choose the right boot firmware for your products and develop your own boot firmware using open source. Coverage includes:What You Will Learn
1997-2024 DolnySlask.com Agencja Internetowa