Project

General

Profile

Actions

Wiki » History » Revision 71

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


Wiki

Welcome to the vanilla wiki!

Introduction

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.

Technologies

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

Repositories

Mailing lists

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

Roadmap

  • 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

Ideas

Documentation

See READMEs in repositories. Upcoming documentation in the wiki.

About vanilla

Other

Thanks

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

Individuals:

  • 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