⚠ This page contains old, outdated, obsolete, … historic or WIP content! No warranties e.g. for correctness!
On this page:
What is MirOS?
MirOS BSD is a secure operating system from the BSD family for 32-bit i386 and sparc systems. It is based on 4.4BSD-Lite (mostly OpenBSD, some NetBSD®). The MirPorts Framework is a portable ports tree to facilitate the installation of additional software. The project also releases some portable software: mksh, a pdksh-based shell; PaxMirabilis, an archiver for various formats; MirMake, a framework for building software; MirNroff, an AT&T nroff based man page (and text document) formatter; MirCksum, a flexible checksumming and hash generation tool; and some more.
If you want to know more about these programs, visit the About MirOS page or read our advertisement or flyer (deutsch/German, français/French). Please note the BSD-Licence(7), especially the advertising clauses.
MirOS BSD
MirOS is available as a BSD flavour which originated as an OpenBSD patchkit, but has grown very much on its own, though still being synchronised with the ongoing development of OpenBSD, thus inheriting most of its good security history. This variant is also called "MirBSD", but the usage of that word to denote MirOS BSD (plus MirPorts) is deprecated.
A very good general overview about MirOS BSD and MirPorts is available from our information flyers, which are (Update: currently not at all) available in English, German, and French. They are distributed on various events by ourselves and/or the AllBSD team.
MirOS started after some differences in opinion between Theo de Raadt, the OpenBSD project leader, and Thorsten Glaser, who is now our lead developer. The main maintainer of MirPorts is BennySiegert. There are several more persons working as contributors on the project.
Why not just use OpenBSD?
MirOS BSD often anticipates bigger changes in OpenBSD and includes them before OpenBSD itself. For example, ELF on i386 and support for gcc3 were available in MirOS first. Controversial decisions are often made differently from OpenBSD; for instance, there won't be any support for SMP in MirOS.
The most important differences to OpenBSD (at that time, and often for a while later, even if they caught up with several improvements) were:
- Completely rewritten bootloader and boot manager without an 8 GiB limit and with Soekris support
- Slim base system (without NIS, Kerberos, Bind, i18n, BSD games, etc.), Bind and the BSDgames being available as a port
- Binary security updates for stable releases (although, since there hasn’t been a stable release for a while, and we’re by now effectively rolling release (“just use -current”), this point is kind of moot)
- ISDN support
- IPv6 support in the web server software
- wtf, a database of acronyms
- Some of the GNUtools (like gzip and *roff) were replaced by original UNIX™ code released by Caldera (SCO) under a BSD licence
- Based on OpenBSD (-current and older releases)
- 64-bit time handling routines (time_t)
- Correct handling of leap seconds
- Full GCC 3.4 support: C, C++, Pascal, Objective-C
- Current versions of the GNU developer toolchain (rcs, binutils, gdb, texinfo, lynx etc.)
- GNU CVS 1.12 with custom extensions
- Uses "MirBSD" as its uname
- Binary compatibility with OpenBSD and MirOS #7 via emulation
- Improved random number generator
- Uses sv4cpio with/without CRC instead of tar archives as its package format; support for new formats in cpio
- Improved support for UTF-8 and the Unicode BMP, including wide character support for libncurses ("libncursesw") and friends
Live CD
In snapshots of MirOS, the installation CD is also a live CD. That means that you can boot a full MirOS system (although without any ports installed) from the CD. For special cases, you can also use dd(1) to write the image (or the mini-ISO, cdrom8.iso) to your hard disk and install from there. Attention: All data on the hard disk will be lost.
Releases do not contain the live CD as we cannot (yet) make it dual-bootable for the i386 and sparc architecture.
Licencing information
For the full copyright statement of MirOS, please refer to the 1stREAD and LICENCE files, summarised in BSD-Licence(7) including the dreaded advertising clauses, and the website licence. We prefer new code and documentation to be placed under our licence template which is compliant to the Open Source Definition and conforms to the Debian Free Software Guidelines. (Don't be scared by the length of the template, the actual licence stops after the first *- followed by instructions only, and is way below 1 Kibibyte.)
MirPorts
MirPorts—a derivative of the OpenBSD ports tree—is our solution for installing additional software packages not contained in the base system.
Using MirPorts is straightforward. After the first checkout or after updates, make setup in /usr/ports automatically installs the package tools and configuration. The ports themselves are in subdirectories, sorted by category. Just executing mmake install in such a directory will download the source code, compile it, create a binary package and install it. Dependencies are automatically installed when necessary. Some ports exist in several "flavours", e.g. with or without X support.
Many ports removed for political reasons in OpenBSD (e.g. all the DJB software or the Flash Plugin) have been kept in MirPorts and can continue being used. We also want to be a place for unofficial or rejected OpenBSD ports.
MirPorts does not use the package tools from OpenBSD, which are written in Perl, but continues to maintain the previous C-based tools. New features are in-place package upgrades and installing your own MirPorts instance as a non-root user.
Why use MirPorts
Support for multiple platforms. Out of the box, MirPorts has support for the following operating systems:
- MirOS BSD (-stable and -current)
- OpenBSD (-stable and -current)
- Mac OS X (10.4 and newer) / Darwin
- Interix / SFU 3.5
Even on stable releases, using the newest MirPorts version is recommended.
The support for Darwin and Interix is still fairly new. On Darwin, MirPorts is usable, Interix support is in the alpha stage. Both the BSD build system and the autotools/libtool infrastructure has been ported and support shared libraries on this platform. Our mid-term goal is to provide at least a part of the MirOS base system as a port or a package.
For all platforms, we are still searching for developers as well as testers to build packages and to submit bug reports to the developers.
MirLibtool. GNU Libtool is used by many packages to build shared libraries in a portable way. However, there are many problems with it—for example, it breaks when no C++ compiler is installed. Therefore, MirPorts contains a modified version nicknamed MirLibtool.
MirLibtool is based on GNU libtool 1.5. It is compatible with all versions of autotools. The MirPorts infrastructure installs it automatically whenever a port uses autoconf to recreate its configure script.
NetBSD® pkgsrc® on MirOS BSD
pkgsrc® on MirOS BSD is an alternative packaging system which provides more up-to-date packages with less integration with the main BSD operating system.
The MirOS Project
The MirOS Project has grown to be an umbrella organisation with many subprojects such as mksh, The MirBSD Korn Shell. It’s also acting as an OSS type foundry “MirOS” (releases). Several individual developers have semi-official subprojects like jupp – the Editor which sucks less or the image/tiff part of the Issue 9 (golang) standard library. Finally, The MirOS Project at FreeWRT.org Evolvis was a supplemental hosting platform site where experimental or detached (CVS), or otherwise non-core (git, Debian APT Repository, etc.) publications appear; the FreeWRT.org FusionForge/Evolvis system also permitted separate, distinct project setups.
Code of Conduct
tl;dr: We don’t have one. SJWs are not welcome.