Dasharo / dasharo-issues

The Dasharo issue tracker
https://dasharo.com/
23 stars 0 forks source link

Dasharo Feasibility Evaluation Tool #589

Open pietrushnic opened 8 months ago

pietrushnic commented 8 months ago

The problem you're addressing (if any)

The problem at hand is the lack of a comprehensive tool within the Dasharo Tools Suite that can evaluate the feasibility of porting coreboot to a given hardware platform. This gap in the toolset presents several challenges:

  1. Security Technology Assessment:

    • Users need to understand the implications of security technologies like Intel Boot Guard and AMD PSB on the coreboot (or other open-source firmware) porting process. Without a tool that assesses these technologies' status, users may not be able to determine if a port is blocked or restricted by these security measures.
  2. Hardware Compatibility Transparency:

    • There is no streamlined process for reporting and updating a public Hardware Compatibility List (HCL) that reflects the current compatibility status of various platforms with Dasharo. This lack of transparency can hinder the community's ability to track and contribute to the support for different hardware. There was some work made in that direction, but it is a work in progress: https://docs.dasharo.com/unified/msi/hcl/#contributing. It should be fully automated.
  3. Binary Blobs and Open Source Firmware Status:

    • The status of binary blobs, such as FSPs, and the level of open-source implementations for specific microarchitectures are critical for Dasharo development. Users currently lack a centralized tool that reports this information, which is necessary for planning and executing porting projects.
  4. Current coreboot Support Information:

    • Information regarding the existing coreboot support for specific platforms may be scattered or outdated. Users require up-to-date data to make informed decisions about starting new porting efforts.
  5. Comparative Analysis Deficiency:

    • A tool that can analyze and compare similar platforms to predict the success and challenges of porting efforts is missing. Such analysis can provide insights based on experiences with comparable hardware, which can be invaluable for new projects.
  6. Heuristic Evaluation Needs:

    • Other heuristics that could facilitate the evaluation process, such as chipset compatibility and community support, are not systematically addressed by any current tool within the Dasharo Tools Suite.
  7. Monetization and Access Model:

    • The Dasharo Tools Suite lacks a monetization strategy for advanced features like the proposed tool. There is a need for a simple, automated payment system that grants immediate access to the tool after purchase.

The absence of such a tool makes it difficult for individuals and organizations to assess the viability of Dasharo porting projects efficiently and accurately, potentially slowing down the adoption and development of open-source firmware.

Describe the solution you'd like

Introduction

This document outlines a proposal for extending the Dasharo Tools Suite with new capabilities specifically designed to evaluate the feasibility of coreboot ports for various hardware platforms. The proposed extension aims to incorporate tools that leverage existing projects and data sources to analyze hardware compatibility with coreboot and related security technologies comprehensively.

Overview

The Dasharo Feasibility Evaluation Tool is envisioned as a paid feature within the Dasharo Tools Suite that assists users in determining the potential for Dasharo porting projects. The tool will analyze various factors that influence the porting process and provide a detailed report on the likelihood of success and potential challenges.

Key Considerations

The tool will take into account the following basic factors:

  1. Security Technologies Status:

    • Integration with projects like bootguard-status and psb_status to assess the state of Intel Boot Guard and AMD Platform Security Processor (PSP) Bootloader Specification Block (PSB) technologies.
    • Provide guidance on approaching hardware equipped with these security features.
  2. Hardware Compatibility List (HCL) Reporting:

    • Generate and update a public HCL to reflect the current compatibility status and support decisions for future platform integrations.
  3. Binary Blobs and Open Source ImplementationStatus:

    • Evaluate the availability and status of Firmware Support Packages (FSPs) or other binary blobs required for coreboot functionality.
    • Report on the OpenSIL for the specific microarchitecture in question.
  4. coreboot/Dasharo/libreboot/other Status for the Platform:

    • Present the current coreboot support status for the hardware platform, including any existing ports and their stability or functionality. Evaluating the quality of support in every project would not be possible, but maybe it can start a discussion about quality reports, which could, for example, rely on OSFV or some Dasharo independent tool.
  5. Analysis of Similar Platforms:

    • Conduct comparative analysis with similar hardware platforms to draw parallels and infer potential porting outcomes.
  6. Other Heuristics:

    • Apply a set of heuristics to aid in the evaluation process, such as chipset analysis, peripheral compatibility, and community support metrics.

Payment and Access

Where is the value to a user, and who might that user be?

The proposed Dasharo Feasibility Evaluation Tool represents a significant enhancement to the Dasharo Tools Suite, offering valuable assistance to those considering open-source firmware porting projects. The tool will facilitate informed decision-making and contribute to the broader adoption of open-source firmware solutions by providing detailed analysis and reporting on key factors. It will optimize the time spent by developers on evaluating targets and help gain the answer faster.

Describe alternatives you've considered

No response

Additional context

No response

hanetzer commented 8 months ago

For picasso and cezzanne based systems, this repo has some very useful info gathering: https://github.com/martinlroth/public_scripts/

pietrushnic commented 8 months ago

@hanetzer Thanks, very good point. We will try to leverage those scripts when we will get to implementation.