Friday, August 28, 2015

about MirOS BSD

MirOS BSD (originally called MirBSD) is a free and open source operating system which started as a fork of OpenBSD 3.1 in August 2002.
 It is intended to maintain the security of OpenBSD—from which it frequently synchronises code updates—with better support for European localisation. Since then it has also incorporated code from other free BSD descendants, including NetBSD, MicroBSD and FreeBSD. Code from MirOS BSD has also been incorporated into ekkoBSD, and when ekkoBSD ceased to exist, artwork, code and developers ended up working on MirOS BSD for a while.
One of the project's goals is to be able to port the MirOS userland to run on the Linux kernel, hence the deprecation of the MirBSD name in favour of MirOS.

History

MirOS BSD originated as OpenBSD-current-mirabilos, an OpenBSD patchkit, but soon grew on its own after some differences in opinion between the OpenBSD project leader Theo de Raadt and Thorsten Glaser. Despite the forking, MirOS BSD is synchronised with the ongoing development of OpenBSD, thus inheriting most of its good security history, as well as NetBSD and other BSD flavours.
One goal is to provide a faster integration cycle for new features and software than OpenBSD. According to the developers, "controversial decisions are often made differently from OpenBSD; for instance, there won't be any support for SMP in MirOS". There will also be a more tolerant software inclusion policy, and "the end result is, hopefully, a more refined BSD experience".

Features

The goal of MirOS BSD is to create a more "modular" base BSD system, similar to Debian. While MirOS Linux (linux kernel + BSD userland) was discussed by the developers sometime in 2004, it has not materialised as yet. Another goal is to provide a faster integration cycle for new features and software than OpenBSD:
  • In common with the three major BSD distributions, MirOS BSD supports architectures other than x86.
  • Development snapshots are live and installation CD for x86 and SPARC architectures on one media, via the DuaLive technology.
  • Latest snapshots have been extended to further boot a grml (a Linux based rescue system, x86 only) via the Triforce technology
  • mksh (MirBSD Korn shell): an actively developed flavour of Korn shell and heir of pdksh
  • The base system and some MirPorts store "dotfiles" data in ~/.etc. directory in user's home to avoid cluttering the root of the home directory
  • Application packages from the NetBSD-derived pkgsrc repositories were configured for use in MirBSD starting in 2011.
The most important differences to OpenBSD are:
  • Completely rewritten, GRUB multi boot compatible, boot loader 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 International (SCO) under a BSD licence
  • 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
  • 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

Cooperation

Aside from cooperating with other BSDs, submitting patches to upstream software authors, and synergy effects with FreeWRT, there is an active cooperation with Grml both in inclusion and technical areas. Other projects, such as Debian are also fed with MirSoftware.

MirPorts

MirPorts is a derivative of OpenBSD ports tree developed by Benny Siegert. MirPorts does not use the package tools from OpenBSD written in Perl, but continues to maintain the previous C-based tools. New features are in-place package upgrades and installing MirPorts instance as a non-root user. Also, in difference to OpenBSD ports, MirPorts are not tied to specific OS versions and even on stable releases using the newest version is recommended. MirLibtool is a modified version of GNU libtool 1.5 installed by MirPorts to build shared libraries in a portable way.
Multiple platforms are supported "out of the box":
  • MirOS BSD (-stable and -current)
  • OpenBSD (-stable and -current)
  • MidnightBSD
  • Mac OS X (10.4 and newer) / Darwin
Following the MirOS BSD policy of faster software availability to the user, 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 to be used. MirPorts also wants to be a place for unofficial or rejected OpenBSD ports.

No comments: