Wiki » History » Revision 71

« Previous | Revision 71/93 (diff) | Next »
David Demelier, 07/11/2019 12:47 PM


Welcome to the vanilla wiki!


What is vanilla?

It's a new radically different Linux distribution targeting technical and/or experimented users who like simplicity, consistency and elegance.

Goals and non goals

  • No systemd. Systemd isn't a bad thing in itself, but it's too complex to be qualified as KISS.
  • No installer. Installers are too complex, error prone and not enough flexible. The key idea is to use the tool vpk to install a set of packages to the target device.
  • Flexibility. The vanilla source tree allow package customization with ease.
  • Stability. Fixed version with ABI/API compatibility honored.
  • Weak dependencies. The vpk tool installs dependencies by default but let user process dependencies manually.
  • Elegance. All vanilla applications, init scripts and package paths are following a strict coding style and UX style.
  • Simplicity. Packages are simple tarballs and inspected via simple text files.
  • Free and opensource. The vanilla source tree does not contain proprietary software. All vanilla sources are written using the permissive ISC license.
  • Pure shared libraries. No static libraries are built nor libtool .la files are installed.
  • Vanilla. Packages are kept as close as possible to upstream with no or few changes for compatibility only.


Core components:

  • musl a clean and lightweight C library
  • busybox a set of components for a basic system
  • llvm modular toolchain for several languages including C, C++
  • linux obviously the Linux kernel
  • wayland better focus on wayland for a long-term replacement to X.Org (X.Org is shipped though)

Miscellaneous components:

Optional components:

  • sysvinit an old fashion traditional init system (can replace busybox's init)
  • sysklogd a simple system logger daemon (can replace busybox's syslogd)

Features (package options)

Common features in Vanilla packages.

  • Access control lists (ACL): enabled by default
  • Native language support (NLS): enabled by default
  • SELinux (SELINUX): disabled by default
  • PAM (PAM): enabled by default


Mailing lists

To subscribe, send a mail at "listname+subscribe@domain".


  • 0.1 (May 1): Highlight: bootable system with core components
    • vpk: install with remote support [done]
    • vpk: remove [done]
    • vpk: update [done]
    • vpk: build [done]
    • vpk: list [done]
    • vpk: info [done]
  • 0.2 (August 1): Highlight: X.Org and wayland support
    • busybox as principal core components (init, shell, mdev)
    • vpk: install with dependencies and checksums
    • vpk: support configuration file protection
    • vpk: upgrade
    • vpk: tag/untag
    • PAM support [in progress]
    • New filesystem hierarchy (see FHS) [done]
  • 0.3 (September 1): Highlight: XFCE and MATE desktops
    • vinitrd: create and list initramfs
  • 0.4 (December 1): Highlight: vpod
    • vpod: bulk
    • vpod: test
    • vpod: shell
  • 0.5 (January 1, 2020): Highlight: KDE Plasma desktop
    • SELinux support (disabled by default)
  • 0.6 (February 1, 2020): Highlight: Public website available
    • File hierarchy is ready for public downloads
    • Documentation is complete
      • Manpages: vpk, vinitrd
      • Vanilla book
  • 0.7 (March 1, 2020): Highlight: full initramfs support
    • LVM2 support
    • RAID support
    • LUKS support
  • 1.0 (May 1, 2020): Highlight: First stable release



See READMEs in repositories. Upcoming documentation in the wiki.

About vanilla



Many thanks for people who were involved from near and far to vanilla.

  • musl community: help when packages use GNU extensions
  • LLVM community: helped me bootstrapping, building the toolchain
  • LFS community (including French variant): helped me a lot in several aspects
  • Alpine Linux community: trying to fix broken packages with musl


  • Quentin Rameau for giving some feedback and hints
  • Stéphane Pequignot for its interest and contributions
  • Michaël Scherer for various help

Updated by David Demelier 4 months ago · 71 revisions