About BloodHorn
BloodHorn is a modern, high-performance bootloader built on the EDK2 framework with Coreboot integration. Designed for speed, security, and reliability, it provides a robust foundation for system initialization across multiple architectures.
Important Safety Notice
BloodHorn is a low-level system component that interacts directly with hardware. Incorrect use may result in system damage, data loss, or security vulnerabilities. The BloodHorn team is not responsible for any hardware damage or data loss resulting from the use of this software.
Intended Audience
- System firmware developers
- Security researchers
- Embedded systems engineers
- Advanced users with recovery capabilities
System Impact
- Multi-architecture support (x86_64, ARM, RISC-V, LoongArch)
- EDK2 Framework Integration
- Coreboot Payload Support
- Security features including TPM and secure boot
Project History
Origins (2016): The project began as an ambitious bootloader prototype. The initial version demonstrated the core concepts that would evolve into the modern BloodHorn bootloader.
- 2016: Initial prototype developed by an anonymous contributor.
- 2017: Core architecture established.
- 2018-2019: Major refactoring and feature additions.
- 2020-2021: Security enhancements and performance optimizations.
- 2022-2023: Multi-architecture support and advanced features.
- 2024-Present: Active maintenance and community contributions.
CI/CD Pipeline
BloodHorn uses Woodpecker CI for continuous integration and deployment. The pipeline ensures code quality, build verification, and automated testing across multiple platforms.
- Matrix Builds: Parallel builds for x86_64, ARM64, RISC-V, LoongArch.
- Artifacts: Build artifacts are stored and available for download.
- Security Scans: Automated security scanning of dependencies.
Pipeline status and logs are available at ci.codeberg.org/PacHashs/BloodHorn.
Building & Installation
Prerequisites
Git, Python 3.7+, C/C++ toolchain (GCC/Clang/MSVC), EDK2 BaseTools, NASM, iASL.
Linux / macOS Build
git clone --recursive https://codeberg.org/PacHashs/BloodHorn.git
cd BloodHorn
make -C Edk2BHModules/BaseTools
source edksetup.sh
build -p BloodHorn.dsc -b RELEASE -t GCC5 -a X64 -n $(nproc)
Windows Build
git clone --recursive https://codeberg.org/PacHashs/BloodHorn.git
cd BloodHorn
cd Edk2BHModules\BaseTools & nmake & cd ..\..
build -p BloodHorn.dsc -b RELEASE -t VS2019 -a X64
Installation
Note: Always back up your existing bootloader before installation.
Linux:
cp Build/BloodHorn/RELEASE_GCC5/X64/BloodHorn.efi /mnt/efi/EFI/BOOT/BOOTX64.EFI
Windows (Admin):
copy Build\BloodHorn\RELEASE_VS2019\X64\BloodHorn.efi C:\EFI\Microsoft\Boot\bootmgfw.efi
Coreboot Integration
BloodHorn features comprehensive Coreboot firmware integration through the CorebootPayloadPkg. When built with Coreboot support, it automatically detects it is running as a payload and leverages Coreboot's hardware initialization while maintaining UEFI compatibility.
build -p BloodHorn.dsc -b RELEASE -t GCC5 -a X64 -D COREBOOT_ENABLED=1
Configuration
Create a minimal bloodhorn.ini at your EFI partition root:
[boot]
default = linux
menu_timeout = 5
language = en
[linux]
kernel = /boot/vmlinuz
initrd = /boot/initrd.img
cmdline = root=/dev/sda1 ro quiet
FAQ
- Size: Source is ~14 MiB. Compiled binary is up to 30 MiB.
- Secure Boot: Yes, TPM 2.0 integration included.
- Coreboot: Yes, supports hybrid initialization.
Contributors & Support
- PacHash: Lead Developer
- BillNyeTheScienceGuy: Main Team
BloodHorn was inspired by modern bootloaders, but all code is original and written from scratch for educational purposes and for use in future operating systems.