Skip to content
This repository was archived by the owner on Jan 23, 2026. It is now read-only.

inverse symlinks to fix hatchling#399

Merged
bennyz merged 1 commit intojumpstarter-dev:mainfrom
raballew:fix-hatchling
Apr 8, 2025
Merged

inverse symlinks to fix hatchling#399
bennyz merged 1 commit intojumpstarter-dev:mainfrom
raballew:fix-hatchling

Conversation

@raballew
Copy link
Copy Markdown
Member

@raballew raballew commented Apr 8, 2025

Summary by CodeRabbit

  • Documentation

    • Introduced comprehensive README guides for each driver, providing clear installation instructions, configuration examples, API references, and usage details.
    • Updated reference pages with consistent, relative links for seamless navigation.
  • Refactor

    • Streamlined the documentation generation process to produce standardized README files and direct symlinked access.
  • Style

    • Corrected minor formatting issues in configuration files for improved clarity.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 8, 2025

Walkthrough

This pull request restructures the driver documentation process. The create_driver.sh script now always creates a README.md in the driver directory and creates a symlink to it from the documentation folder, replacing the conditional creation of a dedicated DOC_FILE. Additionally, minor formatting is fixed in pyproject.toml.tmpl. Multiple documentation files in the API reference have been updated to point to the new README files, and new README documentation files have been added for several driver packages with installation, configuration, and API details.

Changes

Files Change Summary
__templates__/create_driver.sh Updated to always create a README.md with placeholders and build a symlink from the docs directory; removed conditional DOC_FILE check.
__templates__/driver/pyproject.toml.tmpl Removed extraneous space after the license declaration.
docs/source/api-reference/drivers/*.md Added new relative reference links to corresponding README.md files for drivers (e.g., CAN, Corellium, DUT Link, Flashers, HTTP, Network, etc.).
packages/jumpstarter-driver-*/README.md Added new README documentation for multiple driver packages, including sections on installation, configuration, API references, examples, and CLI usage.

Sequence Diagram(s)

sequenceDiagram
    participant S as create_driver.sh
    participant D as Driver Directory
    participant R as README.md
    participant L as Documentation Symlink

    S->>D: Define driver path and README.md location
    S->>R: Create README.md with placeholders (DRIVER_CLASS, DRIVER_NAME)
    S->>L: Create a symlink in docs directory pointing to README.md
    Note over S: Removed previous conditional DOC_FILE check
Loading

Possibly related PRs

Suggested reviewers

  • NickCao

Poem

I’m a rabbit with a hop so light,
Whisking through code in the soft moonlight.
README files now bloom in every folder,
Symlinks connect like magic, bolder.
With carrots of code and bytes to cheer,
I celebrate these changes—happy ears!
🥕🐇


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5bd1065 and 9a372b7.

📒 Files selected for processing (79)
  • __templates__/create_driver.sh (2 hunks)
  • __templates__/driver/pyproject.toml.tmpl (1 hunks)
  • docs/source/api-reference/drivers/can.md (0 hunks)
  • docs/source/api-reference/drivers/can.md (1 hunks)
  • docs/source/api-reference/drivers/corellium.md (0 hunks)
  • docs/source/api-reference/drivers/corellium.md (1 hunks)
  • docs/source/api-reference/drivers/dutlink.md (0 hunks)
  • docs/source/api-reference/drivers/dutlink.md (1 hunks)
  • docs/source/api-reference/drivers/flashers.md (0 hunks)
  • docs/source/api-reference/drivers/flashers.md (1 hunks)
  • docs/source/api-reference/drivers/http.md (0 hunks)
  • docs/source/api-reference/drivers/http.md (1 hunks)
  • docs/source/api-reference/drivers/index.md (1 hunks)
  • docs/source/api-reference/drivers/network.md (0 hunks)
  • docs/source/api-reference/drivers/network.md (1 hunks)
  • docs/source/api-reference/drivers/opendal.md (0 hunks)
  • docs/source/api-reference/drivers/opendal.md (1 hunks)
  • docs/source/api-reference/drivers/power.md (0 hunks)
  • docs/source/api-reference/drivers/power.md (1 hunks)
  • docs/source/api-reference/drivers/probe-rs.md (0 hunks)
  • docs/source/api-reference/drivers/probe-rs.md (1 hunks)
  • docs/source/api-reference/drivers/pyserial.md (0 hunks)
  • docs/source/api-reference/drivers/pyserial.md (1 hunks)
  • docs/source/api-reference/drivers/qemu.md (0 hunks)
  • docs/source/api-reference/drivers/qemu.md (1 hunks)
  • docs/source/api-reference/drivers/raspberrypi.md (0 hunks)
  • docs/source/api-reference/drivers/raspberrypi.md (1 hunks)
  • docs/source/api-reference/drivers/sdwire.md (0 hunks)
  • docs/source/api-reference/drivers/sdwire.md (1 hunks)
  • docs/source/api-reference/drivers/shell.md (0 hunks)
  • docs/source/api-reference/drivers/shell.md (1 hunks)
  • docs/source/api-reference/drivers/snmp.md (0 hunks)
  • docs/source/api-reference/drivers/snmp.md (1 hunks)
  • docs/source/api-reference/drivers/tftp.md (0 hunks)
  • docs/source/api-reference/drivers/tftp.md (1 hunks)
  • docs/source/api-reference/drivers/uboot.md (0 hunks)
  • docs/source/api-reference/drivers/uboot.md (1 hunks)
  • docs/source/api-reference/drivers/ustreamer.md (0 hunks)
  • docs/source/api-reference/drivers/ustreamer.md (1 hunks)
  • docs/source/api-reference/drivers/yepkit.md (0 hunks)
  • docs/source/api-reference/drivers/yepkit.md (1 hunks)
  • packages/jumpstarter-driver-can/README.md (0 hunks)
  • packages/jumpstarter-driver-can/README.md (1 hunks)
  • packages/jumpstarter-driver-corellium/README.md (0 hunks)
  • packages/jumpstarter-driver-corellium/README.md (1 hunks)
  • packages/jumpstarter-driver-dutlink/README.md (0 hunks)
  • packages/jumpstarter-driver-dutlink/README.md (1 hunks)
  • packages/jumpstarter-driver-flashers/README.md (0 hunks)
  • packages/jumpstarter-driver-flashers/README.md (1 hunks)
  • packages/jumpstarter-driver-http/README.md (0 hunks)
  • packages/jumpstarter-driver-http/README.md (1 hunks)
  • packages/jumpstarter-driver-network/README.md (0 hunks)
  • packages/jumpstarter-driver-network/README.md (1 hunks)
  • packages/jumpstarter-driver-opendal/README.md (0 hunks)
  • packages/jumpstarter-driver-opendal/README.md (1 hunks)
  • packages/jumpstarter-driver-power/README.md (0 hunks)
  • packages/jumpstarter-driver-power/README.md (1 hunks)
  • packages/jumpstarter-driver-probe-rs/README.md (0 hunks)
  • packages/jumpstarter-driver-probe-rs/README.md (1 hunks)
  • packages/jumpstarter-driver-pyserial/README.md (0 hunks)
  • packages/jumpstarter-driver-pyserial/README.md (1 hunks)
  • packages/jumpstarter-driver-qemu/README.md (0 hunks)
  • packages/jumpstarter-driver-qemu/README.md (1 hunks)
  • packages/jumpstarter-driver-raspberrypi/README.md (0 hunks)
  • packages/jumpstarter-driver-raspberrypi/README.md (1 hunks)
  • packages/jumpstarter-driver-sdwire/README.md (0 hunks)
  • packages/jumpstarter-driver-sdwire/README.md (1 hunks)
  • packages/jumpstarter-driver-shell/README.md (0 hunks)
  • packages/jumpstarter-driver-shell/README.md (1 hunks)
  • packages/jumpstarter-driver-snmp/README.md (0 hunks)
  • packages/jumpstarter-driver-snmp/README.md (1 hunks)
  • packages/jumpstarter-driver-tftp/README.md (0 hunks)
  • packages/jumpstarter-driver-tftp/README.md (1 hunks)
  • packages/jumpstarter-driver-uboot/README.md (0 hunks)
  • packages/jumpstarter-driver-uboot/README.md (1 hunks)
  • packages/jumpstarter-driver-ustreamer/README.md (0 hunks)
  • packages/jumpstarter-driver-ustreamer/README.md (1 hunks)
  • packages/jumpstarter-driver-yepkit/README.md (0 hunks)
  • packages/jumpstarter-driver-yepkit/README.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/source/api-reference/drivers/index.md

[duplication] ~17-~17: Possible typo: you repeated a word.
Context: ...rd) hardware control ### Communication Drivers Drivers that provide various communication inte...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~29-~29: Possible typo: you repeated a word.
Context: ...Transfer Protocol ### Storage and Data Drivers Drivers that control storage devices and manage...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~35-~35: Possible typo: you repeated a word.
Context: ... SD card switching utilities ### Media Drivers Drivers that handle media streams: * **[UStrea...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~40-~40: Possible typo: you repeated a word.
Context: ...unctionality ### Debug and Programming Drivers Drivers for debugging and programming devices: ...

(ENGLISH_WORD_REPEAT_RULE)

packages/jumpstarter-driver-flashers/README.md

[uncategorized] ~3-~3: You might be missing the article “the” here.
Context: ...rs are used to flash images to DUTs via network, typically using TFTP and HTTP. It is d...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~52-~52: Possible missing comma found.
Context: ...via HTTP | Yes | In the above example we provide the serial and power childre...

(AI_HYDRA_LEO_MISSING_COMMA)


[style] ~53-~53: To make your writing flow more naturally, try moving ‘also’ before the verb.
Context: ...en by reference, so those remain also available on the root of the exporter. ...

(ALSO_PLACEMENT)


[style] ~284-~284: In American English, abbreviations like “etc.” require a period.
Context: ...flashing, useful to clear boot entries, etc | | | kernel.file | Pa...

(ETC_PERIOD)

🪛 markdownlint-cli2 (0.17.2)
packages/jumpstarter-driver-flashers/README.md

43-43: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)


126-126: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


170-170: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


195-195: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


266-266: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


271-271: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


272-272: Tables should be surrounded by blank lines
null

(MD058, blanks-around-tables)


285-285: Table column count
Expected: 3; Actual: 2; Too few cells, row will be missing data

(MD056, table-column-count)


291-291: Table column count
Expected: 3; Actual: 2; Too few cells, row will be missing data

(MD056, table-column-count)

⏰ Context from checks skipped due to timeout of 90000ms (4)
  • GitHub Check: pytest-matrix (3.12)
  • GitHub Check: pytest-matrix (3.13)
  • GitHub Check: pytest-matrix (3.11)
  • GitHub Check: e2e
🔇 Additional comments (84)
__templates__/driver/pyproject.toml.tmpl (1)

6-6: Cleaned Up License Formatting

The removal of the extra trailing space in the license declaration improves formatting consistency without altering functionality. This change ensures that tools validating the TOML file do not encounter unnecessary whitespace issues.

docs/source/api-reference/drivers/can.md (1)

3-29: Structured Documentation Overview
The remaining sections (Installation, Configuration, and API Reference) are organized clearly and are self-explanatory.

docs/source/api-reference/drivers/qemu.md (1)

3-26: Consistent Content Layout
The content maintains a clear structure across installation, configuration, and API reference sections.

docs/source/api-reference/drivers/yepkit.md (1)

3-81: Well-Organized Documentation
The file’s sections (Installation, Configuration, API Reference, Examples, and CLI access) are clearly delineated and provide comprehensive guidance.

docs/source/api-reference/drivers/http.md (1)

3-26: Clear Sectioning
The documentation for installation, configuration, and the API section is clear and maintains the uniform structure seen across other driver documents.

packages/jumpstarter-driver-qemu/README.md (2)

1-3: Clear Introduction and Header
The header clearly identifies the file as the README for the QEMU driver and provides a succinct description of its purpose. This helps users immediately understand the context of the documentation.


5-10: Installation Section Clarity
The "Installation" section is well formatted. The use of a bash code block to present the pip install command improves readability and usability for developers.

packages/jumpstarter-driver-http/README.md (2)

1-3: Concise Documentation Header
The header effectively introduces the HTTP driver and briefly explains its functionality. This clear introduction sets the right expectations for users regarding the purpose of the package.


5-10: Well-Formatted Installation Instructions
The installation instructions use a nicely formatted bash code block that provides a straightforward pip install command. This ensures users can quickly install the driver with minimal friction.

packages/jumpstarter-driver-dutlink/README.md (3)

1-4: Clear and Concise Header & Introduction
The header and introductory description clearly state the purpose of the driver. The use of backticks for the package name is appropriate.


5-10: Well-Defined Installation Instructions
The installation section using a bash code block is clear and instructive. Users can easily copy and run the pip command.


23-26: API Reference Placeholder
The API Reference section is included as a placeholder. Once the API details are available, please update this section to provide complete documentation.

packages/jumpstarter-driver-power/README.md (3)

1-4: Informative Header & Introductory Description
The header and introduction clearly communicate the focus of the power driver. Using backticks for the package name helps maintain consistency with common documentation styles.


5-10: Straightforward Installation Section
The installation instructions are clear and formatted well in a bash code block. This makes it convenient for users to install the package via pip.


23-26: API Reference Section Awaiting Details
The API Reference is noted as a placeholder. Ensure that once the API documentation is finalized, this section is updated for clarity and completeness.

packages/jumpstarter-driver-can/README.md (3)

1-4: Excellent Overview and Title
The header “# CAN driver” and the brief description provide a clear, concise introduction to the driver’s purpose. This is well aligned with documentation best practices.


5-10: Installation Section is Well-Structured
The installation instructions use a bash code block to clearly show the pip installation command. This improves readability and clarity for users.


23-34: API Reference Integration is Correct
The API reference section utilizes the reStructuredText autoclass directive appropriately, ensuring that class documentation is automatically updated. This approach supports maintainability and accuracy.

docs/source/api-reference/drivers/index.md (3)

35-35: Media Drivers Section is Sufficient
The entry for the UStreamer driver is succinct and properly formatted. No changes required here.

🧰 Tools
🪛 LanguageTool

[duplication] ~35-~35: Possible typo: you repeated a word.
Context: ... SD card switching utilities ### Media Drivers Drivers that handle media streams: * **[UStrea...

(ENGLISH_WORD_REPEAT_RULE)


52-52: Utility Drivers Entry is Correct
The Shell driver entry is correctly formatted and clearly states its purpose, which is great for maintainability.


54-78: Toctree Block is Configured Properly
The toctree block correctly lists the driver documentation files using relative paths. The inclusion of the “:sorted:” option helps maintain order automatically, which is beneficial as the documentation evolves.

packages/jumpstarter-driver-ustreamer/README.md (3)

1-4: Strong Introduction with Clear Purpose
The README starts off with a clear title and description, effectively summarizing the role of the ustreamer driver. This helps users quickly grasp the functionality offered.


5-9: Installation Instructions are Precise
Providing a bash code block for the installation command makes it easy for users to install the package. This section is straightforward and effective.


28-34: API Reference Section is Implemented Well
Using the autoclass directive with reStructuredText ensures that the API documentation stays in sync with the code. This setup is in line with best practices for auto-generating documentation.

packages/jumpstarter-driver-tftp/README.md (5)

1-4: Clear and Concise TFTP Driver Overview

The introduction clearly states the purpose of the driver and mentions its read-only TFTP capabilities. This provides immediate context for users.


5-10: Well-Formatted Installation Section

The installation instructions are concise and use a bash code block for clarity. The command to install the package is prominently displayed.


33-39: Effective API Reference via Auto-Documentation

Using reStructuredText directives (i.e. .. autoclass::) for the API reference is an excellent choice as it keeps the documentation synchronized with the source code.


41-51: Clear Exception Classes Documentation

The section for exception classes is well laid out, and the use of auto-documentation ensures that any updates to exception handling in the codebase will reflect here automatically.


53-76: Detailed Examples Section

The included example demonstrates a realistic usage scenario of the TFTP driver, complete with file creation, server startup, file listing, and graceful shutdown. This will be very helpful for users integrating the driver.

packages/jumpstarter-driver-network/README.md (3)

1-4: Solid Overview of Network Drivers Functionality

The introduction clearly explains the package's purpose for interacting with network servers and connections.


5-10: Clear Installation Instructions

The installation section is straightforward and uses a bash snippet to show the pip installation command.


23-42: Robust API Reference Section

The series of reStructuredText autocomplete blocks for different network driver classes and the client API ensure comprehensive coverage. This approach streamlines maintenance, as updates to the code will be automatically reflected in the docs.

packages/jumpstarter-driver-yepkit/README.md (5)

1-4: Informative Yepkit Driver Introduction

The top section offers a succinct overview of the package’s purpose and target use cases, setting clear expectations.


5-10: Clear and Concise Installation Steps

The installation instructions using a bash code block are straightforward and easy to follow.


11-29: Detailed Configuration Example & Parameters

The YAML configuration example is well-detailed, showing how to configure multiple power interfaces. The subsequent table reinforces the configurations by summarizing each parameter’s description, type, and default value.


30-44: Effective API Reference Documentation

The API reference section uses reStructuredText to auto-document the PowerClient class along with its methods. This ensures that any updates in the codebase will be accurately reflected in the docs.


46-55: Robust Examples and CLI Access Section

The examples section walks the user through a realistic use case, and the CLI access instructions are clear. The inclusion of expected logs (warnings and info messages) aids in verifying that the CLI behaves as expected.

packages/jumpstarter-driver-corellium/README.md (4)

1-4: Comprehensive Corellium Driver Overview

The introduction effectively outlines the package’s role in interfacing with the Corellium virtualization platform, including a direct link for further details.


5-10: Straightforward Installation Section

The installation instructions are concise and clearly presented, making it easy for users to install the package.


11-26: Detailed Configuration Section with Clear Parameters

The configuration example in YAML format lists both required (e.g., project_id, device_name, device_flavor) and optional parameters (commented out). This dual approach caters to both new users and advanced configurations.


27-73: Well-Structured API Reference and ExporterConfig Examples

The API Reference provides a useful pointer to additional examples, and the inclusion of two detailed YAML blocks for ExporterConfig examples is highly informative. This clearly demonstrates both minimal and extended configuration options.

packages/jumpstarter-driver-pyserial/README.md (6)

1-4: Clear Introduction for the PySerial Driver

The introduction succinctly explains that this package facilitates serial port communication, setting the context appropriately.


5-10: Concise Installation Instructions

The installation section is straightforward, instructing users on how to install the package via pip using a bash code block.


11-23: Informative Configuration Example

The YAML configuration snippet is clear, showcasing essential parameters like url and baudrate. This helps the user understand how to set up the serial connection.


24-31: Well-Defined Configuration Parameters Table

The table effectively complements the YAML snippet by detailing each parameter's purpose, data type, and default value. It’s a helpful quick-reference for users.


32-38: Effective API Documentation via Auto-Documented Class

Utilizing reStructuredText directives to document the PySerialClient class and its members is a clean and maintainable approach.


39-68: Comprehensive Examples with Context Management

The examples provided demonstrate multiple usage patterns (with and without context managers) for different client interfaces. The inclusion of test setup and cleanup blocks further ensures that the examples are actionable and clear.

packages/jumpstarter-driver-uboot/README.md (3)

5-9: Installation Section Looks Good
The installation instructions using a Bash code block are concise and clear. No issues found.


11-17: Verify Configuration File Paths
The configuration section uses a literal include directive for “uboot.yaml.” Please verify that the path for this file is correct relative to this README. Also, check that this inclusion is consistent with the doctest below which references “source/api-reference/drivers/uboot.yaml.” If these paths are meant to be different, a brief explanatory note would help clarify the distinction.


19-24: Doctest Example and Expected Behavior
The doctest block demonstrating driver instantiation is clear. However, please confirm that the use of the configuration file path “source/api-reference/drivers/uboot.yaml” is intentional and consistent with how users are expected to locate it.

packages/jumpstarter-driver-sdwire/README.md (3)

1-4: Clear Header and Description
The header and overview provide a succinct explanation of the SDWire driver, including its functionality to multiplex an SD card. The use of inline code formatting for the package name is consistent.


5-9: Installation Section is Concise and Correct
The installation instructions are presented clearly using a Bash code block. No improvements needed here.


11-17: Configuration Section: Check File Inclusion Consistency
The configuration example uses a literal include of “sdwire.yaml” while the doctest (below) refers to “source/api-reference/drivers/sdwire.yaml.” Please verify that this difference is intentional; if not, adjust for consistency or add an explanatory note.

packages/jumpstarter-driver-snmp/README.md (3)

1-4: Informative Header and Description
The SNMP driver header and description provide a detailed overview of the driver's functionality for controlling SNMP-enabled PDUs. The description is clear and well-structured.


5-9: Installation Section is Clear
The installation instructions are concise and correctly formatted.


55-73: Examples Section is Well-Structured
The provided examples (Python snippets and CLI commands) demonstrate how to use the driver functions effectively. These examples enhance usability. No further action is needed here.

packages/jumpstarter-driver-opendal/README.md (4)

1-4: Well-Structured Driver Documentation Header

The header and introductory lines clearly introduce the OpenDAL driver and explain its overall purpose. The concise description sets the right context for the reader.


5-10: Accurate Installation Instructions

The installation section using a bash code block to install the package via pip is straightforward and correct. Please ensure that the package name remains consistent with the repository and published package.


19-29: Example Usage in API Reference

The examples provided in the API Reference block (using a doctest block) clearly demonstrate key operations such as directory creation, writing bytes, hashing, and cleanup. It’s informative and serves as a good reference for users.


31-44: Test Setup and Cleanup Clarity

The test setup and cleanup blocks (using {testsetup} and {testcleanup} directives) are well organized. They properly illustrate how to initialize and shut down the client environment for testing purposes. Verify that the configuration path in the setup block ("source/api-reference/drivers/opendal.yaml") is accurate.

packages/jumpstarter-driver-probe-rs/README.md (6)

1-4: Clear Introduction for Probe-RS Driver

The header introduces the probe-rs driver effectively and provides a clear context by linking to the external probe-rs website.


5-10: Straightforward Installation Section

The installation instructions, provided as a simple bash code block, accurately guide users on installing the probe-rs driver package via pip.


11-25: Detailed YAML Configuration Example

The configuration example in YAML is well formatted and covers the necessary parameters (probe id, binary path, chip, protocol, and connection mode). It clearly illustrates how users should configure the driver.


27-36: Informative Configuration Parameters Table

The markdown table detailing each configuration parameter (including its description, type, requirement status, and default value) is a very user-friendly addition that enhances clarity.


37-42: Proper API Reference Documentation

The reStructuredText block that uses the autoclass directive to document the ProbeRsClient class appears correctly formatted and should integrate well into the generated API documentation.


44-62: CLI Documentation Clarity

The CLI section clearly explains how to interact with the probe-rs driver via a command-line interface. The code block demonstrating command usage is clear and easy to follow.

packages/jumpstarter-driver-shell/README.md (1)

5-10: Installation Section is Clear

The installation instructions are straightforward and provide clear guidance with the pip command. This section is well presented and needs no further changes.

__templates__/create_driver.sh (2)

30-33: Streamlined Path Variables for Documentation
The introduction of DOCS_DIRECTORY, DOC_FILE, and README_FILE clearly defines where documentation files are created and referenced. Moving to a consistent and always-created README.md simplifies the structure compared to the previous conditional DOC_FILE creation.


69-74: Effective Symlink Creation for Driver Documentation
The symlink creation logic uses realpath --relative-to to compute a relative path from the documentation directory to the newly created README file, and ln -sf reliably updates the symlink. This “inverse symlink” approach aids in keeping the documentation in sync with the driver README. Ensure that the realpath command and its --relative-to option are available and behave consistently across your target environments.

packages/jumpstarter-driver-flashers/README.md (15)

12-17: LGTM for the “Available drivers and bundles” section.
The header and the simple table listing the driver (TIJ784S4Flasher) are clearly documented.


19-21: LGTM for the Driver configuration header and example.
The configuration section header and the accompanying description provide a concise introduction.


22-41: LGTM for the YAML configuration example.
The fenced code block uses “yaml” for syntax highlighting, which enhances readability of the configuration details.


56-59: LGTM for the description of power and serial drivers.
The explanation clearly distinguishes the roles of the power driver and serial interface.


70-77: LGTM for the BaseFlasher API section.
The documentation of the API and the usage of the autodoc directive are clear and informative.


78-90: LGTM for the CLI section.
The CLI usage instructions, including options and descriptions, are well laid out.


91-107: LGTM for the CLI usage example.
The fenced code block correctly specifies “bash” for syntax highlighting, making the command usage very clear.


109-123: LGTM for the flash command documentation.
The usage instructions and options for the “flash” command are clearly detailed.


158-167: LGTM for the bootloader-shell CLI description.
The usage details and options for accessing the bootloader shell are clearly presented and use proper highlighting.


183-192: LGTM for the busybox-shell CLI description.
The busybox-shell options and instructions are well documented and easy to follow.


215-232: LGTM for the Python examples.
The examples demonstrating the usage of flasherclient.flash are well formatted using the “python” language identifier.


233-254: LGTM for the utility consoles examples.
The Python code blocks showcasing the busybox and bootloader shell examples are clear and effectively demonstrate the intended usage.


256-265: LGTM for the OCI bundles section.
The section explaining OCI bundles, their contents, and their usage is thorough and informative.


268-270: LGTM for the literalinclude directive.
The code block correctly uses the literalinclude directive to reference the manifest YAML.


294-304: LGTM for the manifest examples section.
The inclusion of the literalinclude for the manifest YAML and the reference to the OCI bundles build script is clear and useful.

✨ Finishing Touches
  • 📝 Generate Docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai plan to trigger planning for file edits and PR creation.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 8, 2025

Deploy Preview for jumpstarter-docs ready!

Name Link
🔨 Latest commit 9a372b7
🔍 Latest deploy log https://app.netlify.com/sites/jumpstarter-docs/deploys/67f4e7e7a9d9a4000850fde7
😎 Deploy Preview https://deploy-preview-399--jumpstarter-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Inline review comments failed to post. This is likely due to GitHub's limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.

Actionable comments posted: 3

🧹 Nitpick comments (41)
docs/source/api-reference/drivers/can.md (1)

1-1: README Reference Added
A relative path to the jumpstarter-driver-can README file has been added. Consider formatting this as a markdown link (e.g. [README](../../../../packages/jumpstarter-driver-can/README.md)) to improve clickability in rendered views.

docs/source/api-reference/drivers/qemu.md (1)

1-1: README Link Inclusion
The new relative path to jumpstarter-driver-qemu/README.md is correctly added. Consider converting it into a markdown hyperlink for better usability (e.g. [README](../../../../packages/jumpstarter-driver-qemu/README.md)).

docs/source/api-reference/drivers/yepkit.md (1)

1-1: README Link Added
The added relative reference to the jumpstarter-driver-yepkit README file is correct. As with other files, consider using markdown link syntax to enhance interactivity in rendered outputs.

docs/source/api-reference/drivers/http.md (1)

1-1: README Reference Inserted
The relative path to the HTTP driver README (../../../../packages/jumpstarter-driver-http/README.md) has been added correctly. Again, consider converting it to a markdown hyperlink to benefit the rendered documentation.

packages/jumpstarter-driver-raspberrypi/README.md (1)

1-26: New README for Raspberry Pi Driver
The new README.md for the Raspberry Pi driver is well structured with sections for installation, configuration, and API reference. Consider adding more detailed API documentation or a clear TODO note if the API section is still under development to set expectations for future updates.

packages/jumpstarter-driver-qemu/README.md (2)

11-21: Configuration Section with Placeholder
The configuration example is concise and illustrative. The YAML snippet clearly shows how to configure the QEMU driver, although it still contains a placeholder comment ("# Add required parameters here").
Consider adding a note or linking to further documentation later, so users know to expect more detailed parameter guidance.


23-26: API Reference Section - Pending Content
The API Reference section is currently a placeholder ("Add API documentation here"). While this is acceptable in an initial commit, please ensure that comprehensive API details are provided in a subsequent update to maintain documentation completeness.

packages/jumpstarter-driver-http/README.md (2)

11-21: Readable Configuration Example
The configuration section is clear and includes an example YAML snippet outlining how to set up the HTTP driver. Just like with the QEMU driver documentation, the placeholder for parameters ("# Add required parameters here") should eventually be replaced or expanded with detailed information.


23-26: Future Expansion for API Documentation
The API Reference section serves as a placeholder at this stage. It would be beneficial to update this section with comprehensive API details in future iterations to offer full guidance to users.

packages/jumpstarter-driver-dutlink/README.md (1)

11-22: Informative Configuration Section
The YAML snippet provides an example configuration. The placeholder comment for required parameters is a good prompt; however, if possible, consider adding a concrete example or further guidance to aid users in configuring the driver.

packages/jumpstarter-driver-power/README.md (1)

11-22: Detailed Configuration Example
The configuration section provides a YAML snippet that outlines how to set up the driver. Like the DUT Link driver, a placeholder is used for required parameters. If you have specific parameters or additional context, consider expanding on this section.

packages/jumpstarter-driver-can/README.md (1)

11-22: Clear Configuration Example
The configuration section presents a YAML snippet that users can readily adapt. One minor suggestion: consider adding sample values or a link to more detailed parameter documentation if available, to further guide users.

docs/source/api-reference/drivers/index.md (4)

12-16: System Control Drivers Section is Clear
The list entries for System Control Drivers are concise and use relative links for ease of navigation. A quick review of the text is recommended to ensure that any minor duplications in descriptive phrases (as hinted by static analysis) are intentional for clarity.


20-27: Communication Drivers Section is Consistent
The bullet list under Communication Drivers is well formatted with relative links. Please double-check the text for any repetitive wording as indicated by static analysis; this may be a stylistic choice but clearing it up could enhance readability.


32-33: Storage and Data Drivers are Documented Effectively
The storage drivers listed here are clear and correctly reference the associated packages. If further descriptive details are available, consider a brief note to guide the reader regarding any unique features.


40-44: Debug and Programming Drivers Section is Well Organized
The list of debug and programming drivers is comprehensive and the relative links are accurate. A small review for potential stylistic redundancies (as flagged by static analysis) might be useful, but overall this section is solid.

🧰 Tools
🪛 LanguageTool

[duplication] ~40-~40: Possible typo: you repeated a word.
Context: ...unctionality ### Debug and Programming Drivers Drivers for debugging and programming devices: ...

(ENGLISH_WORD_REPEAT_RULE)

packages/jumpstarter-driver-ustreamer/README.md (2)

11-17: Configuration Section is Nicely Handled
The use of a literal include for the YAML configuration (referencing “ustreamer.yaml”) is a practical approach that keeps the example DRY and maintainable. Just ensure that the ustreamer.yaml file is in the expected relative location so that the literal inclusion works as intended.


19-26: Doctest Effectively Documents Expected Error
The doctest snippet provides a clear example of how the configuration instantiation behaves, including the anticipated error. It might be helpful to add a brief comment explaining why an io.UnsupportedOperation: fileno error is expected—this can assist users in understanding the limitations or intended behavior of the driver.

packages/jumpstarter-driver-tftp/README.md (1)

11-23: Comprehensive Configuration Section

The YAML configuration snippet is well-organized and specifies important parameters (e.g., root_dir, host, and port). The accompanying table further clarifies the parameters' types, requirements, and defaults.

Consider adding a brief note explaining when and why each parameter might be adjusted (especially for optional ones like host and port).

packages/jumpstarter-driver-network/README.md (1)

11-22: Configuration Section: Placeholder and Guidance

The YAML snippet under the configuration section is clear but uses a placeholder comment (“# Add required parameters here”).

Consider updating the documentation with at least one concrete parameter example or a reference to additional documentation that details acceptable parameters for clarity.

packages/jumpstarter-driver-uboot/README.md (2)

1-3: Clarify and Enhance the Introduction
The header and introductory lines clearly state the purpose of the U-Boot driver and its dependency on external power and serial drivers. For added clarity, consider adding a brief note (or a link) on where to find details about configuring the ancillary drivers if available.


26-31: Autoclass Directive Formatting Recommendation
The API reference block uses the autoclass directive with a trailing “()” (i.e. UbootConsoleClient()). Standard Sphinx autodoc usage typically omits these parentheses. Consider changing

-.. autoclass:: jumpstarter_driver_uboot.client.UbootConsoleClient()
+.. autoclass:: jumpstarter_driver_uboot.client.UbootConsoleClient

to ensure compatibility with Sphinx documentation tooling.

packages/jumpstarter-driver-sdwire/README.md (1)

19-26: Doctest Block and Expected Exception
The doctest clearly illustrates the expected error (i.e. a FileNotFoundError) when the SD-Wire device is missing. Ensure that this behavior is documented in the driver’s usage notes so users understand that this exception is expected under certain conditions.

packages/jumpstarter-driver-snmp/README.md (2)

11-30: Comprehensive Configuration Section
The YAML configuration example is detailed and the following table offers a clear summary of each parameter, its type, and default value. This thoroughness helps users set up their environment correctly. No issues, but consider a brief note if any parameters have interdependencies or special constraints.


47-53: Autoclass Directive: Consistency Check
The API reference block uses:

.. autoclass:: jumpstarter_driver_snmp.client.SNMPServerClient()
   :members:
   :show-inheritance:

As with other files, reconsider using the class name without parentheses to adhere to Sphinx autodoc conventions:

-.. autoclass:: jumpstarter_driver_snmp.client.SNMPServerClient()
+.. autoclass:: jumpstarter_driver_snmp.client.SNMPServerClient
packages/jumpstarter-driver-opendal/README.md (2)

11-17: Configuration Section Verification

The configuration section is clearly demarcated and the example using a literal include for opendal.yaml is a useful touch. Please confirm that the referenced file exists at the expected location and follows the correct format.


46-74: Comprehensive Client API Documentation

The section documenting the client API using autoclass directives is comprehensive. It documents several client classes (e.g., OpendalClient, OpendalFile, etc.) in a uniform manner. Double-check that excluding the model_config member is intentional for every class.

packages/jumpstarter-driver-shell/README.md (3)

1-4: Introduction Clarity and Consistency

The introduction is clear and succinct. However, you might consider adding one extra sentence that highlights the unique role or benefits of the shell driver (e.g., its ability to handle complex command execution scenarios) to give users immediate context about its value. Also, ensure consistency in using backticks for naming (e.g., `jumpstarter-driver-shell`).


11-34: Configuration Section Completeness

The example configuration in YAML is well-structured and helps clarify how to set up the driver. A couple of points to consider:

  • You may want to add a brief note – either as inline comments in the YAML or in accompanying text – explaining the role of the driver field (e.g., how `jumpstarter_driver_shell.driver.Shell` is used).
  • Verify that the naming conventions are consistent between the installation package name (jumpstarter-driver-shell) and the internal module reference (jumpstarter_driver_shell), to avoid any potential confusion.

36-63: API Reference Documentation

The API reference section is comprehensive and correctly uses reStructuredText directives to document the dynamically generated client methods. To further enhance the documentation:

  • Consider adding concise descriptions for each method, including explanations of parameters and return value semantics. For example, a short note on how the tuple (stdout, stderr, return_code) is structured would benefit users.
  • A small usage example for one of the methods could also help clarify its application.
__templates__/create_driver.sh (2)

35-63: Robust README.md Creation via Here-Document
Using a here-document with single quotes prevents premature variable expansion, and the subsequent use of sed for variable substitution ensures that the intended placeholders (${DRIVER_CLASS} and ${DRIVER_NAME}) are correctly injected after file creation. This approach effectively decouples the file content from runtime variable interpolation.

Note: Consider potential portability issues with sed -i since BSD (macOS) sed may require an empty string as a backup extension (e.g., sed -i '' ...) to work as expected.


64-68: Post-Processing with sed for Variable Expansion
The sed command correctly performs the replacement of placeholders in the README content. However, ensure that the values of ${DRIVER_CLASS} or ${DRIVER_NAME} do not contain characters that might interfere with the regular expression substitutions (for instance, characters with special meaning in regex).

packages/jumpstarter-driver-flashers/README.md (9)

1-6: Suggestion: Clarify introductory phrasing.
The introduction is generally clear. However, consider revising “via network” to “via a network” (or “via the network”) to improve natural language flow.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~3-~3: You might be missing the article “the” here.
Context: ...rs are used to flash images to DUTs via network, typically using TFTP and HTTP. It is d...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


52-54: Suggestion: Improve phrasing for clarity.
Consider revising “In the above example we provide the serial and power children by reference, so those remain also available on the root of the exporter.” to something like:

“In the above example, we provide the serial and power children via reference, so they remain available at the root of the exporter.”
This small change enhances readability.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~52-~52: Possible missing comma found.
Context: ...via HTTP | Yes | In the above example we provide the serial and power childre...

(AI_HYDRA_LEO_MISSING_COMMA)


[style] ~53-~53: To make your writing flow more naturally, try moving ‘also’ before the verb.
Context: ...en by reference, so those remain also available on the root of the exporter. ...

(ALSO_PLACEMENT)


60-68: Suggestion: Adjust table spacing.
For improved readability, consider adding blank lines above and below the “Config parameters” table to better separate it from surrounding text.


125-130: Suggestion: Specify language for fenced code blocks.
The example following the “flash” command would benefit from an explicit language identifier (for example, using “```bash”) to ensure consistent syntax highlighting.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

126-126: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


169-176: Suggestion: Specify language for the bootloader-shell example.
Adding a language marker (such as “```bash”) to the bootloader-shell example code block will improve readability and consistency across examples.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

170-170: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


194-200: Suggestion: Specify language for the busybox-shell example.
Like the other examples, the busybox-shell example would benefit from explicitly specifying the language (e.g., “```bash”) in the fenced code block for consistency in syntax highlighting.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

195-195: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


266-266: Suggestion: Remove trailing punctuation from heading.
Consider changing “## The format of the manifest is as follows:” to “## The format of the manifest is as follows” (i.e. remove the colon) to adhere to markdown style guidelines.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

266-266: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


271-271: Suggestion: Remove trailing punctuation from heading.
Change “## Table with the spec fields of the manifest:” to “## Table with the spec fields of the manifest” to comply with style guidelines.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

271-271: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


1-304: Reminder: Verify symlink documentation.
The PR title mentions “inverse symlinks to fix hatchling,” yet this README does not explicitly address any changes related to symlink behavior. Please ensure that any required updates or clarifications regarding inverse symlinks are documented elsewhere or update this file if needed.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~3-~3: You might be missing the article “the” here.
Context: ...rs are used to flash images to DUTs via network, typically using TFTP and HTTP. It is d...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~52-~52: Possible missing comma found.
Context: ...via HTTP | Yes | In the above example we provide the serial and power childre...

(AI_HYDRA_LEO_MISSING_COMMA)


[style] ~53-~53: To make your writing flow more naturally, try moving ‘also’ before the verb.
Context: ...en by reference, so those remain also available on the root of the exporter. ...

(ALSO_PLACEMENT)


[style] ~284-~284: In American English, abbreviations like “etc.” require a period.
Context: ...flashing, useful to clear boot entries, etc | | | kernel.file | Pa...

(ETC_PERIOD)

🪛 markdownlint-cli2 (0.17.2)

43-43: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)


126-126: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


170-170: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


195-195: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


266-266: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


271-271: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


272-272: Tables should be surrounded by blank lines
null

(MD058, blanks-around-tables)


285-285: Table column count
Expected: 3; Actual: 2; Too few cells, row will be missing data

(MD056, table-column-count)


291-291: Table column count
Expected: 3; Actual: 2; Too few cells, row will be missing data

(MD056, table-column-count)

🛑 Comments failed to post (3)
packages/jumpstarter-driver-sdwire/README.md (1)

28-35: ⚠️ Potential issue

Critical: Verify the API Reference Module Name
The autoclass directive in this section references

.. autoclass:: jumpstarter_driver_opendal.client.StorageMuxClient()

Given that this README is for the jumpstarter-driver-sdwire package, the module name (jumpstarter_driver_opendal) appears inconsistent. Please confirm if this is intentional (for example, if the SDWire driver reuses a shared storage multiplexer available in the opendal module). If it is a mistake, update the module name accordingly (e.g., to jumpstarter_driver_sdwire.client.StorageMuxClient).
Additionally, consider removing the trailing “()” for Sphinx autodoc compliance:

-.. autoclass:: jumpstarter_driver_opendal.client.StorageMuxClient()
+.. autoclass:: jumpstarter_driver_opendal.client.StorageMuxClient
packages/jumpstarter-driver-flashers/README.md (2)

43-50: 🛠️ Refactor suggestion

Critical Issue: Table formatting for children drivers.
The section meant to list the four children drivers is currently formatted as a broken and inconsistent table. This makes it hard to read and could confuse downstream processing by markdown parsers.
Consider reformatting it as follows:

+**Flasher drivers require four children drivers:**
+
+| Child Driver | Description                                                                          |
+| ------------ | ------------------------------------------------------------------------------------ |
+| serial       | To communicate with the DUT via serial interface, driving the bootloader and busybox shell. |
+| power        | To control powering on and off of the DUT.                                           |
+| tftp         | To serve binaries via TFTP.                                                          |
+| http         | To serve binaries via HTTP.                                                          |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

**Flasher drivers require four children drivers:**

| Child Driver | Description                                                                          |
| ------------ | ------------------------------------------------------------------------------------ |
| serial       | To communicate with the DUT via serial interface, driving the bootloader and busybox shell. |
| power        | To control powering on and off of the DUT.                                           |
| tftp         | To serve binaries via TFTP.                                                          |
| http         | To serve binaries via HTTP.                                                          |
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

43-43: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)


272-293: 🛠️ Refactor suggestion

⚠️ Potential issue

Critical Issue: Inconsistent table column counts in the manifest spec table.
Some rows in this table (for example, the ones for kernel.file and dtb.variants) appear to have only two cells instead of three. Each row should include a cell for the “Default” value—even if it is empty. For example:

- | `kernel.file`        | Path to kernel image within bundle
+ | `kernel.file`        | Path to kernel image within bundle | 

Apply similar corrections to any affected rows to ensure the table renders correctly.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

| Field                | Description                                                                | Default |
| -------------------- | -------------------------------------------------------------------------- | ------- |
| `manufacturer`       | Name of the device manufacturer                                            |         |
| `link`               | URL to device documentation or manufacturer website                        |         |
| `bootcmd`            | Command used to boot the device (e.g. booti, bootz)                        |         |
| `default_target`     | Default target device to flash to if none specified                        |         |
| `targets`            | Map of target names to device paths                                        |         |
| `login.type`         | Type of login shell                                                        | busybox |
| `login.login_prompt` | Expected login prompt string                                               | login:  |
| `login.username`     | Username to log in with, leave empty if not needed                         |         |
| `login.password`     | Password for login, leave empty if not needed                              |         |
| `login.prompt`       | Shell prompt after successful login                                        | #       |
| `preflash_commands`  | List of commands to run before flashing, useful to clear boot entries, etc |         |
| `kernel.file`        | Path to kernel image within bundle                                         |         |
| `kernel.address`     | Memory address to load kernel to                                           |         |
| `initram.file`       | Path to initramfs within bundle (if any)                                   |         |
| `initram.address`    | Memory address to load initramfs to (if any)                               |         |
| `dtb.default`        | Default DTB variant to use                                                 |         |
| `dtb.address`        | Memory address to load DTB to                                              |         |
| `dtb.variants`       | Map of DTB variant names to files                                          |         |
🧰 Tools
🪛 LanguageTool

[style] ~284-~284: In American English, abbreviations like “etc.” require a period.
Context: ...flashing, useful to clear boot entries, etc | | | kernel.file | Pa...

(ETC_PERIOD)

🪛 markdownlint-cli2 (0.17.2)

272-272: Tables should be surrounded by blank lines
null

(MD058, blanks-around-tables)


285-285: Table column count
Expected: 3; Actual: 2; Too few cells, row will be missing data

(MD056, table-column-count)


291-291: Table column count
Expected: 3; Actual: 2; Too few cells, row will be missing data

(MD056, table-column-count)

@bennyz bennyz merged commit c7b5c7b into jumpstarter-dev:main Apr 8, 2025
14 checks passed
@mangelajo mangelajo added this to the 0.6.0 milestone May 8, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants