PeacockOS is a meta-distro. Instead of being one fixed operating system, it is a foundation that hosts a Linux distribution you choose, with shared layers for your apps and data and a recovery system underneath.
- Peacock base: the foundation that comes up on the device. It owns the shared layout and brings the system up.
- The distro (flavor): a full Linux distribution, for example Alpine, Arch or Debian, running on top of the base. You can swap it without losing what sits in the shared layers.
- Shared layers:
/peacock (platform), /apps (applications), /compat (compatibility layers) and /data (your files). These persist across a distro swap.
- Recovery (PRP): the Peacock Recovery Project, a self-contained rescue system that boots on its own when the main system will not start.
Because your apps and data sit on the shared layers, changing the distribution underneath does not move them. That is the whole point of a meta-distro.
- The device bootloader hands off to a chainloader: MinKernel on MediaTek phones, lk2nd on Qualcomm phones.
- The chainloader reads an extlinux config and loads the kernel and initramfs.
- The initramfs, built by peacock-mkinitfs, mounts the system and hands off to it.
- If the main system fails to come up, control falls to PRP so you can repair or reinstall.
The build is driven by the Peacock core and the ports tree.
- peacock-ports holds a build recipe for every package and every device kernel.
- Peacock, the core and builder with a command line and a GUI, reads the recipes, compiles what is needed, assembles a rootfs and the initramfs, and produces an image you can flash to a specific phone.
- feather (ftr) is the package manager. It installs and updates the platform, apps and compatibility layers from signed binaries, kept separate from the distribution underneath.
See the project overview for each repository and what it does.
| Piece |
Role |
| Peacock |
core and builder; produces the device image |
| feather (ftr) |
package manager for /peacock, /apps, /compat |
| peacock-ports |
build recipes for packages and device kernels |
| peacock-mkinitfs |
builds the initramfs |
| MinKernel |
chainloader for MediaTek devices |
| lk2nd (peacock fork) |
secondary bootloader for Qualcomm devices |
| PRP |
recovery system |