On this page:
- MirOS BSD
- The MirOS Project
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 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 are:
- 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
- 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
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.
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—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.