30 open-source projects similar to ventoy/ventoy, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
OpenCorePkg is a modular UEFI bootloader designed to initialize hardware and facilitate the loading of modern operating systems on non-standard or unsupported hardware. It functions as a comprehensive firmware emulation environment, providing the necessary runtime services and memory management to bridge the gap between diverse hardware configurations and operating system requirements. The project distinguishes itself through its ability to perform runtime kernel patching and system firmware modification, allowing for the injection of drivers and the manipulation of hardware tables during the
OpenCore Legacy Patcher is a utility designed to enable the installation and operation of modern operating systems on legacy hardware that is no longer officially supported. By interposing a custom bootloader between the system firmware and the kernel, the project facilitates the deployment of current software releases on older devices, bypassing restrictive compatibility checks and hardware identification requirements. The project distinguishes itself through a comprehensive framework for system interposition and persistent patching. It employs dynamic kernel extension injection and runtime
30dayMakeOS is an educational hobby operating system project designed for the x86 architecture. It implements a monolithic kernel and a custom bootloader that transitions the CPU from real mode to 32-bit protected mode to enable flat memory addressing. The project focuses on low-level system development, featuring a custom graphics driver for direct pixel-buffer rendering and window management without an existing operating system. It includes an x86 bootloader that loads the kernel from disk into memory. The system covers core kernel capabilities including round-robin task scheduling for pro
m1n1 is a low-level bootloader for ARM64-based Apple Silicon hardware. It serves as a firmware tool and experimentation environment for loading external kernels and non-native operating systems. The project enables the execution of concatenated binary payloads containing kernels, device trees, and ramdisks. It provides a platform for firmware experimentation and the deployment of custom kernels on Apple Silicon chips. The system covers low-level hardware abstraction, including memory-mapped register access, device tree transmission, and stage-based bootloading. It also includes UART-based se
Hekate is a bootloader and system recovery tool for Nintendo Switch hardware. It functions as a multi-OS boot manager that allows the execution of binary payloads and the launching of stock firmware, custom firmware, Android, and Linux through a graphical interface. The project provides a suite of recovery and system modification tools, including the ability to create and restore full backups of internal storage. It also features a USB HID gamepad emulator that maps device controller inputs to USB signals for interacting with external computers. The software covers broad capability areas inc
This repository contains the pre-compiled firmware, bootloader binaries, device tree overlay files, and Linux kernel modules that power Raspberry Pi single-board computers. It provides the foundational system firmware that initializes the hardware and loads an operating system. The boot architecture relies on a proprietary VideoCore GPU that co-processes early initialization, memory partitioning, device tree overlay loading, and mailbox-based peripheral configuration before handing control to the main CPU. This multi-stage boot process uses a chain of small binary stages and loads a raw kerne
U-Boot is an embedded bootloader that initializes hardware components and loads operating system kernels into memory. It functions as a hardware abstraction layer providing standardized access to networking, storage, and peripheral buses, while also serving as a secure boot loader and a firmware update interface. The project distinguishes itself through the implementation of secure boot sequences that verify cryptographic signatures and interface with TPM modules to establish hardware-rooted trust. It further provides specialized capabilities for updating device firmware via standardized prot
Redox is a POSIX-compliant, microkernel-based operating system written entirely in Rust. By utilizing a memory-safe language for the kernel and all system components, the project eliminates common vulnerabilities such as buffer overflows and use-after-free errors. Its architecture relies on a minimal kernel that manages only essential hardware and process isolation, delegating all other system services to unprivileged user-space processes. The system distinguishes itself through a modular design where hardware drivers and system services run as independent user-space daemons, allowing them to
nginxconfig.io is a web-based NGINX configuration generator designed to build and optimize server configuration files through a visual interface. It functions as a management tool to help avoid manual syntax errors when defining server blocks. The project provides specialized utilities for implementing Gzip and Brotli compression, configuring caching strategies, and managing the deployment and renewal of SSL certificates. It also includes a reverse proxy configurator for defining routing rules and backend application server mappings to distribute network traffic. Additional capabilities cove
Go bindings to systemd socket activation, journal, D-Bus, and unit files
🐳 Docker入门学习笔记
Jepsen is a distributed systems testing framework designed to verify the correctness of distributed software. It functions as a fault injection engine and a distributed consistency analyzer that validates whether a system's behavior matches its promised consistency guarantees by analyzing operation histories against formal models. The project distinguishes itself through its ability to simulate complex failure scenarios, including network partitions, node crashes, and clock drifts. It employs packet-level traffic shaping to drop or delay communication and manipulates system time across cluste
Build a minimal multi-tasking OS kernel for ARM from scratch
LinuxKit, a toolkit for building custom minimal, immutable Linux distributions.
Bocker is a minimal container management tool written in Bash that implements core container functionality using Linux namespaces and control groups. It serves as a Linux container manager capable of starting and managing isolated processes and images through low-level kernel features. The project includes an OCI image tool for pulling, saving, and building container images compatible with industry standards. It further integrates a cgroup resource controller to restrict CPU and memory consumption for isolated processes. The tool covers the full container lifecycle, including process isolati
Build your own layer-2 virtual switch in less than 300 lines of code
This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level implementation of kernel engineering, focusing on the fundamental construction of an OS from the hardware level up. The system is distinguished by its comprehensive approach to ARM64 processor control, featuring a red-black tree task scheduler and a hierarchical page table system for virtual memory management. It implements a sophisticated privilege model that handles transitions between kernel and user modes, ensuring process isolation through address space splitting and exception level m
This project is a terminal multiplexer that enables multiple terminal sessions to run simultaneously within a single window or a detached background process. By decoupling the client interface from a persistent server process, it allows users to maintain long-running command-line tasks that continue to execute even after disconnecting from a remote host. The system functions as a terminal window manager and process controller, providing a text-based interface to organize multiple shell processes into custom tiled layouts. It distinguishes itself through a programmable command-line interface t
The Linux kernel is a monolithic operating system core that manages hardware resources, memory, and process scheduling across diverse computing architectures. It provides a standardized, POSIX-compliant environment for application execution while maintaining a modular driver framework that allows for the dynamic loading and removal of hardware interfaces. The project is distinguished by its high-performance concurrency toolkit, which utilizes lockless synchronization primitives and read-copy-update mechanisms to manage shared data access in multi-core environments. It incorporates a comprehen
Build Your Own Kafka
This project is an educational curriculum designed to teach the fundamentals of operating system development and low-level systems programming. It provides a structured sequence of lessons and code samples that guide users through building a functional kernel and bootloader from scratch, enabling a practical understanding of how software interacts directly with computer hardware. The repository distinguishes itself by focusing on the core mechanics of bare-metal execution. It covers the implementation of essential system components, including assembly-based bootloaders that transition process
A workshop on Linux containers: Rebuild Docker from Scratch
A proof of concept OS kernel written in Go
unifi-common is a startup utility and system extension for Ubiquiti UniFi network hardware. It serves as a boot script manager for UniFi OS devices, allowing for the application of persistent custom configurations and the initialization of background processes during the system startup sequence. The utility provides a framework for automating network hardware setup and customizing device behavior. It achieves this by managing and executing a collection of shell scripts and configuration files designed to run at boot time. The system employs a directory-based execution model, scanning a speci
fclones is a command-line tool designed to locate identical files across a filesystem by comparing file sizes and cryptographic hashes. It functions as a parallel filesystem scanner and a deduplication utility that identifies duplicate files to reclaim disk space. The tool distinguishes itself through a persistent hash cache system that stores hashes and metadata on disk to accelerate repeated scans. It employs a multi-phase scanning process and device-aware parallel I/O, which adjusts thread pools based on whether the storage is an SSD or HDD to maximize throughput. Beyond discovery, the pr
npkill is a command-line filesystem scanner and disk space recovery utility. It is designed to identify and delete large dependency folders, specifically targeting node_modules directories created by the npm package manager, to reclaim storage space across multiple projects. The tool provides an interactive terminal interface that allows for the discovery and identification of dependency folders along with their total disk size and modification dates. Users can select directories for individual or bulk deletion using keyboard inputs. The utility includes capabilities for recursive filesystem
DataX Web is a web-based management platform for scheduling, building, executing, and monitoring distributed data synchronization jobs powered by DataX. It provides a visual console for creating and managing DataX tasks without manual JSON configuration, with a distributed executor cluster that auto-registers worker nodes and supports configurable routing and blocking strategies for task distribution. The platform offers cron-based task scheduling with dynamic start, stop, and immediate status changes, along with incremental sync capabilities that pass dynamic parameters to extract only new o