BerryBoot is an advanced GUI bootloader for the Raspberry Pi that is designed for heavily partitioned devices (up to 512 partitions) with a cool 3D dimensional interactive berry, whose seeds each represent a partition.
- Keep the entire distributed bootloader under 1,000,001 bytes (1.00 megabyte)
- Enable 3D graphics at the boot level
- Make the design resemble a raspberry
A 3D raspberry, with a different operating system partition on each seed
Default: Green gradient
Controls: Up arrow key
, Down arrow key
, Left arrow key
, Right arrow key
, ENTER key
, F8 key
The berry is to move like a globe.
Just a texture piece, make sure it isn't covering the seeds
Once a seed is hovered over, information on the detected partition will display to either the right, left, top, or bottom of the screen (depending on the preference in the configuration file)
Work in progress (a desktop application for the Raspberry Pi that initializes the bootloader)
- It may be too advanced of a GUI at the pre-boot level
- Support for many partitions required for adequate interface
-
- Solution: Græy out all seeds that don't contain data
Render all partitions upon writing with the configuration tool, non-existant partitions are to be græyed out (not a working solution, as duplicates will show up, and overflow the seed limit of the berry)
Multiple berries?
A configuration for a second Raspberry Pi under the same device (not feasible)
BerryBoot is written in:
- Assembly, C (bootloader)
- Python, Berry (configuration tool)
A: Some features aren't possible with GRUB, such as 3D animation. BerryBoot is its own GRUB, although it will be a heavy bootloader.
A: This is a very advanced bootloader, and the design goal makes the longer startup time worth it for the GUI improvement. If not, you don't need this bootloader. Just use the default one that comes with your Raspberry Pi installation if you don't want to wait longer for each startup.
File version: 1 (2023, Sunday, March 12th at 6:40 pm PST)