All Projects → haiku → rune

haiku / rune

Licence: MIT license
Haiku MMC image writer for ARM,ARM64

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to rune

cross
“Zero setup” cross compilation and “cross testing” of Rust crates
Stars: ✭ 3,550 (+16036.36%)
Mutual labels:  arm, aarch64
gxlimg
Boot Image creation tool for amlogic s905x (GXL)
Stars: ✭ 42 (+90.91%)
Mutual labels:  arm, aarch64
rsync-static
Static RSync binaries compiled for x86, ARM, and ARM64. Useful for running on Android. Built daily
Stars: ✭ 40 (+81.82%)
Mutual labels:  arm, aarch64
Simdjson
Parsing gigabytes of JSON per second
Stars: ✭ 15,115 (+68604.55%)
Mutual labels:  arm, aarch64
fdtd3d
fdtd3d is an open source 1D, 2D, 3D FDTD electromagnetics solver with MPI, OpenMP and CUDA support for x86, arm, arm64 architectures
Stars: ✭ 77 (+250%)
Mutual labels:  arm, aarch64
Doesitarm
🦾 A list of reported app support for Apple Silicon and the new Apple M1 Macs
Stars: ✭ 3,200 (+14445.45%)
Mutual labels:  arm, aarch64
DLARM
DLARM: Dissertation for Computer Science Masters Degree at UFRGS
Stars: ✭ 24 (+9.09%)
Mutual labels:  arm, aarch64
Cross
“Zero setup” cross compilation and “cross testing” of Rust crates
Stars: ✭ 2,461 (+11086.36%)
Mutual labels:  arm, aarch64
equinix-metal-arm64-cluster
Arm and Equinix Metal have partnered to make powerful Neoverse based Armv8 bare metal infrastructure including latest generation Ampere systems — available for open source software developers to build, test and optimize for Arm64 architecture.
Stars: ✭ 71 (+222.73%)
Mutual labels:  arm, aarch64
Azote
Fast and lightweight AArch64 disassembler.
Stars: ✭ 24 (+9.09%)
Mutual labels:  arm, aarch64
Openwrt Node Packages
OpenWrt Project Node.js packages. v10.x LTS and v12.x LTS and v14.x LTS
Stars: ✭ 176 (+700%)
Mutual labels:  arm, aarch64
pbp-packages
Package build scripts for using Arch Linux ARM with the Pinebook Pro laptop.
Stars: ✭ 3 (-86.36%)
Mutual labels:  arm, aarch64
Mandibule
linux elf injector for x86 x86_64 arm arm64
Stars: ✭ 171 (+677.27%)
Mutual labels:  arm, aarch64
Talks
schedule and materials about my presentations
Stars: ✭ 245 (+1013.64%)
Mutual labels:  arm, aarch64
Computelibrary
The Compute Library is a set of computer vision and machine learning functions optimised for both Arm CPUs and GPUs using SIMD technologies.
Stars: ✭ 2,123 (+9550%)
Mutual labels:  arm, aarch64
Tow-Boot
An opinionated distribution of U-Boot. — https://matrix.to/#/#Tow-Boot:matrix.org?via=matrix.org
Stars: ✭ 338 (+1436.36%)
Mutual labels:  arm, aarch64
Build
Armbian Linux build framework
Stars: ✭ 1,827 (+8204.55%)
Mutual labels:  arm, aarch64
Amie
A Minimalist Instruction Extender for the ARM architecture and IDA Pro
Stars: ✭ 136 (+518.18%)
Mutual labels:  arm, aarch64
alpine-qbittorrent-openvpn
qBittorrent docker container with OpenVPN client running as unprivileged user on alpine linux
Stars: ✭ 230 (+945.45%)
Mutual labels:  arm, aarch64
tensorflow-serving-arm
TensorFlow Serving ARM - A project for cross-compiling TensorFlow Serving targeting popular ARM cores
Stars: ✭ 75 (+240.91%)
Mutual labels:  arm, aarch64

Rune

Rune is a tool to post-process Haiku raw ARM/ARM64 images for various physical target devices.

Build Status MIT License

Rune is generally only required to run Haiku on physical ARM/ARM64 devices. If you are emulating within qemu or another emulator, rune is not required.

asciicast

Features

  • Coordinates with a remote manifest at Github of known target boards.
  • Injects any needed vendor specific boot binaries from remote sources.
  • Writes directly to an SD card, or to a new image file.

Why is this needed?

The ARM ecosystem contains a wide range of technology and boot processes. While this variability has been great for innovation, it also means operating systems need to be custom tailored per device.

Specific boot files on SD cards, secondary loaders at specific offsets, binary vendor blobs tailored just right per SOC specifications and GPL licensed u-boot binaries make the ARM ecosystem a tricky beast to conquer.

Why Rust?

  • Low level enough to directly write to files and make modifications without relying on external tools.
  • Cross-platform. Rune is designed to be used by end-users across multiple operating systems.
  • Easy json parsing and HTTP GET's without requiring a large number of libraries.

Example Usage

  • Listing available boards: rune -l
  • Prepare an SD card for the Raspberry Pi 2: rune -b rpi2 -i haiku-arm.mmc /dev/sdc
  • Write the prepared disk image to a file: rune -b rpi2 -i haiku-arm.mmc /home/alex/haiku-arm-rpi2.mmc
  • Make an SD card bootable which has had Haiku dd'ed to it: rune -b rpi2 /dev/sdc

Compiling

  • Install rust 1.26.0 or later. https://rustup.rs/ can be used if your distro doesn't provide.
  • cargo build --release

Credit

  • Thanks to Fedora for creating fedora-arm-installer which was the inspiration for this tool.
  • Thanks to the great Rust folks for helping out!
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].