ZERO
Copyright © 2004, Kyle Johnston. about.php was last updated on September 5, 2004  

Summary

Zero is a desktop Linux distribution for advanced users. It focuses on speed, security, and package management.

Is Zero the distro for me?

Zero is not necessarily hard... but it is different than Windows, OS X... even BSD. It does provide you with GUI configuration tools - however, they provide you with advanced configurability that only an experienced user should deal with. What I'm saying is, if this is your first experience with Linux, Zero probably isn't your best choice. We use terminology you may not know during the install (e.g. prelinking, hdparm, compile statically, etc. - if you don't know what those mean then you should not use Zero). One thing that will not be tolerated on Zero is stupid questions. Now, before you all get mad and whatnot, let me explain. I don't mean "I don't understand how hdparm works - can someone explain it to me?". I mean something like "h3y, my xfrees all fsked up; wtf is wr0ng!". That will not be tolerated and you will be kindly asked to stop posting that on the forums, mailing list, or on IRC (#pynux irc.freenode.net). If you have a problem with that, don't use it.

Detailed Description

Like I said, Zero is a distribution for advanced users that focuses on speed (number 1), security (number 2), and package managment (number 2 and a half ;)). The following is a more detailed account of how this is implemented.

Security - Zero will be as secure as it can be without hurting performance. We'll do this by implementing a bunch of small features that, seperately, wouldn't make that big of a difference, but together make it really secure.

  • During the install you will pick one of two security levels; Normal (default) or High (may effect performance). From now on, security measures will be labeled [ High ] or [ High and Normal ] to tell you what will be happening during each.
  • A bootloader password will be used by default [ High ]
  • In ever service's startup script (i.e. /etc/rc.d/[some service]) there will be a variable: SECURE = [1, 2, or 3]. This tells how secure the service is. For example, telnet would get a 1 while OpenSSH would get a 3. There will then be a script that you can run (called audit) that will look at that variable and then not allow whichever level you say to start on boot. For example, audit 1 would allow services with a 2 or 3 security level to start on boot. audit 2 would only allow services with a security level of 3 to boot. [ High and Normal ]
  • root is only allowed to log in and tty1. [ High and Normal ]
  • Metalog, the default loggger, will be configured (during the install) to notify you in some way when something goes wrong - either by mail, a text file in your home directory - you specify. [ High and Normal ]
  • makepasswd will be installed in the base. [ High ]
  • xinetd is used over inetd. [ High and Normal ]
  • An HIDS (Host Intrusion Detection System) and NIDS (Network Intrusion Detection System) are installed and configured by default. [ High ]
  • A minimalistic, security-enhaced, crypto-enabled kernel is installed instead of the default love-sources. [ High ]
  • Other program-specific things - for example, more secure default configuration files for some daemons (like sshd).

Speed - Again, the main goal of Zero is speed. We'll achieve this by doing the following:

  • International language support is disabled in all packages.
  • Debugging information is removed from all packages.
  • All help documentation is disabled (not man pages - help documentation).
  • All packages are i686 optimized (we will use Arch packages).
  • You can either use prelinking (default) or compile everything statically.
  • hdparm is easily configured via a supplied script (enable_hdparm). It is disabled by default, though.
  • Almost all of the tools we write (including the init scripts) are in Python. We will use Psyco, a JIT compiler for Python by default.
  • A streamlined kernel (lots of stuff disabled by default, howe it is still HIGHLY recommend you recompile after install - otherwise you'll have 10,000 drivers you don't need installed), probably Love-Sources.
  • Services are loaded parrallely by default - this makes your system boot in... grab your armrest... under 5 seconds!

Package Management - We will use a slightly modified version of Arch Linux's package manager, Pacman.

Install - We will have a text-based install similar to OpenBSD's. I, personally, think those are easier and quicker. If you disagree however... don't use Zero.

History

On June 23rd, 2004, I made this post on my forums. I was sick of the way current Linux distributions were. Every distro I tried (and this includes BSDs, not just Linux distros) I loved something from, but there wasn't one distro that put it all together. There were hundreds of good ideas out there, but there wasn't anything to connect them all together. That's what I intend to do with Zero - put everything together. However, at the time it was not called Zero - it was Pynux. With the support of two members of my forums, KptnKrill and sethgeekx86, we started making the perfect distribution. Unfortunately, we could not agree on certain issues - we each had a different idea of what the perfect distribution was. So, on August 26th, only 2 months after Pynux's creation, it forked into 3 distributions; Nandu, Timmy, and, of course, Zero. We agreed on one thing before the split, though. All code must be released under a BSD license under the organization 'Pynux.' This way, we can all share code. For example, if Nandu's package manager, Rockhopper, is done soon enough and works the way that I want it to I may use it instead of Pacman. We'll see.

FAQ

Where did the name Zero come from?

'Zero' was a popular song by The Smashing Pumpkins, an alternative band from the 90s. While not their best song (I would give that title to 'Mayonaise,' 'Disarm,' or 'Cherub Rock') it sounds better than the other names (who would use Cherub Rock Linux?).

When do you expect a first release?

There should be a test build out sometime in October at the latest; hopefully mid-September.

Can I run Zero on my Pentium I?

Short answer: No. Long answer: All packages are compiled with --march=i686 (i.e. PII or better). However, Zero also has a source based component. The only problem is that the installer is compiled on and optimized for i686. However, if you really wanted (I don't see why you would...) you could compile your own install image on a PI (ask on the forums for help - that's one of those 'not stupid' questions ;)).