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

rpi-loader 0.3.0

Choose a tag to compare

@github-actions github-actions released this 02 Sep 01:34
· 18 commits to main since this release

Added

  • bundle, a subcommand that packs an over-the-air update bundle
    from a bundle.toml and, with --upload <url>, posts it to a running
    board. The first subcommand that opens no serial port: the container is
    rpi-loader-ota, shared with the firmware that installs one, and this
    is the half that builds them. A manifest rather than arguments because
    what goes into a bundle is a property of the project — a kernel, whole
    directories, firmware blobs and config.txt, each with a destination —
    and arguments carrying that would put a card's layout in a Makefile
    where nothing can check it.

    Uploading is plain HTTP with no TLS anywhere in the dependency tree;
    the endpoint is a board on a local network.

    --sdcard <dir> writes the bundle's contents onto a card in a reader
    instead, for the update that cannot arrive over the network — a build
    that changes the format the running firmware reads, or one that broke
    networking, or a board not on the network yet. It unpacks the bundle it
    just built rather than copying the sources again, so a card written by
    hand and a board updated over HTTP carry the same bytes by
    construction. It writes only what the bundle carries, which is less
    than a card needs to boot.

Images

Copy the image matching your board to the SD card's boot
partition, renamed to kernel7.img (32-bit) or kernel8.img
(64-bit) -- the firmware loads those names and no others. Use
kernel8.img only with arm_64bit=1 in config.txt.

bcm2837 covers the Pi 2 v1.2 and Pi 3; bcm2711 covers the
Pi 4. Verify with sha256sum -c SHA256SUMS.

The host CLI is a separate install: cargo install rpi-loader.