Skip to content

πŸš€ Load Starlight's kernel binaries with ease via UART

License

Notifications You must be signed in to change notification settings

StarlightConsole/Starship

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Starship

A Starlight kernel loader via UART

Crates.io License GitHub Release

Installation

Pre-built binaries

Installing Starship manually will require a properly formatted microSD card for the Raspberry Pi, with a config.txt β†— including arm_64bit=1 and init_uart_clock=48000000. (JTAG β†— support is currently WIP)

When your SD card is formatted and configured, simply put the latest kernel8.img β†— (found under the Releases β†— tab) onto the card and boot the device.

Manual Installation

To build the Starship binary, you're gonna need the Rust Compiler β†— and Cargo β†—, Rust's Package Manager (you'll probably have both of which if you're lurking in Starlight's repositories ;). The easiest way to install Rust is with Rustup β†—. You're also going to need some additional tools such as Make β†—, but you already have those installed (if you don't, you should consider to not dive head-first into the world of OS development). Lastly, run make all in your favorite shell.

Features

  • β˜„οΈ Comet Integration Starship integrates tightly with β˜„οΈ Comet β†—, enabling 🌟 Starlight β†— developers to upload new Starlight builds via UART.

  • ✨ No Runtime Overhead The Starship binary has full relocation support, which means that Starship moves itself out of the way for the kernel. Starship operates only on startup, making the kernel regain the memory Starship used after the kernel has been loaded. This results in no runtime overhead! :)

Usage

See β˜„οΈ Comet β†—'s repository for examples of Starship usages.

Misc

Starship and related projects are designed and developed by @yolocat-dev β†—, though contributions are always welcome!

Starship is, as our other repositories, licensed under the Apache License 2.0. Feel free to read the actual legal stuff in the LICENSE β†— file.