MKIDev Logo

RIM Pre-release Engine 15 Crates

Disk synthesis from browser to bare metal.

Build Linux in your browser. Then boot it. RIM is a portable, pure-Rust storage engine that formats partition tables (GPT) and genuine filesystems (FAT, EXT, NTFS, exFAT, TAR, ZIP, ISO) entirely in memory. Zero mkfs, zero mount, and zero server-side generation.

โšก 100% In-Memory (No root/mount) ๐Ÿฆ€ Pure Rust (no_std + alloc) ๐ŸŒ WebAssembly Client-Side ๐Ÿ–ฅ๏ธ In-Browser x86_64 UEFI Boot
$ cargo install rimcli
bash โ€” rim v0.10.1
Pure Rust ยท Zero Root
$ rim generate layout.toml --output disk.img
๐Ÿš€ Rust Image Maker โ€” v0.10.1
Writing disk image to disk.img
โœจ Generated disk.img (389.00 MB in 0.49s) โ€” with โค๏ธ from RIM
$ rim copy ./data disk.img:2:/data
๐Ÿ“‹ Logical Filesystem Copy: ./data โž” disk.img:2:/data
โœ” Copy completed successfully!
  Directories Created : 8 ยท Files Copied : 112
  Data Transferred : 2.00 MB in 58.13ms (zero mount)
$ rim inspect disk.img
๐Ÿ” Image Inspection: disk.img (389.00 MB ยท RAW ยท GPT ยท 4 partitions)
  โ€ข #0: "EFI" (64 MB, ESP) โ†’ FAT32
  โ€ข #1: "LINUX_ROOT" (128 MB) โ†’ EXT4
  โ€ข #2: "SHARED_DATA" (64 MB) โ†’ exFAT
  โ€ข #3: "WINDOWS_DATA" (128 MB) โ†’ NTFS
$
Current Engine Surface 15 crates ยท shared test spine
Disk Layout GPT synthesis, validation, and host/browser/UEFI I/O backends.
Filesystems FAT, EXT, NTFS, exFAT, TAR, ZIP, and ISO engines.
Lazy Access Extent-backed file reads avoid materializing archive and disk payloads up front.
Quality Gate Common filesystem tests, corruption tripwires, examples, benches, Clippy.
Declarative TOML Playground Live Client-Side Synthesis

Define storage layout and filesystem contents declaratively. Edit the layout.toml below in real time or select a preset to watch sector allocation adapt dynamically, then synthesize directly in browser WebAssembly memory.

Presets:
layout.toml Valid TOML
Real-Time Partition Map 64 MiB GPT
PartitionFilesystemSizeLabel / Mount
Virtual Hardware & Bare-Metal Boot Lab In-Browser x86_64 UEFI Engine

Boot full operating systems and execute firmware binaries directly on browser-simulated hardware with OVMF UEFI firmware, testing storage images from bootloader entry to userspace shell.

Synthesize a minimal, genuinely bootable Alpine Linux UEFI disk image entirely inside your browser heap. Generates the GPT table, FAT32 ESP with systemd-boot and Linux kernel 6.12, plus a full EXT4 root filesystem containing ~4,000 files, directories, symlinks, and a guest-native rim binary.

Target Disk Layout: 227 MiB Bootable GPT 2 Partitions ยท UEFI Bootable
GPT
ESP (FAT32) ยท 64M
rootfs (EXT4) ยท 160M
GPT
PartitionFilesystemSizeMaterialized Assets
ESP (Boot) FAT32 64 MiB /EFI/BOOT/BOOTX64.EFI (systemd-boot), /vmlinuz, /initramfs, /loader/entries/alpine.conf
rootfs EXT4 160 MiB Complete Alpine rootfs + /usr/bin/rim (guest-native binary) + /root/demo.toml
Live Engine Log
Initializing RIM WebAssembly module...
Unified Architecture: Host, Browser & Firmware

RIM decouples raw I/O execution from partition and filesystem layout logic. The exact same synthesis engine runs across native host CLI, in-browser WebAssembly, and bare-metal UEFI firmware:

HOST OS โ”€โ”€โ”€> FileRimIO / MmapRimIO โ”€โ”€โ”€โ” BROWSER โ”€โ”€โ”€> MemRimIO (WebAssembly) โ”€โ”€โ”€โ”ผโ”€โ”€> rimgen (build_on_io) โ”€โ”€> rimpart (GPT) + rimfs-* (FAT/EXT/NTFS/exFAT/TAR/ZIP/ISO) UEFI FIRMWARE โ”€โ”€โ”€> UefiRimIO (Block I/O) โ”€โ”€โ”€โ”˜
FilesystemTarget FormatsCapabilitiesStatus
FATFAT12, FAT16, FAT32, RimFATVBR, FSInfo, FAT tables, LFN, 64-bit clustersVALIDATED
EXTEXT2, EXT3, EXT4Superblock, BGDT, 48-bit extents, fast/slow symlinks, flex_bgVALIDATED
NTFSNTFS 3.1$Boot, $MFT, $LogFile, non-resident $UpCase, $Secure, B-tree $I30VALIDATED
exFATexFAT 1.00VBR, Main/Backup boot, UpCase table, Allocation bitmapVALIDATED
TARPOSIX UStar512B headers, octal encoding, streaming injection & extractionVALIDATED
ZIPZIP / ZIP64Central Directory, CRC-32, Store/Deflate plumbing, POSIX metadataVALIDATED
ISOISO 9660, Joliet, Rock Ridge, El ToritoOptical and hybrid disk images with lazy extent-backed readsVALIDATED