Repository navigation
rpi-loader 0.3.0
Added
-
bundle, a subcommand that packs an over-the-air update bundle
from abundle.tomland, 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 andconfig.txt, each with a destination —
and arguments carrying that would put a card's layout in aMakefile
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.