A debugging tool made for the Starlight Operating System
With Cargo ↗
Installing and/or updating Comet conveniently is made possible with Cargo, Rust's Package Manager (which you probably have if you're lurking in Starlight's repositories ;)
cargo install starlight-comet
-
🐛 Starlight Serial Output DebuggingSimply run Comet, sit back, relax, and grab those pesky bugs! -
🚀 Starship IntegrationComet integrates with🚀 Starship ↗, enabling🌟 Starlight ↗developers to upload new Starlight builds via UART. Note that you need a Starship build flashed to your BOOT partition for the integration to work. -
⏳ Starship Emulation with QEMUComet supports runningQEMU ↗in a subprocess, piping the Serial STDIO to Comet's Starship Integration to keep debugging work light, even for Starship development.
Opens a serial connection to
<PORT>, sending data toSTDOUT.Device type prefixes and info messages are sent to
STDERRfor interopability. These are fully removed with--quiet.
Usage: comet debug [OPTIONS] --port <PORT>
Options:
-p, --port <PORT>
-q, --quiet
Opens a serial connection to
<PORT>, sending data toSTDOUT.When a Comet Binary Request command is read (sent from the device by
🚀 Starship ↗), Comet will send the contents of<FILE>back to Starship for loading and execution.Device type prefixes and info messages are sent to
STDERRfor interopability. These are fully removed with--quiet.
Usage: comet upload [OPTIONS] --port <PORT> --file <FILE>
Options:
-p, --port <PORT>
-f, --file <FILE>
-q, --quiet
Launches a QEMU process (use
--qemu-binto specify a custom QEMU executable) with the specified args (--qemu-args) and creates a virtual serial connection which maps to the QEMU process'sSTDINandSTDOUT. From Comet's perspective, this is a serial connection like any other. QEMU'sSTDERRinherits Comet'sSTDERRand does not respect the--quietoption.If
--upload-fileis set, Comet waits for a Comet Binary Request command (sent from QEMU by🚀 Starship ↗) and will send the contents of<FILE>back to Starship for loading and execution.Device type prefixes and info messages are sent to
STDERRfor interopability. These are fully removed with--quiet.
Usage: comet test [OPTIONS] --qemu-args <QEMU_ARGS>
Options:
-a, --qemu-args <QEMU_ARGS>
-b, --qemu-bin <QEMU_BIN> [default: qemu-system-aarch64]
-u, --upload-file <UPLOAD_FILE>
-q, --quiet
Comet and related projects are designed and developed by @yolocat-dev ↗, though contributions are always welcome!
Comet is, as our other repositories, licensed under the Apache License 2.0. Feel free to read the actual legal stuff in the LICENSE ↗ file.