A comprehensive toolkit for developing custom GRUB modules with graphics capabilities, interactive games, and system utilities.
⚠️ Beta Status: This repository is currently open for testing and feedback. The toolkit hasn't been fully tested end-to-end and may require additional research and debugging. We welcome issues, contributions, and feedback to help improve the development experience!
- Interactive Games: Pong, Snake, Breakout, Space Invaders
- System Tools: Boot-time graphics, system information displays
- Visual Demos: Particle systems, animations, fractals
- Educational Projects: Learn low-level graphics programming
See GrubHackPro in action! Watch the screencast to see the possibilites of creating and running custom GRUB modules.
PongDemo.webm
Demo showing pong running in GRUB!
# Clone the repository
git clone https://github.com/aqarooni02/GrubHackPro.git
cd GrubHackPro
# Follow the setup guide
./setup.sh
# Build and test
./build.sh
./run.shGrubHackPro/
├── README.md # This file
├── SETUP.md # Complete setup instructions
├── DEVELOPMENT.md # Development workflow
├── EXAMPLES.md # Example modules and games
├── API.md # GRUB API reference
├── setup.sh # Automated setup script
├── build.sh # Build script
├── run.sh # Run in QEMU
├── examples/ # Example modules
│ ├── pong/ # Pong game
│ ├── snake/ # Snake game
│ ├── particles/ # Particle system
│ └── template/ # Module template
├── tools/ # Development tools
│ ├── create-module.sh # Module generator
│ └── build-helper.sh # Build utilities
└── docs/ # Additional documentation
- Complete Development Environment: All tools and dependencies
- Interactive Examples: Working games and demos
- Template System: Quick module creation
- Build Automation: One-command build and test
- IDE Support: clangd, compile_commands.json
- Documentation: Comprehensive guides and API reference
- Linux system (Ubuntu/Debian/Arch recommended)
- QEMU for testing
- Basic C programming knowledge
- Git for version control
- SETUP.md - Complete environment setup
- DEVELOPMENT.md - Development workflow
- EXAMPLES.md - Example modules and games
- API.md - GRUB API reference
// Interactive Pong with keyboard controls
// Features: Real-time graphics, scoring, collision detection// Classic Snake game
// Features: Growing snake, food collection, game over// Animated particle effects
// Features: Physics simulation, color cycling- Fork the repository
- Create your module:
./tools/create-module.sh mygame - Add your module to examples
- Submit a pull request
See CONTRIBUTING.md for detailed contribution guidelines.
- GRUB development team for the excellent bootloader
- QEMU team for the emulation platform
- Open source community for inspiration and tools
Happy GRUB Hacking! 🎮✨