MirOS News

Sponsored by
HostEurope Logo

MirOS News

All 1 2 3 4 5 6 7 8 9 10 11 12 13

Please save GMane!

28.07.2016 by tg@
Tags: debian news pcli rant

GMane has been down for a day or two, and flakey for a day before that. MidnightBSD’s laffer1 just linked the reason, which made me cry out loud.

GMane is really great, and I rely on the NNTP interface a lot, both posting and especially reading — it gives me the ability to download messages from mailing lists I don’t receive in order to be able to compose replies with (mostly) correct References and In-Reply-To headers. Its web interface, especially the article permalinks, are also extremely helpful.

This is a request for a petition to save GMane. Please, someone, do something! Thanks in advance!

New SSH hostkey for fish, taking over AnonCVS/AnonRSYNC service

09.05.2016 by tg@
Tags: archaeology hardware news plan security snapshot

As announced in the earlier wlog entry about server reorg I’ve now switched over most services from the soon-to-be-defunct eurynome to fish, with gecko2’s www.ig42.org providing the redirection HTTP vhost for hostname-less mirbsd.org requests (i.e. people who don’t know how this works) and, soon, fallback HTTP services should they be needed. (He’s trusted with the SSL key and certificate.)

This also involves switching SSH hostkeys for AnonCVS, unfortunately; I’ve taken the chance to generate a fresh key for fish. Look in /MirOS/ for the files (gzsig(1) signed) hostkeys.gz or (PGP signed) hostkeys.asc for a less-dependent source for the new keys.

I’ll have to add O_DIRECTORY support to open(2) for more security in cpio(1), pax(1), and tar(1). (Maybe I’ll also add O_CLOEXEC while there…) Today’s paxmirabilis will however pick this up as soon as it’s there and thus fail if it is not supported by the running kernel yet.

Morale: when upgrading to a snapshot take care of the kernel first (install and reboot), userspace second.

To be clear: this will affect the first -current snapshot to be published after today on /MirOS/current.

The MirBSD Korn Shell R52c was published today as bugfix-accumulating release of low upto medium importance. Thanks to everyone who helped squashing all those bugs; this includes our bug reporters who always include reproducer testcases; you’re wonderful!

MirCPIO was also resynchronised from OpenBSD, to address the CVE-2015-{1193,1194} test cases, after a downstream (wow there are so many?) reminded us of it; thanks!
This is mostly to prevent extracting ../foo – either directly or from a symlink(7) – from actually ending up being placed in the parent directory. As such the severity is medium-high. And it has a page now – initially just a landing page / stub; will be fleshed out later.

Uploads for both should make their way into Debian very soon (these are the packages mksh and pax). Uploading backports for mksh (jessie and wheezy-sloppy) have been requested by several users, but none of the four(?) DDs asked about sponsoring them even answered at all, and the regular (current) sponsors don’t have experience with bpo, so… SOL ☹

I’ve also tweaked a bug in sed(1), in MirBSD. Unfortunately, this means it now comes with the GNUism -i too: don’t use it, use ed(1) (much nicer anyway) or perlrun(1) -p/-n…

Finally, our PDF manpages now use the PA4 paper size instead of DIN ISO A4, meaning they can be printed without cropping or scaling on both A4 and US-american “letter” paper. And a Бодун from the last announcement: we now use Gentium and Inconsolata as body text and monospace fonts, respectively. (And à propos, the website ought to be more legible due to text justification and better line spacing now.) I managed to hack this up in GNU groff and Ghostscript, thankfully. (LaTeX too) Currently there are PDF manpages for joe (jupp), mksh, and cpio/pax/tar.

And we had Grünkohl today!

Also, new console-setup package in the “WTF” APT repository since upstream managed to do actual work on it (even fixed some bugs). Read its feed if interested, as its news will not be repeated here usually. (That means, subscribe as there won’t be many future reminders in this place.)

The netboot.me service appears to be gone. I’ll not remove our images, but if someone knows what became of it drop us a message (IRC or mailing list will work just fine).

PS: This was originally written on 20160304 but opax refused to be merged in time… Happy Birthday, gecko2! In the meantime, the Street Food festival weekend provided wonderful food at BaseCamp, and headache prevented this from being finished on the fifth.

Update 06.03.2016: The pax changes were too intrusive, so I decided to only backport the fixes OpenBSD did (both those they mentioned and those silently included), well, the applicable parts of them, anyway, instead. There will be a MirCPIO release completely rebased later after all changes are merged and, more importantly, tested. Another release although not set for immediate future should bring a more sensible (and mksh-like) buildsystem for improved portability (and thus some more changes we had to exclude at first).

I’ve also cloned the halfwidth part of the FixedMisc [MirOS] font as FixedMiscHW for use with Qt5 applications, xfonts-base in the “WTF” APT repo. (Debian #809979)

tl;dr: mksh R52c (bugfix-only, low-medium); mircpio 20160306 (security backport; high) with future complete rebase (medium) upstream and in Debian. No mksh backports due to lacking a bpo capable sponsor. New console-setup in “WTF” APT repo, and mksh there as usual. xfonts-base too. netboot.me gone?

expect turmoil

08.02.2016 by tg@
Tags: archaeology bug hardware news pcli personal plan rant

My network at home is unstable. NetCologne suggests to switch to fibre network, but that only comes with a dynamic IPv6 address and NAT64; completely unsuitable to running a server. (I could arguably tunnel a static IPv4 address from a dedicated server to home, but that would completely foil my plans for redundancy.) So I may need an ISP (phone isn’t important) that provides me with connectivity where a static IPv4 (and, ideally, a static IPv6 /64 or /48 – but only if the reverse DNS gets delegated to me, otherwise that’s unusable) ends up at a device of my choosing (and not a plastic router which can then “forward ports”; I require full internet to end up at my own device).

HostEurope is relocating the other server, both physically and network-wise. Their plan seems fool-proof so far, though.

gecko2@ is decommissioning the server on which eurynome is hosted, shortly. This will also be no small amount of fun for everyone involved. Expect old links, SSH host keys, etc. to break. This explicitly includes /etc/ssh/*known_hosts.

During all those moves, I will downsize my DNS zones and change some entries, so that old or duplicate records will be gone.

I’ll likely generate and publish completely new hostkeys (both gzsig(1) and PGP clearsigned) once this is all over. The current gzsig(1) key is at the end of /usr/share/doc/README in any installed system. (Do note MD5 is considered insecure.) My current PGP key is 9031955E7A97A4FDA32B2B8676B534B2E99007E0 but this requires GnuPG, so check both.

My seeming inability to remember rarely-used “secure” passwords, i.e. those not fitting into my normal schemata, led to me not attempting to run a CA myself any more. While, thanks to rsc, we have an official certificate for www.mirbsd.org now, I probably will get StartSSL for “all” other systems (i.e. herc, as I appear to be downsizing), despite it lacking the SSL client purpose (important e.g. to SMTP). This shouldn’t affect anyone.

PS: I still hate Karneval!

Fearing loss of the server or the hard disc when reporting the hard disc issue I postponed that and created a snapshot (for i386) and a CVS repository snapshot and uploaded them first then backed up everything worthwhile on fish and created myself some custom rescue media.

(Some background info – this server is from 2006, and back then, they usually cost around 100 €, while this is partially sponsored. I was fearing stopping of the sponsoring or shutdown of such an old real iron hardware even though it works fine for my needs.)

Then I shut the server down and asked HostEurope support to check the HDD and, if possible, when replacing, put the old HDD into the second slot (I checked, the PowerEdge 750 has two of them). With a big German dedicated hoster that shall stay unnamed (it’s not the Uffline one), even with a RAID 1 you’re SOL because they refuse to just swap the discs, but I decided to try anyway.

So I put the request up in KIS and thought they’d do it during normal working hours (as off-hour work costs extra), but no more than four hours later, the HDD was checked as faulty, a new one (even bigger as they don’t stock 80 GB ones any more ☺) was put into the first slot and the old one into the second slot, and… oh well. The machine was booted into BIOS Setup, and I may connect with the DRAC III/XT (which needs a Java 1.4 plugin for MSIE, or telnet (not ssh), and whose password I forget due to unuse).

Some tricking around later I found out that their new netbootable rescue system (a Grml 2014.03 PONY WAGON) doesn’t work with my server, so I resigned to pay the 25 € to have someone boot it up with a Knoppix CD (uh-oh). After all, I just needed any system with which I could dd(1) the custom MirBSD installer ISO I previously made onto /dev/sda then boot into it.

To my surprise, I got an eMail telling me they had booted it with a Grml (not from network) and set it up so I could ssh(1) in… with the “initial password”. One eMail later I found out that this server predates passwords in KIS, and by now I’m in the process of restoring services by copying everything from the old to the new disc (only lost some directories under the anoncvs mirror from ocvs which is easily rsync’d right later)… ah, this completed during writing of this wlog/news entry.

In the end, this all worked perfectly fine, and I’ll be pointing the www RR back to fish after the bad disc was removed and everything has rsync’d back to my satisfaction.

hardware problems on www.mirbsd.org

14.01.2016 by tg@
Tags: bug hardware news rant

I just got wd0a: uncorrectable data error reading fsbn style messages in dmesg(8) on the machine behind our website. This is rather unfortunate; it’s possible the website will be down for a while, depending on what service I’ll be able to get for the antique thing.

Update: it’s still there after a reboot; I’ll most likely ask the hoster for a hardware check early next week and take the website down durinf that.

izabera did make a good point in IRC the other day for why we will need to have two locales at the very least in MirBSD – C and C.UTF-8 (the latter being widespread enough by now, thanks to me, interestingly enough. He uses code which leads to unexpected results…

	$ generate() { tr -dc "[:alnum:]" < /dev/urandom | dd bs="$len" count=1; }
	$ len=10; echo $(generate 2>/dev/null)

… because tr(1) was the first utility I converted to Unicode, to explore possibilities and craft the OPTU encoding and, thus, “流” is, indeed, an alphanumeric character.

This implies two things: we need to change MirBSD libc locale functions back to support two charsets (and make setlocale(3) match), and mksh(1) should implement locale tracking (to change set ±U whenever one of the relevant parameters (${LC_ALL:-${LC_CTYPE:-${LANG:-C}}}) changes in the session; users could still set utf8-mode manually though). For this to not break anything, we’ll have to audit scripts in MirBSD though (usually adding export LC_ALL=C at their begin is enough, and we need this for portable scripts anyway) and remove all occurrences of #ifndef __MirBSD__ before setlocale(3) calls in applications. This will take a while.

Secondly, I opened an issue with POSIX about handling of the (deprecated, and for good reason) `-style command substitutions. The GNU autoconf texinfo manual gives good advice for portable shell scripts, and we all knew that foo="bar `echo \"baz\"`" wasn’t portable due to use of more than one set of double quotes, but my (and the yash authors’) reading of the standard (and mksh R52’s POSIX mode) make it set $foo to bar "baz" instead of the historic bar baz now, and I wish to get this clarified (and, possibly, the standard changed to match historic practice, as this breaks at least the Acrobat Reader 5 start script). Nothing has been decided yet (due to the holidays, I’m sure), but we got input from some other people involved in shell.

So, if any #!/bin/sh scripts break or behave weirdly with R52, you now know why. I’m waiting for an official statement.

mksh R52 released

12.12.2015 by tg@
Tags: mksh pcli

The MirBSD Korn Shell R52 was published today. While there are still several known bugs, this is a release that primarily fixes lots of these, and, as with R51, we have no known regressions. Some of the itinerary for R52 has moved to R53 instead, as some bugfixes change the shell language and thus warrant a new major version, which is why this is not R51b, and they accumulated and could use some testing ;-)

This release has a nōnzero chance to break existing scripts that use some extension features – I had to quote some tildes in dot.mkshrc and a variable expansion in ${x/y"$z"} in MirWebseite (the $z) – twice!. As usual, test!

In less related news, a new release of the FixedMisc [MirOS] font is available (in BDF form and no conflict with the system Fixed [Misc] font); our CVS has the sources in bdfctool(1) format.

The MirBSD Korn Shell R51 was published today. This is a feature release clearly, but still something a lot of people would wish to use. It contains several known severe bugs, but they all are no regressions, i.e. they exist in R50f already.

This one is kinda an early release, as I wish to have those known issues all fixed, but the changes – both deep down and enduser-visible – already warrant people looking for breakages, plus it makes synchronisation with mksh-os2 easier.

mksh R52 will follow, as bugfix release, pretty soon. Itinerary:

  • Fixes for as much of these known bugs as possible (code rewrites)
  • Unicode 8
  • New feature: print -a
  • Fixes for bugs reported against R51
  • Possibly more EBCDIC and OS/2 code synchronisation
  • Maybe a dead useful debug tool…

Once that’s out, I’ll roll up the fixes into R50g, so that particular code branch is not dead yet either ☺

And afterwards, at least mksh(1)-wise – I have got a lot of other things on my plate after all – we can attempt getting EBCDIC and maybe OS/2 to a state where the code is included in CVS.

mksh R50d released

07.10.2014 by tg@
Tags: bug debian mksh news pcli

The last MirBSD Korn Shell update broke update-initramfs because I accidentally introduced a regression in field splitting while fixing other bugs – sorry!

mksh R50d was just released to fix that, and a small NULL pointer dereference found by Goodbox on IRC. Thanks to my employer tarent for a bit of time to work on it.

mksh R50c released, security fix

03.10.2014 by tg@
Tags: android bug debian mksh news pcli release security

The MirBSD Korn Shell has got a new security and maintenance release.

This release fixes one mksh(1)-specific issue when importing values from the environment. The issue has been detected by the main developer during careful code review, looking at whether the shell is affected by the recent “shellshock” bugs in GNU bash, many of which also affect AT&T ksh93. (The answer is: no, none of these bugs affects mksh.) Stephane Chanzelas kindly provided me with an in-depth look at how this can be exploited. The issue has not got a CVE identifier because it was identified as low-risk. The problem here is that the environment import filter mistakenly accepted variables named “FOO+” (for any FOO), which are, by general environ(7) syntax, distinct from “FOO”, and treated them as appending to the value of “FOO”. An attacker who already had access to the environment could so append values to parameters passed through programs (including sudo(8) or setuid) to shell scripts, including indirectly, after those programs intended to sanitise the environment, e.g. invalidating the last $PATH component. It could also be used to circumvent sudo’s environment filter which protected against the vulnerability of an unpatched GNU bash being exploited.

tl;dr: mksh not affected by any shellshock bugs, but we found a bug of our own, with low impact, which does not affect any other shell, during careful code review. Please do update to mksh R50c quickly.

mksh R50b released

03.09.2014 by tg@
Tags: mksh news pcli

The MirBSD Korn Shell has got a new bugfix release. Thought you’d want to know ☺

mksh R50, jupp 27 released

29.06.2014 by tg@
Tags: jupp mksh news pcli

Both the MirBSD Korn Shell and jupp – the editor which sucks less have seen new releases today. Please test them, report all bugs, and otherwise enjoy all the bugfixes.

Other subprojects will also have new releases… once I get around doing so after hacking them…

Update 03.07.2014: New release for MirCPIO, that is, cpio(1) and pax(1) and tar(1) in a somewhat portable package.

-r--r--r-- 4 tg miros-cvssrc 141973 Jul 3 19:56 /MirOS/dist/mir/cpio/paxmirabilis-20140703.cpio.gz

Heartbleed vs. Startcom / StartSSL

09.04.2014 by tg@
Tags: bug debian news rant security work

First of all, good news, MirBSD is not vulnerable to The Heartbleed Bug due to my deliberate choice to stick to an older OpenSSL version. My inquiry (in various places) as to what precisely could leak when a vulnerable client connected to a nōn-vulnerable server has yet to be answered, though we can assume private key material is safe.

Now the bad news: while the CA I use¹ and a CA I don’t use offer free rekeying (in general), a CA I also use occasionally² refuses to do that. The ugly: they will not even revoke the certificates, so any attacker who gained your key, for example when you have been using a certificate of theirs on a Debian system, will be able to use it (e.g. to MITM your visitors traffic) unless you shell over lots of unreasonable money per certificate. (Someone wrote they got the fee waived, but others don’t, nor do I. (There’s also a great Twitter discussion-thingy about this involving Zugschlus, but I won’t link Twitter because they are not accessible to Lynx users like me and other Planet Debian authors.)

① I’ve been using GoDaddy privately for a while, paid for a wildcard certificate for *.mirbsd.org, and later also at work. I’ve stopped using it privately due to current lack of money.

② Occasionally, for nōn-wildcard gratis SSL certificates for HTTP servers. Startcom’s StartSSL certificates are unusable for real SSL as used in SMTP STARTTLS anyway, so usage isn’t much.

Now I’ve got a dilemma here. I’ve created a CA myself, to use with MirBSD infrastructure and things like that – X.509 certificates for my hosts (especially so I can use them for SMTP) and possibly personal friends (whose PGP key I’ve signed with maximum trust after the usual verification) but am using a StartSSL certificate for www.mirbsd.org as my GoDaddy wildcard certificate expires in a week or so (due to the aforementioned monetary issues), and I’d rather not pay for a limited certificate only supporting a single vhost. There is absolutely no issue with that certificate and key (only ever generated and used on MirBSD, only using it in Apache mod_ssl). Then, there’s this soon-to-be tax-exempt non-profit society of public utility I’m working with, whose server runs Debian, and which is affected, but has been using a StartSSL certificate for a while. Neither the society nor I can afford to pay for revocation, and we do not see any possible justification for this especially in the face of CVE-2014-0160. I expect a rekey keeping the current validity end date, and would accept a revocation even if I were unable to get a new certificate, since even were we to get a certificate for the society’s domain from someplace else, an attacker could still MITM us with the previous one from Startcom.

The problem here is: I’d really love to see (all of!) Startcom dropped from the global list of trustworthy CAs, but then I’d not know from where to get a cert for MirBSD; Globalsign is not an option because I will not limit SSL compatibility to a level needed to pass their “quality” test… possibly GoDaddy, ISTR they offer a free year to Open Source projects… no idea about one for the society… but it would solve the problem of not getting the certificates revoked. For everyone.

I am giving Startcom time until Friday after $dayjob (for me); after that, I’ll be kicking them off MirBSD’s CA bundle and will be lobbying for Debian and Mozilla to do the same.

Any other ideas of how to deal with that? I’d probably pay 5 € for a usable certificate accepted by people (including old systems, such as MSIE 5.0 on Win2k and the likes) without questioning… most of the time, I only serve public content anyway and just use SSL to make the NSA’s job more difficult (and even when not I’m not dealing with any payment information, just the occasional login protected area).

By the way, is there any way to access the information that is behind a current-day link to groups.google.com with Lynx or Pine? I can’t help but praise GMane for their NNTP interface.

ObFunfact: just when I was finished writing this wlog entry, I got a new eMail “Special offer just for you.” from GoDaddy. Sadly, no offer for a 5 € SSL certificate, just the usual 20-35% off coupon code.

Server and service moves

04.04.2014 by tg@
Tags: snapshot

I’m currently moving servers and services, and have just installed MirBSD natively on the new www-to-be, fish (part of FreeWRT’s legacy). This means that some services will be temporarily unavailable in the days (*cough*) to come. Also, we will temporarily be restricted to Legacy IP availability, losing IP connectivity until I manage to set up a tunnel at the new location. Sorry for doing this “at the last minute” but it’s an involved process. On the other hand, I did already get a new SSL certificate for www.mirbsd.org (from Startcom), and begun operating a MirBSD CA (for the forth time) for all our other X.509 needs (mostly, server-to-server SSL connections including auth’d SMTP relaying).

In true “rolling release” fashion, there is a new MirBSD snapshot for the i386 architecture available in the usual netinstall location. I removed all MirPorts binary packages for previous snapshots, since there were quite some changes (libc major bump, C++ removal, etc.) in base in the meantime. (Expect some fallout. I just realised I cancelled the Manitu server (for monetary reasons), which is blazingly fast, before I was able to finish doing a usable G++ 4.4 port…)

FreeWRT Archive

30.03.2014 by tg@
Tags: archaeology freewrt news pcli snapshot

As previously announced, the FreeWRT Project has been archived. You can access the content at the FreeWRT Archive Site on the MirWebseite.

ObRant: DST (Sommerzeit) sucks!

Thanks to Robert Scheck, jupp – the Editor which sucks less (a WordStar™-compatible Unix editor with lots of features, including a hex editor) is currently on its way to Fedora and EPEL (RHEL/CentOS 5 and 6).

Depending on your distribution, you will have it available within one to two weeks, I’m being told.

This adds another distribution to the list; jupp has been available in Debian and its derivates (some of which may not be named) for some time (due to user request), and the webpage contains Win32 binaries (made with Cygwin, an oldish version to be compatible to Win9x).

jupp is especially useful as programmers’ editor, but also used in teaching school-aged kids the joys of IT; Natureshadow has prepared a cheat sheet, which we will internationalise and localise, then link from the jupp homepage – so stay tuned! (I guess we’ll also need a concise list of jupp features, in lieu of advertising.)

mksh-current version "R48 2013/11/17" (only this version, no others) suffer from a now-known regression which can make your MirBSD system unbootable. Please immediately either revert to an earlier version (such as a stable release) or update to "R48 2013/11/29" from AnonCVS.

This reverts the fix for “x="X 1 2"; showargs ${x#X}”, which nevertheless is a genuine bug. Contributions fixing it without introducing any such regressions welcome…

Rolling is the new buzzword

18.09.2013 by tg@
Tags: snapshot

The MirOS Project is proud to announce that the NetInstall area contains a fresh snapshot of MirBSD-current for the i386 and sparc architectures. In due time, a hand-crafted Live ISO image, with some packages configured and grml-mir added, will be published here, so watch this space ;-)

As someone in IRC already mentioned, MirBSD is currently published on a “rolling release” schedule (although we’ll eventually release MirBSD #11… some day). The snapshots are intended mainly for people to use when installing, or trying out MirBSD, but also as an upgrade aid (so recompiling afterwards (to be even more up to date) is very easy) and a baseline for binary packages (although there have been few (though MuPDF is a recent noteworthy addition) MirPorts packages lately, and I somehow doubt bsiegert@ wants me to gift one of my SPARCstation boxen to him for building pkgsrc® quarterlies).


18.07.2013 by tg@

Michael Langguth and Scalaris AG asked me to publish the mksh/Win32 Beta 14 source and binary archive, and it is with joy I’m doing this.

Checksums and Hashes

  • RMD160 (ports/mksh-w32-beta14.zip) = 0dc8ef6e95592bd132f701ca77c4e0a3afe46f24
  • TIGER (ports/mksh-w32-beta14.zip) = 966e548f9e9c1d5b137ae3ec48e60db4a57c9a0ed15720fb
  • 1181543005 517402 /MirOS/dist/mir/mksh/ports/mksh-w32-beta14.zip
  • MD5 (ports/mksh-w32-beta14.zip) = b57367b0710bf76a972b493562e2b6b5

Just a few words on it (more in the README.1st file included): this is a port of The MirBSD Korn Shell R39 to the native WinAPI; it’s not quite got the full Unix feel (especially as it targets the Weihenstephan unxutils instead of a full Interix or Cygwin environment) but doesn’t need a full POSIX emulation layer either. It’s intended to replace MKS ksh and the MKS Toolkit. Source for the compatibility library is also included under The MirOS Licence; we aim at publishing it as OSI Certified Open Source Software like mksh itself. (There is a situation with dlmalloc/nedmalloc being resolved, and the icon is derived from the BSD dæmon which is a protected unregistered trademark, but we’re not Mozilla and allow distro packages to keep using it ☺) Rebasing it on a newer mksh(1) followed by (partial) integration into the main source code is a goal.

Have fun trying it out and hacking on it. It’s currently built with -DMKSH_NOPROSPECTOFWORK (so coprocesses and a few other minor things won’t work), but a SIGCHLD emulation is being worked on – but if you want to help out, I’m sure it’s welcome, just come on IRC or post on the mailing list, and I’ll forward things to Michael as needed. Reports on testing with other toolchain and OS versions are also welcome.

mksh R45 released

26.04.2013 by tg@

The MirBSD Korn Shell R45 has been released today, and R44 has been named the new stable/bugfix-only series. (That’s version 45.1, not 0.45, dear Homebrew/MacOSX packagers.)

Packagers rejoice: the -DMKSH_GCC55009 dance is no longer needed, and even the run-time check for integer division is gone. Why? Because I realised one cannot use signed integers in C, at all, and rewrote the mksh(1) arithmetics code to use unsigned integers only. Special thanks to the people from musl libc and, to some lesser amount, Natureshadow for providing me with ideas what algorithms to replace some functionality with (signed shell arithmetic is, of course, still usable, it is just emulated using unsigned C integers now).

The following entertainment…

	tg@blau:~ $ echo foo >/bar\ baz
	/bin/mksh: can't create /bar baz: Permission denied
	1|tg@blau:~ $ doch
	tg@blau:~ $ cat /bar\ baz

… was provided by Tonnerre Lombard; like Swedish, German has got a number of words that cannot be expressed in English so I feel not up to the task of explaining this to people who don’t know the German word “doch”, just rest assured it calls the last input line (be careful, this is literally a line, so don’t use backslash-newline sequences) using sudo(8).

I uploaded a full bulk build of binary packages for MirBSD/i386 corresponding to the pkgsrc-2013Q1 release. About 7,000 binary packages are available in this build, including the pkgin package manager that makes installing binary packages as easy as apt.

See the pkgsrc page for instructions on how to install pkgsrc for MirBSD. Build logs are available on S3.

mksh R42b and R41c released

15.02.2013 by tg@
Tags: mksh

The MirBSD Korn Shell must-have bugfix releases R42b (for the current formal release series) and R41c (for the last bugfix-only stable series) have been issued. Debian testing/unstable users get the fixes through their package management, versioned 40.9.20120630-7 targetting wheezy (hopefully). Debian experimental users will receive a 42b-1 upload, closer to what other distro packages provide, soonish, targetting jessie.

Since we lack anything better (that, unless Freshmeat, is actually usable), by request of our packagers, new mksh(1) releases will be announced on our miros-mksh@ mailing list starting now.

There is one week left to submit your talk proposals for the BSD devroom at FOSDEM 2013. We still have quite a few slots open, so do not be shy! See the original announcement below:

FOSDEM 2013 will take place on February 2-3, 2013, in Brussels, Belgium. Just like in the last years, there will be both a BSD booth and a developer's room (on Sunday).

The topics of the devroom include all BSD operating systems. Every talk is welcome, from internal hacker discussion to real-world examples and presentations about new and shiny features. The talks will be 45 minutes including discussion. Feel free to ask if you want to have a longer or shorter slot.

If you want to do a talk, please submit your proposal to

bsiegert at google.com

and include the following information:

  • Your name
  • The title of your talk (please be descriptive, as titles will be listed with ~400 from other projects)
  • A short abstract of one to two paragraphs
  • A short biography introducing yourself
  • Links to related websites/blogs etc.

The deadline for submissions is December 17, 2012. The talk committee, consisting of Daniel Seuffert, Marius Nünnerich and Benny Siegert, will consider the proposals. If yours has been accepted, you will be informed by e-mail within one week of the submission deadline.

mksh R41 released

30.11.2012 by tg@
Tags: mksh

The MirBSD Korn Shell R41 has finally been released. This is a major “everything” version with important fixes as well as new features and behavioural changes. Sorry for the delay.

See also the:

Packages for pkgsrc-2012Q2 are now available on ftp.NetBSD.org. They have been built for MirBSD-current on i386. This time, there is notably a much larger selection of software for X11, due to a successful build of gtk+2. All in all, there are about 6300 packages available.

Interview about MirOS

10.08.2012 by bsiegert@
Tags: news

I (bsiegert@) have been interviewed by OSWorld, a Polish news site about open source software. The interview took place at FOSDEM 2012. I talk about the project, about the community and about some of the great things when using open source. Check out the video.

Read the original article (in Polish) over at OSWorld. Thanks guys!

(Update: Corrected the HTML. Again.

While wtf(1) always has been a bit central to MirBSD, and the acronym database has been accessible by CVSweb, what we never had was a DAU compatible (and shellsnippets compatible) lookup. This has now changed: the above link to the acronyms file is a persistent link to its latest version (well, latest when the website was last recompiled), tooltips may very well follow soon, and we’ve got an online WTF lookup service.
Contributions to the acronym database are welcome, of course; just eMail them to tg@mirbsd.org.

Not to stop there, our online HTML manpage search is also new, shiny, and should replace the “!mbsdman” DuckDuckGo hash-bang shortly. (Both of these services offer a DDG search as fallback. Note that DDG is an external service included herein by linking, under their request to spread it, and not affiliated with The MirOS Project. They do, however, donate some advertising money to Debian.)
For all those who didn’t know: only manpages for software in the MirOS BSD base system and for the MirPorts Framework package tools are listed, not for third-party applications installable using ports or, recently, pkgsrc®. Still, if you want to have a peek at a modern classic BSD’s documentation, you’re welcome. (Not to mention content like re_format(7) and style(9) and that some of our documentation is much more legible than others.)

And because writing all that perl(1) made me ill, not to mention I don’t even know that language, I’ve hacked a bit more in the mirmake(1) and mksh(1) parts of the MirWebsite, finally implementing pointing out where in the navigation sidebar the visitor currently is.

We also have exciting mksh porting news involving RT trying a larger number of ancient platforms than I dare count, me fixing bugs in Linux klibc and diving into other things, learning more about why I consider me lucky for hacking a BSD operating system… sorry, I want to keep this short as it’s mostly an announcement.

The MirWebsite source code is, of course, also available. Improvements welcome. Except for these three CGIs, our website is fully statically precompiled, and that’s a good thing. Please help in making the CGIs secure.

State of the Art (MirBSD-current snapshot)

15.01.2012 by tg@
Tags: snapshot

The current “state of the art” in MirBSD land was just uploaded. This snapshot carries a new patchlevel to show that things happened, such as a bootloader fix for systems with more than one hard disc; but be aware we’re not yet finished with all we think must be done. – The entropyKey software stack has been updated, by the way, and tg@’s shiny new second stick was inaugurated during this build, so it contains Moarrr Entropy™ in addition to e.g. the mksh(1) fix noted on the mailing list.

The MirOS infrastructure servers will be upgraded to patchlevel 10uB0 shortly.

What’s going on in MirOS Project land? Other than all developers being buried in dayjob work, of course… (sorry for that, guys; even tg@ has now succumbed to an ever-growing backlog but will be back, some time)

tg@ uploaded a new MirBSD-current/i386 snapshot (20111228) plus a full set of HTML manpages for all architectures (so they all are in the new amber style), and redid the usual combined i386+sparc cdrom10.iso Midi-ISO as well as the netboot.me kit. Older binary packages may no longer be supported: the old libgcc_s DLL is no longer provided in fixes10.ngz, and it may be time to reduce the amount of packages in MirPorts to concentrate on those worth the effort and receiving enough care.

Thanks to bsiegert@’s amazing work, the pkgsrc® kit of anno 2007 could finally be deleted. The page about pkgsrc® on MirOS describes instructions to use instead. At some point, we may release a binary bootstrap kit along with the snapshots as set ready for pickup by the installer.

No MirGRML based on the latest Grml 2011.12 release will be made. We’ll be investigating a possible solution for a flavour of the popular GNU/Linux OS to accompany full Triforce Live CDs in the future (for now, we’ll keep the old MirGRML 2009.10 on them).

We hope to be able to return to investing more spare (heh…) time into development some time. For now, we apologise for the slowed down development and reaction even in important subprojects such as mksh. Occasionally, they do have updates, e.g. the latest Jupp/Win32 release, or fixes in CVS.

This is a very late announcement. Binary packages for pkgsrc-2011Q3 are now available on ftp://ftp.netbsd.org/pub/pkgsrc/packages/MirBSD/i386/10uAE_2011Q3/. The repository contains 5330 packages built on MirOS-current. Any MirOS BSD version from 2011 should work.

The packages are self-contained in /usr/pkg: The VARBASE has been set to /usr/pkg/var, and the package database is in /usr/pkg/db. This matches the MirPorts defaults and facilitates using pkgsrc and MirPorts side by side.

In this quarterly release, the new default for MirBSD is to use “modular” X11, i.e. install Xorg libraries and programs as packages instead of using the system X libs. This improves the compatibility with many newer programs, which expect for example that the X libraries have pkg-config files. This should not change anything for the user, however.

For more information on how to use these packages, consult the pkgsrc page on mirbsd.org or the relevant section of the pkgsrc guide.

This is both a release announcement for the next installment of The MirBSD Korn Shell, mksh R40b, and a follow-up to Sune’s article about small tools of various degrees of usefulness.

I hope I don’t need to say too much about the first part; mksh(1) is packaged in a gazillion of operating environments (dear Planet readers, that of course includes Debian, which occasionally gets a development snapshot; I’ll wait uploading R40c until that two month fixed gcc bug will finally find its way into the packages for armel and armhf). Ah, we’re getting Arch Linux (after years) to include mksh now. (Probably because they couldn’t stand the teasing that Arch Hurd included it one day after having been told about its existence, wondering why it built without needing patches on Hurd…) MSYS is a supposedly supported target now, people are working on WinAPI and DJGPP in their spare time, and Cygwin and Debian packagers have deprecated pdksh in favour of mksh (thanks!). So, everything looking well on that front.

I’ve started a collection of shell snippets some time ago, where most of “those small things” of mine ends up. Even stuff I write at work – we’re an Open Source company and can generally publish under (currently) AGPLv3 or (if extending existing code) that code’s licence. I chose git as SCM in that FusionForge instance so that people would hopefully use it and contribute to it without fear, as it’s hosted on my current money source’s servers. (Can just clone it.) Feel free to register and ask for membership, to extend it (only if your shell-fu is up to the task, KNOPPIX-style scripts would be a bad style(9) example as the primary goal of the project is to give good examples to people who learn shell coding by looking at other peoples’ code).

Maybe you like my editor, too? At OpenRheinRuhr, the Atari people sure liked it as it uses WordStar® like key combinations, standardised across a lot of platforms and vendors (DR DOS Editor, Turbo Pascal, Borland C++ for Windows, …)

ObPromise: a posting to raise the level of ferrophility on the Planet aggregators this wlog reaches (got pix)

Our MirBSD online manual pages and other assorted BSD documentation (except of course the merely copied ncurses, lynx etc. documentation and the texinfo generated HTML pages) has just gained a major facelift. They look alike in lynx(1) – best web browser ever – and less(1)/man(1) now, and remind of a DEC VT420 on a CSS capable Buntbrause.

Thanks to our contributor XTaran for aid with the colour scheme!

Since these are generated from catmanpages, heuristics are used for things like where should bold/underline begin/end (since nroff(1) is not always the brightest… but working on that), and hyperlinks can only be generated for other manpage references (whose targets may or may not exist, for example if they aren’t part of MirOS base/XFree86®). But on the other hand, Valid XHTML/1.1 and CSS speaks for itself ☻☺

Zoltan Arpadffy has let us know that he has set up a MirBSD installation at polarhome in Stockholm, to aid its “purpose [to] serve the healthy part of the already, rather badly MS infected Universe - and MirOS is definetevly on that part”. He wrote that “MirBSD is a very nice easy to use BSD system”, thanking us with “gratitude and respect for developing a such a nice OS”. He also sent a list of things he ran into while installing (although we can guess some of them are related to using VirtualBox, which is not at all supported, as base) so we can fix them, and offered help, e.g. in adding ports of software they use.
Well, Zoltan, you’re definitively welcome ☺

polarhome.com is non commercial, educational effort for popularization of shell enabled operating systems and Internet services, offering shell accounts, mail and other online services on all available systems (currently on Linux, OpenVMS, Solaris, OpenIndiana, AIX, QNX, IRIX, HP-UX, Tru64, SCO OpenUnix, UnixWare, FreeBSD, OpenBSD, NetBSD, DragonFly BSD, MirBSD, Ultrix and OPENSTEP).

Well guys, talk to us – we know we have one to several hundred users world-wide but don’t really get a lot of feedback (so we assume you like it).

New MirBSD/i386 NetInstall snapshot

18.08.2011 by tg@
Tags: news snapshot

Almost ☺ in time for FrOSCon there’s a new binary snapshot of MirBSD-current (10uAF-20110818) compiled, right now waiting for me to do the usual post-compilation work of preparing the cdrom and floppy images for serial console, signing and uploading. Of course, the online manpages will be updated then as well.

The snapshot will, as usual, end up on the mirrors, i.e.

We’ll also have it with us at FrOSCon. Maybe on CDs, but on a laptop ready for netboot and netinstall is a promise.

Update 20.08.2011 – we’ve got an ISO:

  • MD5 (MIRB0818.ISO) = 805c4a34bae523ef5d838e79ecdcdad8
  • RMD160 (MIRB0818.ISO) = 93df98d24b2d877502e7be8af580907311d2d8cc
  • SHA1 (MIRB0818.ISO) = 6dacb045675184c06a00401357a0a510dd3e6edb
  • SIZE (MIRB0818.ISO) = 727711744
  • TIGER (MIRB0818.ISO) = ff0c145b93988c306530963fd881ad7972d5eb2d2e0ce298
  • BitTorrent download is [no longer, 2014-05-13] available

FrOSCon 2011

18.08.2011 by tg@
Tags: debian event grml news

This year without our friends from Grml, but The MirOS Project (all two active developers and our Booth Babe gecko2@) will of course attend FrOSCon, nicknamed Froschkon, again.

We’ll have a pre-event meal time at my favourite Jugoslawian Restaurant on Friday (20:00 CEST) – contact me privately for the coördinates if interested. On Saturday and Sunday we’ll staff a booth and answer questions about the many projects we have (more or less) running, including but not limited to paxmirabilis (aka MirCPIO), The MirBSD Korn Shell aka mksh(1), jupp the editor, and developers’ private projects such as slowly undermining Debian or Google-Go. While slow we are still working on World Domination. And teaching people good shell programming by example code.

We might even bring CDs, but I’m still working on the ISO… last night’s build aborted because the OS grew a bit making the floppy image not fit any more. (Solution, drop ping(8) and rtsol(8), but re-add sf(4) and bce(4) now that they fit again.)

jupp 3.1.17 uploaded today, mostly thanks to user input suggesting I improve things, especially the syntax highlighting. (Maybe more to come.) I like users who don’t complain but give helpful comments and send in patches even.

Since the Debian FTP masters complain that the NEW queue is empty for the first time in ages, I also uploaded jupp to Debian proper (got requests, several, from actual users – independent of each other). I originally thought I were the only user, it’s not worth it, maybe too close to joe (which segfaults a lot more and has some ugly things, so I cherry-picked the better features of it instead of rebasing jupp), but it’s had a package in mports (MidnightBSD ports) for ages, users submitted one to FreeBSD® last year and keep it updated, there’s even a WIP package in pkgsrc®, and who knows where else or how many people are using my OpenSuSE Buildservice package or have had installed the previous DEB package I uploaded to my play repo. So now I feel it worth to upload.

I even invested some major packaging rework, such as splitting the build-arch and build-indep parts from each other, and importing the upstream source into the packaging VCS, as I have learned in the “packaging with git” talk here at DebConf. (No guys, I will stick to CVS as git doesn’t give me anything.)

mksh R40b (nowadays with filled in user’s caveats (for R40, too!) and packager’s upgrade hints) has just been released. This is a should-have upgrade, fixing a number of – admittedly some obscure – bugs, changing things begun in R40, improving upon others. Thanks to the PLD Linux guys for spotting all these errors; thanks to them and phpnet.org both for adopting mksh so well.

I have also fixed a bug in nroff(1) which will lead to an even nicer looking HTML manpage mksh(1) (after the next rebuild and upload of a MirBSD snapshot – scheduled RSN).

jupp 3.1.16 took on the task of merging Debian joe changes (aiming at an upload). I also split the jupprc file into three versions (2.8 generic/DOS, 3.1+jupp and 3.7/Unix) because of the differences in the baseline executables making rc files partially mutually incompatible (think Insert key), annoyingly warning (think syntax, hmsg), or less usable (joe’s new menu system).

jupp 2.8.2 is a companion to jupp 3.1.16 – mostly because of the new help window “character map” ☺

Binaries for jupp should be updated RSN too.

Considering Banja Luka is arriving quickly, the “r” in RSN should be taken with a few grains of salt. I’ve also scheduled working on the pcc Debian package for the next future; updating lynx and maybe others like OpenSSH in MirBSD is also due; cvs(1) will receive more of my time, but before the next Upload I’d like to fix LP#12230 once verified.

Builds for Debian/m68k are also still running. I note I did in fact not manage to make a new base image, yet (but 2.6.39 kernels miss a patch, anyway, so waiting for 3.0 is ok). It’s still using gcc-4.4 because nobody tests gcc-4.6 and gcj-4.6 FTBFS due to SIGSEGV, but that’s ok in my books. rsyslog is broken but sysklogd works.

The #ksh|Freenode page finally got a well-deserved link to Planet Commandline. Throw more my way!

Acronyms and translations, too. (Got Norwegian and Rumanian covered in the meantime. No idea whether any RTL languages will work in that beast. But I’m young and need the money)

Since I’m writing a wlog entry anyway… let me thank Gunnar for a nice summary on the current Free Culture discussion; my comments on Nina’s site seem to be eaten, but let me support it fully, although, of course, I normally use a copycenter style licence, which is specifically written for general works of authorship under copyright law, not limited to software. I did in fact have that in mind. Maybe some people will like it (it’s less than one Kibibyte long) either generally or just for their everyday random musings (they can then keep CC-BY-SA for the “big works” if they so desire).

Wouter, grass background makes green headlines illegible. I’ve never liked, and never installed manually, cups either. (Benny tells me that Apple’s new version refuses to talk with a non-Apple cups, kinda defeating the whole idea I think.) Port 9100 is JetDirect (probably with an HP in front and some subset of ©®™ trailing) and just nice. (Being able to talk ESC/P with your printer like print '\033K\x07\0\x3E\x81\x99\xA5\xA5\x81\x3E' >/dev/lpa too rocks though, IMHO. Yes, mine can, and I still can. /dev/lpa is BSD.)

Kai, thanks for your vimrc lines:

	:highlight TrailWhitespace ctermbg=red guibg=red
	:match TrailWhitespace /\s\+$\| \+\ze\t/

Automatic removal is harmful, though – I just fell into the trap since jupprc contains needed whitespace at EOL… but manual removal (bound to ^K] in jupp) rocks. And I like that your solution uses such strong a colour – vim users are the single most represented offender group for actually leaving the redundant whitespace at EOL there, and it should hurt their eyes. (Sadly there is some vehement disagreement preventing them from inclusion in grml-etc-core – but that’s why I re-post them here.) Ah, and jupp can of course display whitespace visibly (although it uses ‘·’/‘→’, replacing the arrow with ‘¬’ if no UTF-8, not ‘»’), accessible with ^Ov.

Steve, want to put up a checklist for sites? We can “crowdsource” the… testing… to maybe get some interesting results…

Some other people would get more comments if they were idling in IRC (Freenode) or allow comments on their blog, specifically without too high an entrance barrier – OpenID is ok, but many other things, and ECMAscript, are not; but I can’t really say that loud because our wlog is static HTML compiled from a flat plaintext data source so it doesn’t allow such either. I often forget what I wanted to add if I can’t get it out quickly enough (especially at work). Sowwy…

Me like the cat picture postings (Amayita, Tiago, ¡Gracias!).

mksh R40 released

12.06.2011 by tg@
Tags: mksh

The MirBSD Korn Shell R40 has finally been released. This is a must-upgrade, a major everything version. See the changelog for now, until caveats are filled in, due to the sheer amount of changes. The diff between the last and the new release is more than half of the last release’s size, after all – it’s been 15½ months.

The plan for the next two releases is:

  • mksh R41 will fix all bugs popping up within the next few weeks, as they usually show up shortly after a release only, when things are getting adopted. Furthermore, it removes deprecated code that emits a warning in R40: several Build.sh options, plus set ±o arc4random. Finally, I plan on speed-up for arrays by using hashtables internally.
  • mksh R42 is where we tentatively target associative arrays for, now. Multidimensional arrays should be introduced at the same time.

bsiegert@ is now NetBSD developer

11.03.2011 by bsiegert@
Tags: pkgsrc

bsiegert@ now has direct commit access to the pkgsrc repository, with a mandate to improve the MirBSD support in pkgsrc. This should lead to pkgsrc becoming a viable alternative and/or complement to MirPorts.

mksh-current has just gained an experimental recursive parser for command substitutions, fixing RedHat BZ#496791 and decades-old complaints about the pdksh codebase, compared to AT&T ksh93. (GNU bash could also do the example, but not some other things mksh(1) parses fine now.)

This means that things like the following work now.

	# POSIX, should “always” work
	echo $(case 1 in (1) echo yes;; (2) echo no;; esac)
	# POSIX optional, works now in mksh, works in GNU bash
	echo $(case 1 in 1) echo yes;; 2) echo no;; esac)
	# GNU bash seems to choke on comments ending with backslash
	# a comment with " ' \
	echo yes
	# a comment with " ' \
	# No non-recursive COMSUB parser can pass all of the above
	# tests and these below at the same time (some extensions)
	echo $(typeset -i10 x=16#20; echo $x)
	echo $(typeset -Uui16 x=16#$(id -u)
	) .
	echo $(c=1; d=1
	typeset -Uui16 a=36#foo; c=2
	typeset -Uui16 b=36 #foo; d=2
	echo $a $b $c $d)
	# the ‘#’ is especially tricky, that’s why the above cases

Next on my TODO is the complete rewrite of the read built-in command, as well as its documentation. I think that the (reduced) goals for mksh R40 will have been met by then, except porting to LynxOS and MPE, but we’re working on it, and re-testing Syllable and Plan 9). Of course, a release implies testing on a lot of the supposedly supported platforms, so it won’t be out “immediately”. Though, associative arrays have been removed from the R40 goals, so that I can at least get a new release out. Note that Debian and OpenSuSE Buildservice users have been provided with somewhat well-tested mksh-current snapshots for a while already, and Gentoo users can use the “live ebuild”; there’s always compiling from source too…

On January 23, an initial set of patches for MirOS support has been committed to pkgsrc by Alistair Crooks. As a part of these is still on hold for the moment, some patches are still necessary for successfully bootstrapping. You can bootstrap pkgsrc as root, installing for example into /usr/pkg, or as an unprivileged user. MirPorts and pkgsrc can be used in parallel.

Even if only a small number of packages has been tested on MirOS so far, the adoption of pkgsrc will give users access to vast, well-maintained archive of third-party software.

mksh wins

28.01.2011 by tg@
Tags: debian mksh

The Android 3.0 (Honeycomb) Preview [German news] comes with a much more sensible /system/bin/sh than previous released versions… Android-x86 and AOSP have had it for a while, but this sees the general adoption of mksh(1) as the only POSIX/Korn Shell on the Android OS! Thanks to those who helped to make this reality.

Minor annoyances, BitTorrent trackers; construction work finished

26.09.2010 by tg@
Tags: news rant release security snapshot

openbittorrent.com has, apparently, bitten the dust as well. Oh the joy. DHT to the rescue, over the last few days, for those who could do it. I’m now running bttrack.py, yes the original, on eurynome and have (again) reannounced this project’s torrents. Please download the *.torrent files again. And don’t bother asking, I’m not running a public tracker. Clarification: The content is unchanged, only the torrent metafile has changed!

The updated CVS and new RNG code seem to behave well; I also fixed old bugs in the process. I will probably update our main server within some foreseeable future (this would be the ideal time to push out a snapshot again as well, even if it’s “just” netinstall).

People have shown interest in my djbdns patches. Consider forking, even putting it into the base system. I need to solve the problem of the remaining non-v4-transport-capable v6-transport binaries though, I think only dnscachet6 is remaining, so we’ll get only one set of binaries again. Also look for SRV RR patches. I wonder whether someone will code DNSSEC support…

The msdosfs LFN code is also still on my TODO, as are some other things. But hey, at least there’s movement; even Benny, despite being offline, unreachable by phone, etc. commits Google-Goo code. (Hi!)

mksh currently is being reviewed by the Android Security team, who like it on a first look. I’ve already addresses the first concerns even. I might release R39d soonish, also because I’d like a stable release before going on to associative, and since it’s easier to do than prohibit, multidimensional arrays – which have been welcomed in #ksh already…

You might want to update src/sys/net/netisr.h if running #10-stable, or upgrade to the latest kernel. I ran dieharder, and the results look good. The latest RNG subsystem pulls from many more sources and mixes better; I’ll summarise it later probably.

mksh, encodings, MirBSD, BitTorrent, WinCE

28.08.2010 by tg@
Tags: android debian geocache hardware mksh news release snapshot

mksh was merged into Android (both AOSP and Google’s internal master tree) in the night 24/25th August, and is expected to be the one shell to rule them all, for Gingerbread.

mksh(1) now also has a cat builtin, for here documents mostly. It calls the cat(1) command if it receives any options. The shell is nevertheless smaller than yesterday because of improved string pooling.

There’s another reason to use the MirOS OPTU-16 encoding instead of PEP 383, on which I already wrote: try passing a wide-char filename to a function such as MessageBoxW, or create a filename on a system using wide chars, such as FAT’s LFN or ISO 9660’s Joliet, or one that only allows Unicode (canonically decomposed – ü → ü – out of all things) like HFS+. OPTU-8 at least maps to somewhat reserved codepoints (would, of course, be better to get an official 128 codepoint block, but the chance’s small of getting that in the BMP). Still.

Oh well, the torrents. I’ve remade them all, using one DHT seed node and OpenBitTorrent as tracker and put them on a very rudimentary BT page that will be completely redone soonish. Please re-download them. I currently do not believe f.scarywater.net will return.

Finally, I fell victim to a selling-out and may have just bought a Windows Mobile 6 based phone (Glofiish X650) and an SDHC card and an extra battery with double capacity. Well, at least it’s said to run CacheWolf well. I still would like to have something like Interix, Cygwin, UWIN, coLinux, or maybe some qemu-for-WinCE variant that runs Android, Maemo, Debian/armhf (or armel or arm) at near-native speed (and is usable – the device sadly doesn’t have a hardware keyboard, but it comes with SiRFstar Ⅲ GPSr). It only has 64 MiB RAM, like the Zaurus SL-C3200 and the jesusPhone, though. ☹ Any chance to get MirWorldDomination onto that device as well?

Tomorrow, eight years ago, is the date we now use as birthing point for MirOS. The thing is, we did not really want to create a BSD of our own, fork, or whatnot. We were mostly happy OpenBSD users (really happy before the first eMail exchange with its developers, where Theo de Raadt did indeed stand out but was not the only one – just the one with the authority to deny us), improved it locally and submitted patches and ports. We were flamed for that or, worse, ignored. I begun putting up my “OpenBSD patchkit” on my homepage (back then, at Tripod) and still tried to feed things to upstream and OpenBSD. Then, at some point, Theo de Raadt made it clear he did not want me and the patch kit had grown (from one 4M file into several of them), so I ended up doing a “cvs -d /cvs init” and went from there. Benny’s story is similar – he laughed at me while trying to get ports added to OpenBSD, then discovered his ports were added to the MirPorts Framework and getting commit access there was easier than getting some random developer to commit something of his to OpenBSD. (This trend ended there though… every single person I approached since has become OpenBSD ports committer – I wonder whether they used my invitation letter to blackmail Theo?) It’s often thought that there was a clash of opinions between Theo and me. I think while we might disagree in certain aspects or priorities things should have, in the end we both wanted the same thing, I just was promised to never become a member of the OpenBSD project, so it’s really just “them” being uncooperative. (They (Henning and others) did burn the T-Shirt I gave Theo as a gift some day for making OpenBSD what it was. I won’t comment on that, again, now.)

[BT] MirOS #10-current (FrOSCon) ISO

19.08.2010 by tg@
Tags: event snapshot

The FrOSCon Edition “Federrosé” ISO is now [link deleted 2014-05-13, we do not use torrent any more] available for download using BitTorrent. Because our usual tracker Scarywater is down, the file is now hosted here and tracked using OpenBitTorrent primarily.

  • MD5 (MIRA0819.ISO) = 3ecab5f91e042580cf38571119b01fff
  • RMD160 (MIRA0819.ISO) = c78ca3d2b1414c869ae15fd285cd2544b6eab6b1
  • SHA1 (MIRA0819.ISO) = a9f343b019a238456ae6152191e06bdeff8ecca3
  • SIZE (MIRA0819.ISO) = 713031680
  • TIGER (MIRA0819.ISO) = 56dc76dbd112fe70eee5f393b5d90c097f60fb6211c31ced


Back home

11.07.2010 by tg@
Tags: bug debian event geocache mksh news release snapshot

Bordeaux was very nice (and towards the end much cooler… it’s actually hotter here at more than 50½° north – too warm to think, or do anything) but the LSM/RMLL was very french. They’ll be in Straßburg and Lüttich the next two years so we can probably be expected to attend. I don’t think I can eat duck (which, in south-west france, is a vegetable) or like all that classic french multi-course food so much, but I had enough Couscous Merguez and Thé à la menthe fraîche… and similar good stuff. Many people spoke English and actually asked me whether I do (probably they couldn’t bear me trying to spea^W^W^Wbutchering the language of the Grande Nation) and in general were a friendly bunch. I did see some people with machine guns in the city on the last day, though. No idea what/why… didn’t dare asking ☻

Just another reason to boycott flying: Mario Lang (one of the speakers) was apparently held on the airport and treated as a terrorist due to his Braille line… they thought it was a bomb or somesuch thing.

Read on for more…

Travelling with the Thalys and TGV was nice (but I loathe the Métro parisienne… they should build a ring train like the Berlin S-Bahn and just put another stop before Paris Nord and Montparnasse for people who just want to switch trains to take the ring train to the other line). And I want air conditioned trams in Germany too!

I met Uriel (invited him for some food and talked lengthy with him and some 9grid guy), XTaran (who was rather busy organising things), and a number of other people. Did some PGP keysigning as well. There’s now an experimental MirOS presence at Launchpad, not sure what exactly we’re going to do with it but, as Canonical does not care (as Jonathan said in his talk – great slides, by the way, really impressive), there’s no harm in having it. Some Perl guy from America (USA… just to make sure ☺) wanted a photograph of me with a sign “I love CVS” just so people back at home would believe him he’s met such a person *grins* of course I plugged in a little advertising but cvs(GNU) is honestly good. The forge hacking session was a little under-visited (but still a success in terms of getting more communication and maybe collaboration underways, especially thinking of common interfaces, DC, semantic web, OSLC-CM) and since the room was (in contrast to my hotel room and the trams!) not air conditioned we didn’t get much hacking done. The Debian booth was about 40% of one FOSDEM style table wide… and subsequently crowded. There were more people (of course, I was trying to get mksh into Haikuports, Mandriva, and other things; talked about KDE 3.5.11 (Trinity), Qt 3 vs Qt 4, and kwalletcli, and in general to a not-so-usual bunch of suspects – like I said, LSM/RMLL really is pretty french-only).

It is too hot, but I still committed src/etc/rc,v version 1.110 which you want to upgrade your /etc/rc to before upgrading mksh(1) in MirBSD. (All in the name of better performance on platforms such as Debian/m68k and not raiding Linux’ inferior RNG… but it does simplify things.)

I could probably write more but at the moment just want to lie down and die until it gets cooler… even the rain didn’t help. My feet hurt (Montparnasse-Bienvenue didn’t help) too.

CLT 2010

07.03.2010 by tg@

Quite surprisingly, I’ll attend the Chemnitzer Linuxtage 2010 in Eastern Germany. This is a happenstance, I managed to get fast transportation (via my boss) and accomodation (in a hotel). I will try to help staffing the booth of Debian this time (so I cannot be called Traitor any longer). Schedule, due to the spontaneousness of this, no, though. I may not even be there on Sunday, dunno…

No RCBD (or night) though, some real life and a new release (with fix of an FTBFS-on-hurd-i386 bug) though:
RMD160 (/MirOS/dist/mir/makefs/makefs-20100306.tar.gz) = f65bd8ef5cf3306a9112587dd4915b6255e479fe
This version pulls in NetBSD® changes (Acorn Archimedes support, for one), but I’ve also coded support for boot-info-table (J�rg compatible), as well as setting the PVD dates (used by GNU GRUB 2 for “UUID”s).

On MirBSD, cdio(1) can now be used to burn (TAO) and blank (quick) CD-RW media (I backported some OpenBSD changes) too.

The Command-Line Interface for the KDE Wallet, Version 2.02, has been released and dput into Debian unstable. (The lenny-backports version will follow.) It took me quite a while to reproduce, then track down, the bug; having unrelated problems at the same time didn’t help either…

mksh R39c released

25.02.2010 by tg@
Tags: mksh

The MirBSD Korn Shell R39c has been released. This upgrade is strongly recommended for everyone. Focus is on minor but important bug fixes. The recently introduced list of caveats contains language-relevant user-visible changes.

We are proud to announce that the android-x86 project's /bin/sh is now an mksh(1) as well.

Please update MirPorts Framework infrastructure

Tags: bug snapshot

If you installed the FOSDEM 2010 snapshot, you will run into a number of issues with ports. Please run cvs -qz3 up -PAd in the /usr/ports/infrastructure directory to get later versions, which fixed these. (Half of the problems were inherited from OpenBSD, whose use of a Bourne shell construct predates POSIX/SUSv4.)

The MirBSD Korn Shell R39b has been released. This upgrade is strongly recommended for everyone. While being a stable series release there are, due to standards compliance and bug fixes, a number of caveats users should be aware of when upgrading. Also new, the list of full terms and conditions applying to it. Users (and distributors intending to support mksh for their own customers) should definitively read the caveats, although only corner cases are incompatible (ask for details).

The arc4random.c page now at least has some content, and a lot of links, too.

The kwalletcli page has been completely written by now. I'm proud to announce the availability of the CLI for the KDE Wallet, as distfile, as Debian squeeze/sid package (it's already in testing, yes), and as Debian lenny package, soon to be in backports (currently only in my own play repo, as I'm waiting for bpo upload rights – apparently, my PGP key wrecked the software).

I would like to apologise for the delay; I've been more-than-busy at first (preparing MirBSD for FOSDEM), then in foreign countries where people talk in weird tongues, then ill. I'm still not totally recovered, and there is also much catching-up work to do.

mksh R39b released

29.01.2010 by tg@
Tags: mksh

The MirBSD Korn Shell R39b has been released. This upgrade is strongly recommended for everyone. While being a stable series release there are, due to standards compliance and bug fixes, a number of caveats users should be aware of when upgrading; these shall be documented on the webpage RSN. (In fact I simply do not have the time to do so now, but will do it later.)

Beware, the Objective-C and C++ header files (includes) will, as the libraries have already, move to compiler-specific directories, so that llvm-gcc4.2 and gcc-4.4.2 can use their own ones exclusively, and Clang will get a wrapper asking its CCLD which ones it prefers.

New MirBSD/i386 snapshots

15.11.2009 by tg@
Tags: news security snapshot

I have compiled a new snapshot (i386 only) and uploaded the following flavours: MirOS bsd4grml, MirOS bsd4me-current (Live OS), MirBSD-current netboot (NetInstall for i386), the Midi-ISO (bi-arch manifold NetInstall), and the checksums.

The /MirOS/current/older/ subdirectory containing partial and incremental upgrades for older MirBSD-current snapshots is gone for now. The 20091115 (i386) snapshot is a security upgrade (contains the OpenSSL panic patch in its second version), bugfix (all errata mentioned in the “wtf ist hallowe’en” announcement are fixed if applicable), and feature upgrade: the installer and first boot recognise a Simtec Entropy Key if plugged in (for the installer, break into a shell and run /usr/libexec/ekeyrng if plugging it in later) for increased entropy generation; after first-time installation and reboot, the user is supposed to install ports/security/ekeyd and use that (for which there are binary packages as well).

The MirOS Project’s servers are or will be upgraded as well; please bear in mind this implies short outages of service. Furthermore, due to the TLS protocol design error, some things may not work any more, since we applied the OpenSSL “panic patch”, which disables all renegotiation, but allows applications to re-enable it, if they knew about that possibility at compile time, by setting a run-time flag before initiating the connection. (None we know of does, though.)

New MirOS snapshots (BSD, CVS, grml, ISO)

31.10.2009 by tg@
Tags: bug event grml release security snapshot

Gee...  I don’t know what “hallowe’en” means…

Does this match what you’re thinking? Well, there is a new MirOS snapshot, with several components, (as usual) out on BitTorrent. It was also distributed on CDs at OpenRheinRuhr 2009, and will be (by formorer) at 26C3 in Berlin.

This is the combination of an ISO 9660 filesystem image with the “Samhain” edition of MirBSD and the “Hello, Wien!” edition of grml GNU/Linux, Triforce (as usual), and the „Allerheiligen“ CVS snapshot. And a tribute to UF.

Update 01.11. – This is tagged 「event」 because I intend on distributing this snapshot on CDs at OpenRheinRuhr next weekend, and maybe Benny on bootable tapes at 26C3…

MirGRML 2009.10 is based on grml-small 2009.10-rc3 and contains a couple more programmes, and, as usual, is fitted to match the rest of The MirOS Project’s offers, for instance by not using a framebuffer by default, having mksh as login shell, etc.
This time, all (required) source code is available either from our CVS or from sources.grml.org.

The Squash-and-Steffl background comes from Christoph Prokop, and was used in our desktop wallpaper with permission from Mika.

Update 01.11. – The GRUB2 「memtest86+」 bootmenu option does not work because nobody told the Grml team that it must now be booted with 「linux16」 ipv 「linux」 – fix is to type ‘e’ to edit the entry, move right, type the “16” and hit ^X to boot.

Note: This is “MirGRML”, a mini-Grml coming with MirBSD. There is also “MirOS bsd4grml”, a mini-MirBSD coming with Grml. This should clear up any possible confusion. (This snapshot contains a full MirOS BSD, i386 and sparc, no MirOS bsd4grml, plus MirGRML, but no Grml. The Grml 2009.10 release contains a full/medium/small Grml, no MirGRML, plus MirOS bsd4grml (the small one).

MirOS BSD, both i486 and sparc architectures. Most recent snapshot, compiled 2009-10-30, with an updated kernel for a security fix from 2009-10-31 we urge people to upgrade to, even if running older versions. Hence, MirOS-current snapshots are now recommended over MirOS #10-RELEASE, updates for which we have been unable to provide regularily due to lack of time. (Sorry.) This snapshot could have been released as MirOS #11 if it were not for our release plans (so please consider it a new stable release, albeit one without intentions to release binary incremental security updates, but then, we can’t do so for #10 either, so you still win).

MirBSD/i386 is called MirOS BSD/i486 above. We might produce a MirOS BSD/i386 platform with user-space soft-float (like ARM), for a SoC device, if we want and have the time to play with such platforms. What is currently MirBSD/i386 requires an Intel 80486DX or compatible, such as a Cyrix 80486DLC (the one in nwt, see my wlog entries for details). Neither 80386 compatibles nor FPU-less systems will work with this release.
MirBSD/sparc is still compiled for v8 CPUs, with optimisation for HyperSPARC turned on. It is possible to compile your own variant for a v7 CPU (sun4 or sun4c system), though.

This Live CD comes with IceWM, Dillo 2 and a couple of other tools installed and partially preconfigured (you can even run MirBSD inside MirBSD, as qemu is shipped). Enjoy!

Update 02.11. – The /etc/rc shipped breaks pflogd(8) and hence spamlogd(8) – part of the spamd(8) suite – please update this file from the etc10.ngz set manually to cvs(1) revision 1.107 if you are running a spamfilter scenario. Our apologies.

Update 08.11. – Append the following line: CHARACTER_SET:utf-8 to /etc/lynx.cfg or re-enable locale-based charset setting.

Once this release is done, I will create a cpio-with-crc-ball of the CVS repository again, for initial extraction purposes, to speed up an rsync mirror process. It will be available from our usual web mirrors.

You can also pull /cvs directly, and /MirOS and /Pkgs. We plan to make all distfiles used to build MirPorts packages available as well, but currently lack disc space on some of the boxen involved (they are still usually available from the original mirrors, as well as on request directly from bsiegert@/tg@, plus we fully intend on making binary packages the viable option).

New MirMake (mandatory update)

20.10.2009 by tg@
Tags: bug mksh

Due to a bug mksh fixed after inheriting it from pdksh via OpenBSD ksh (oksh), which probably got it from AT&T ksh88 (ksh93 exhibits the correct behaviour, as does posh), coupled with the unfortunate lines

	CC=${CC:Q} ${MKDEP_SH} -a ${MKDEP} ${CFLAGS:M-[ID]*} \
	    ${CPPFLAGS} $$files; \

in <bsd.dep.mk, where ${MKDEP} can be the mkdep(1) option -p as well as additional CPPFLAGS like -I... (which I actually found in our tree), you absolutely must upgrade your MirMake package, as well as mkdep(1) in the base system, before upgrading to mksh-20091015 or newer. (Note that R40, which will carry the breaking fix, has not been released yet, but FreeWRT uses an mksh-current snapshot bearing it with still major 39 enacted.) It is actually pretty hard to work around, see the mkdep source code for details. There are basically two things to take care of:

  • For each x in getopts "...x..." c, make sure you not only case (x) ... ;; but also either case (+x) ... ;; or have a (*) ... ;; default trailing block, because mksh(1) getopts will also catch foo -x +y -z sanely. This is, in contrast to oksh, not disablable with a shell option.
  • If you case (\?) cmds ;; (either explicitly or via a default block), special rules apply: if you do anything other than exiting from there (e.g. via usage), $OPTIND will differ: newer shells count this option, olders don't.

The new distfile {RMD160 (/MirOS/dist/mir/make/mirmake-20091020.cpio.gz) = b9ac1258bc66b3d0d63537cc82d02c91408d1ba8} has been uploaded for your convenience already and will be integrated (after testing) into both The MirPorts Framework and FreeWRT as soon as we get to it, probably tomorrow.

Website has been unavailable, fixed

07.09.2009 by tg@
Tags: bug

We would like to apologise for the unavailability of our main website, and in general HTTPS access to everything hosted on eurynome, during today, Monday. It turns out that our hoster accidentally botched up a Linux netfilter prerouting table at about Sunday 01:00 UTC (i.e. Saturday evening, way past midnight, local time) affecting the IPv4 address set aside for eurynome. We believe IPv6 services were not affected. Our hoster would like to apologise and comment that he is, after all, a human being as well.

Please note that X.509v3 SSL certificate validation will have prevented you from connecting to the wrong server, as this ended up like a MITM (man-in-the-middle) attack.

MirOS bsd4me – Sane OS on netboot.me ☺

30.08.2009 by tg@
Tags: news snapshot

Christian Hofstaedtler «ch:#grml» pointed me to an article about netboot.me, a service providing bootable Live and Install variants of some OSes over the Internet (via gPXE and HTTP transport, mostly). They offer a bootable floppy/disc, USB stick, and El Torito ISO image. One gets a graphical menu if not careful, out of which there is no escape, and which isn’t compatible with most graphics cards, but if ^B is pressed quickly enough, there will be a usable command line.

An experimental MirOS bsd4me bootable image is available as well:

gPXE> autoboot
gPXE> chain http://netboot.me/2032

This will be loaded via plain, unencrypted HTTP from our main webserver. It’s the usual <5 MiB Mini-ISO for the i386 architecture and contains a full installer, as well as e3 and tinyirc known from MirOS bsd4grml. Source code of the GPL’d parts and overall licencing information is also included inside the ISO image. Please remember this is for beta testing only. We do not support MEMDISK boot methods with our second stage boot(8/i386) loader, as these are not reliable.

On an unrelated side note: dutch Windows XP Professional is weird. Translations were laughed at by several dutch-speaking people in the mksh IRC channel, but I was able to disable Blåtand on “blau” (the new IBM X40, successor of “bleu”). And it works!

A more related side note: when virtualising MirBSD, do not use VirtualBox. If you do have Vanderpool/Pacifica available and enabled, both the OSE and the full edition may be viable, but kvm is the better option. If VT-x/HVM is not used, it does not emulate the i386 architecture properly. Use qemu, kqemu, kvm, bochs, VMware Server 2 (not 1 – timekeeping is broken in there), Microsoft® VirtualPC 2004, Parallels Desktop, VMware Fusion for Macintosh, … instead.

Tonight and the last few days have seen several releases of things like MirMake, the package tools, etc. You might want to upgrade your MirPorts Framework checkout. (We now have enough Lua tools to access the Simtec eKey, I just need to order one. We’re currently at 2¾ interested people, not quite enough to make sense.)

arandom(4) is a high quality SRNG (stretched RNG). It passes these test suites quite well on bleu (IBM X40, without TPM support). I also took 128 MiB samples from the same /dev/arandom, as well as from tear (Via C7), herc (P-233MMX), ss5, eurynome. The results are similar to each other (some of the tests rewind the input file a lot of times, so there are of course differences to the test using the arandom(4) stream directly – but the results are as good as can be expected, and tests that happen to fail (which is expected too, as it’s random after all) pass quite well with other runs). Another 128 MiB snippet of the TPM output looks to be as good as the arandom one, which doesn’t infer that it’s a TRNG, but it’ll at least help; the C7 xstore-rng output however looks rather bad in some tests (such as the Chi square test); apparently, the kernel initialises it with not optimum values (which may even be correct, as we use the RNG from kernel space, so a bias doesn’t matter, whereas Von Neumann bias correction would eat up very many bits; additionally, it’s designed to work from VIA C3 onwards).

I think the Entropy Key will have even better results. It’s still a thermal noise (or Johnson noise?) type, not a “real” QRNG (using photons and a mirror, or radioactive material and a Geiger counter), unless the one from fourmilab.ch (I’d insert a link here, but John Walker’s site appears to be down). Personally, I use the use-many-sources and mix approach, getting “best” entropy from external sources, including fourmilab’s (via https), “good” from myself (VIA C7, IBM TPM, soon eKey); “medium”, “regular” and “bad” from myself, where most of these are non-interceptible – the RANDOM.SYS for DOS author says every bit counts, and I think so too. cprng(8) is an example of “medium” (or “bad” if you lack the appropriate hardware) source; keyboard/mouse are “regular”, disc/net I/O are “bad” but available. The four-pool mixing helps, and the results show. Hell, even nwt has good entropy. And the RANDEX protocol helps some, too. Untrusted, but potentially good bits; wrandom(4) pool.

Karolina Lesińska writes: “We have placed the first 3 issue of BSDmagazine on our website as free downloads. The issues are:

  1. FreeBSD Ins & Outs
  2. OpenBSD in the Limelight
  3. Explore NetBSD

“The link is: http://bsdmag.org/prt/view/pdf-articles.html

My comment: The BSD magazine is a rather interesting piece of print, which already carried a small article about MirBSD. We have, I admit, been offered to write more which would get published, but, I am ashamed, haven’t quite gotten around to doing so.

Today, it's only been 29°C, and I died. What will I do tomorrow, where it is supposed to climb up to 35°C over today's 32°C?

ext2fs support unbroken in -current

09.08.2009 by tg@
Tags: bug

MirOS #10uAA addresses the mount_ext2fs(8) bug mentioned in an advisory: the symlink(7) bug was fixed by pulling up more recent code from OpenBSD, and 256 byte inode support works as well (other sizes may or may not work; support is only barely tested).

We now also have a wake(8) utility courtesy of Marc Balmer from OpenBSD, no ÆrieBSD, no NetBSD® to Wake-on-LAN other computers.

I took the weekend to release a couple of things… MirBSD™ base code stuff and base releases (printf.c for mksh in Debian; arc4random.c for Win32 and other non-BSD OSes, now with a HKCU key used in addition to the HKLM seed key which may not be writable; MirMake; MirPorts Package Tools; mirdate – rdate(8)), jupp, mksh including a new PDF manpage, KWalletCLI, and the RANDEX plugin for XChat (Win32, BSD and *nix). I also prepared for the inclusion of more Debian source packages in my CVS “home subtree” and creation of SRPMs for more software (not in CVS though). I cleaned up the mess that were the X11 dist sets in base, cleaned up compiler warnings on half a dozen or more platforms in several parts of the code, fixed bugs in a lot of subprojects, integrated things better, updated the BSD::arc4random MirPort as well as TinyIRC, MirSirc, the irssi and XChat RANDEX plugins to include better version reporting and, for XChat, seedfile support and better responsibility. Now all I need to do is build more binaries and ports (DEB RPM OpenBSD FreeWRT etc.) of the subprojects, update Lynx in base and ports (there is a new major release out, even), update MirGRML, fix the HDD in my sparc, compile stuff, … you see I’m busy.

Here’s a “checksum and link collection” for today’s finest:

  • Simple CVS file drops
  • RMD160 (printf.c.1.10) = 8e8b88401a04474db973be07540a79b129919ff5
  • TIGER (printf.c.1.10) = 3cec4bc24074e88c7889143d19f7659ced17482115ea5afb
  • 3098389975 10575 /MirOS/dist/hosted/other/printf.c.1.10
  • MD5 (printf.c.1.10) = d09ae97aebac104f834d3d3ddd1702ca
  • RMD160 (arc4random.c.1.16) = b0caa3509d2cade6d86cb2c13e6b8817ced2d9a9
  • TIGER (arc4random.c.1.16) = ef6d7a281d451e28434b0e003990eebb47edd0cd4d899fd1
  • 2199066621 12558 /MirOS/dist/hosted/other/arc4random.c.1.16
  • MD5 (arc4random.c.1.16) = e8376a9b51c0ce08f5ed20722b05cad3
  • Simple subproject checkouts
  • RMD160 (mirmake-20090801.cpio.gz) = 79e0d15aab4c7a05690e66769c12dbeb3d99daa1
  • TIGER (mirmake-20090801.cpio.gz) = 2c6642b9515f38e736386945e72c06f402134ebf898613de
  • 788720631 372063 /MirOS/dist/mir/make/mirmake-20090801.cpio.gz
  • MD5 (mirmake-20090801.cpio.gz) = 47c63503210054d86db80040474f1f71
  • RMD160 (pkgtools-20090801.mcz) = 482dcf4b915a10bb6b76859f0c1755b67d6343bb
  • TIGER (pkgtools-20090801.mcz) = 3a622ac3c895c4af9df719dd30cfd3fe45e6d719cc34db5e
  • 2864495035 180188 /MirOS/dist/mir/pkgtools/pkgtools-20090801.mcz
  • MD5 (pkgtools-20090801.mcz) = 87378c95bde1c219d4a09e6bb8ccb897
  • RMD160 (rdate-20090802.tar.gz) = abac9ae8a08ac566d6c0396d39cd5d2cd724f7b0
  • TIGER (rdate-20090802.tar.gz) = f38a164e9d77412203349f79e8033c413335dd6f43a5cbf5
  • 3840714105 11987 /MirOS/dist/mir/rdate/rdate-20090802.tar.gz
  • MD5 (rdate-20090802.tar.gz) = a8fa4550b5a77cff6db1ed0a9d8aa357
  • JUPP (including Win32 binary)
  • PDF manpage
  • HTML manpage
  • RMD160 (joe-3.1jupp11.cpio.gz) = 7ade55cb8511600b3a9d77f37bc581b2d09ab2aa
  • TIGER (joe-3.1jupp11.cpio.gz) = b7bb4aa464b705e697ab2a52ad75fc8755a5817bfb83e09a
  • 805235529 419484 /MirOS/dist/jupp/joe-3.1jupp11.cpio.gz
  • MD5 (joe-3.1jupp11.cpio.gz) = 1e2f21a6fdebe678b125e96806267f33
  • RMD160 (JWIN31B.EXE) = f9eb9f6b3bd2a1bb5874e36d2dcc6dbdaabf75cc
  • TIGER (JWIN31B.EXE) = 771461b752114978ed64f67c01e3ef22a9a9cdf76fda6b11
  • 674256238 948176 /MirOS/dist/jupp/JWIN31B.EXE
  • MD5 (JWIN31B.EXE) = b2d3f1044221fdea76f15621e94e1ae4
  • mksh (including Cygwin package)
  • PDF manpage
  • RMD160 (mksh-R39.cpio.gz) = 5a5bcbe288e722f9772e27d2fdc36eee174bbb7b
  • TIGER (mksh-R39.cpio.gz) = 2a2c08ccf5e27365aa652663629789ade93b3d30c0d1d51f
  • 4103085544 278476 /MirOS/dist/mir/mksh/mksh-R39.cpio.gz
  • MD5 (mksh-R39.cpio.gz) = b2eeb4fe4ccac2704e1440e53cd2672c
  • RMD160 (mksh-39.1-cygwin.tgz) = 0cecd4ffb72f2d51a5c935da58e67350fab10e81
  • TIGER (mksh-39.1-cygwin.tgz) = 3157abadc40696bcb8df1d3574df571b728bef3d4d2ac2f2
  • 2818578374 144625 mksh R39 for Cygwin
  • MD5 (mksh-39.1-cygwin.tgz) = ca949841e39721be666e6a82803e7769
  • KWalletCLI
  • RMD160 (kwalletcli-1.00.tar.gz) = f04ebd39e9714212a915b6d7d4524c8cc2daaee7
  • TIGER (kwalletcli-1.00.tar.gz) = 0fc673c0c813608f0f0d863dfd924a6d62a8507c7bdf361b
  • 2355082724 11524 /MirOS/dist/hosted/kwalletcli/kwalletcli-1.00.tar.gz
  • MD5 (kwalletcli-1.00.tar.gz) = 76ef3c1d611a11ea13dc805d67d82208
  • RANDEX plugin for XChar (including Win32 binary)
  • RMD160 (xchat-randex-1.10.tar.gz) = fd61babbf4e5189f69dae8eb664ee2780433bf4b
  • TIGER (xchat-randex-1.10.tar.gz) = 6bd888b157fcd931e54b71e9778950cbfa675ae6b784ddd5
  • 2651117045 8702 /MirOS/dist/hosted/xchat-randex/xchat-randex-1.10.tar.gz
  • MD5 (xchat-randex-1.10.tar.gz) = d1585c5fae3ee531deeffc8314910553
  • RMD160 (randex.dll.gz.1.10) = a4aaa67cfdad1f9a1bcdc3eea797aff3a30703c4
  • TIGER (randex.dll.gz.1.10) = 55b2dcd7d790d28944d7424121cf5c6d4d386a99751fb556
  • 972086546 23998 /MirOS/dist/hosted/xchat-randex/randex.dll.gz.1.10
  • MD5 (randex.dll.gz.1.10) = 793ce548256efc6a23f7a37dde9215a2

An observation… mksh “print $RANDOM” on Cygwin is very slow, and the HKCU seed changes each time. This should be debugged, it shan’t unless RANDOM is being written to or 400k calls are done.

jupp development has been split into two active development lines: jupp for DOS (based on joe 2.8) and jupp for Unix (based on joe 3.x).

There are binaries for both DOS (jupp for DOS) and Win32 (jupp for Unix, via Cygwin) available.

The jupp for DOS development line incorporates only minor patches relative to the original source code (it wasn’t that buggy as the sourceforge development made the code later…) and a jupprc file tuned for it but feature-complete with joe-3.1jupp10’s one.

The jupp for Unix development line incorporates all of the very extensive patches to the binary, and an enriched jupprc with, due to popular demand, syntax highlighting enabled by default – even though I still loathe it personally, and feel with Rob Pike when he questions the use of pretty printers. It will also try to correctly guess CR-LF vs LF-only line endings, indentation, and terminal colour. Furthermore, the language selection of the jupp flavour is now en par with that of the joe flavour, and the Python variants honour the standard coding style of theirs (needed that by the third quarter of last year, remember?). Autoindent is still off, by default, though – with reason.

Now give it a try. Hint: ^J (Ctrl-J) invokes the help.

new netinstall snapshot for i386 online

17.07.2009 by tg@
Tags: news snapshot

The NetInstall directory contains a new intermediate snapshot of MirOS BSD/i386 built last night. I also brought the fixes for older snapshots a little more up to date. Enjoy!

The MirOS Project will be represented at LinuxTag 2009, Berlin, .de by tg@ with kindly sponsored buttons, some at the joint booth of AllBSD whose Daniel Seuffert kindly sponsored CDs and flyers as usual, and may be seen at the Holarse booth which has history with MirBSD™ on LinuxTag.

We will distribute MirOS BSD CDs (i386 Live, i386 Install, sparc Install, i386 MirGRML 2009.01) as well as grml CDs (containing grml 2009.05 Lackdose-Allergie, which includes MirOS bsd4grml/i386). There will probably not be any MidnightBSD CDs due to lack of an image in time for the deadline. Furthermore, besides the giveaway flyers, there are a couple of buttons for MirBSD, grml, mksh, MidnightBSD and Glenda from Plan 9. We would like to ask for a small donation (the amount does not really matter) in return for these; also, donations for the CDs are welcome to cover printing costs and will go to the respective sponsors (this is especially valid for the grml CDs, as they are not strictly covered by AllBSD).

The next event will be FrOSCon in St. Augustin, with tg@ as well as bsiegert@ and gecko2@ as usual.

mksh R38c released

10.06.2009 by tg@
Tags: mksh

The MirBSD Korn Shell R38c has been released. This is one of the everyone-should-upgrade versions because of the fixes for crashes and the likes. Read the online manual page in HTML – mksh(1) – or as PDF for printing.

mksh R38 released

27.05.2009 by tg@
Tags: mksh

The MirBSD Korn Shell R38 has been released. Most prominently, our developer wbx@ (Waldemar Brodkorb) has suggested to allow for expansion of “!string” style lines, and several things (string lengths, substring expansion) have been made more aware of UTF-8. Grab it as long as it’s hot!

mksh semantics for evaluating substring expansion ${strvar:pos:len} and string length ${#strvar} expressions has changed today. These operations now work on characters, not on bytes. Characters are octets in non-UTFMODE (which is pretty much the same as bytes, because mksh(1) is a BSD application and, as per style(9), allowed to assume certain things about the environment) and MirOS OPTU-8 multibyte character sequences in utf8-mode.

This means things like typeset -Uui16 -Z7 wc=1#${str::1} now do the right thing (getting you the MirOS OPTU-16 wide character value of the first character in the str).

mksh R38 will thusly be released RSN.

MirOS-current Triforce snapshot on BT

26.04.2009 by tg@
Tags: news snapshot

The Ostara 2009 snapshot of MirOS BSD #10-current (DuaLive™ technology and MirGRML 2009.01 making a Triforce™ CD) is available on a couple of BitTorrent trackers, our usual tracker and a few others for diversity (and so that they do have some legal content).

It's also available for NetInstall on both architectures.

MirOS #10-current: support code for 256 byte inodes has been reverted (backed out) due to regressions wrt. 128 byte inode filesystems.

MirOS #8, #9, #10, #10-current: It is advised to refrain from using the ext2fs filesystem, especially in read-write mode, because symlink code is broken. The filesystem, and all processes accessing it, become unresponsive (hang in D state) upon creation of a symbolic link or access of a filesystem where such a broken symlink(7) is created. MirOS #7 can be used to access filesystems such as these, but the broken symlinks can still not be accessed by penalty of a kernel panic(9).

MirOS #10-current: ext2fs will be mounted read-only by default for now, starting 2009-04-23, until these problems are fixed.

MirOS (recent but unknown versions): the async mount flag ceased to work as it did before, says bsiegert@

MirOS #7quater: Not affected.

Easter Snapshot – now with RELIABILITY FIX

12.04.2009 by tg@
Tags: bug snapshot

Yesterday’s snapshot has been amended with new kernels (bsd plus bsd.rd and, subsequently, cdrom10.iso) because of some pf(4) bugfixes (and SSL ones which do not really affect us). The FOSDEM snapshot upgrade instructions were also updated wrt. the new kernel.

Thanks to bsiegert@ for noticing this so timely!

Other than that… happy Ostara!

The i386 NetInstall directory has got a new snapshot of MirOS-current, built today from the sources of 20090410.

Expect a new snapshot for the sparc architecture next weekend.

The updated bootloader (fixes10.ngz) for the problem with the FOSDEM snapshot has moved.

The MirBSD Korn Shell R37c has been released. You do not need to update if you are already running R37b, unless one of the following items affects you:

  • Fix a file descriptor bug on Minix 3 (all users are affected, unless their Minix 3 version supports >64 fds already)
  • Support ACK on Minix 3 by means of a workaround
  • Change structure alignment and padding (affects people getting a SIGBUS or sometimes SIGSEGV on strict-alignment arches, e.g. IA64)

Since bsiegert@ has not indicated willingness to take over Freshmeat announcements of mksh releases, and I am almost unable and certainly unwilling to, this ceases our use of said site's services. Please use https://www.mirbsd.org/tag_mksh.rss to keep informed about things related to the MirBSD Korn Shell.

The MirBSD Korn Shell R37b has been released, incorporating a plethora of changes from R37, which was only available from CVS, and a few news by itself.

The new ‘-combine’ Build.sh option (gcc4 only) is about as noteworthy as the Minix 3 support. Users of Emdebian, FreeWRT and Beastiebox however will find that the new memory allocator has less overhead, i.e. the shell shrank in size. On the other hand, it is now much more standards compliant, especially wrt. “set -e”.

As such, mksh R37b is a strongly suggested upgrade.

Note: Freshmeat has a new website. I am utterly confused from it, both in Lynx and Opera, so I don’t know if this announcement has made it to there. I probably will cease to use Freshmeat, similarily as Slashdot, when it became unusable in Lynx. Damn “Web 2.0”!

mksh, the MirBSD™ Korn Shell, is not only the MidnightBSD /bin/ksh, it is now their default /bin/sh as well! See the commit message for details.

laffer1@mnbsd and tg@mbsd worked together to create compatibility code for the FreeBSD® ash extensions; the version R37 of mksh(1) used already has been proven as /bin/sh in MirBSD and FreeWRT for some time, and Debian as well, which provided valuable corner case tests leading to eventual bugfixes.

We can only suggest others follow ☺ Apple, pkgsrc®, where are you?

With sincere apologies to Han Boetes, the dynamically linked copies of the system binaries have been removed from the system due to performance and manageability issues. For the sysutils/fakeroot port, there is a documented way to recompile these yourself, dynamically linked; you better be sure to only do that if /usr isn’t a separate filesystem, because otherwise, the programmes will be unable to find the dynamic link libraries or interpreter.

During an upgrade to the next snapshot, the files in these directories will be replaced by symbolic links. However, it is usually not instantly safe to remove them, because, for example, the /etc scripts use them, your user shell will be /usr/dbin/mksh, and the likes. So be careful wrt that directory. – A fresh MirOS installation however will no longer contain it.

“CPAN is the host for hundreds of Perl modules. Creating ports for these modules is often trivial but may still take some time. cpan2port is a new utility available in MirPorts, the MirOS ports framework, designed to facilitate this task. It should be easily adaptable for other platforms, e.g. pkgsrc®.

“The aim of this talk is to present the implementation and practical usage of the utility. Interested developers from other BSD projects are very welcome, some hints for porting the tool will be given.”

The slides for bsiegert@'s talk at FOSDEM 2009 are now available on slideshare. Please note they require a Macrobe Flash player.

MirOS-current (post FOSDEM) heads-up

09.02.2009 by tg@
Tags: security snapshot

Note: the /etc/security daily cronjob has been adjusted to no longer warn about empty passwords for the anoncvs and anonrsync users: “anoncvs”, “_anoncvs”, “rsync”, “_rsync”, and by chance, “__anoncvs” and other versions with more underscores, too.

Due to bug-hiding circumstances, this problem was only identified during FOSDEM Sunday afternoon. The first stage boot loader would overwrite itself trying to load the second stage boot loader, due to them sharing the same 16-bit (64 KiB) segment after the workaround for the Parallels bug. installboot(8/i386) would pass the sectors covered by filesystem blocks, which amounts up to multiples of 8 or 16 KiB, even though the last block was not entirely filled. Fix is to do bounds checking in the assembly code at boot time.

An updated fixes dist set is available for people doing a network installation anyway, or to extract later with
$ cd /
$ sudo tar xzphvvf /path/to/fixes10.ngz

If you do a CD installation, you have to do the following steps:

Location of sets? (cd disk ftp http shttp nfs or 'done') [done] shttp
HTTP/FTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none] «Enter»
Server? (IP address, hostname or 'done') www.mirbsd.org
Server directory? [v10/i386] MirOS/current/older/i386

Set name? (or 'done') […] *

        [X] bsd
        [X] fixes10.ngz
Set name? (or 'done') […] done
Ready to install sets? [yes] «Enter»

This sequence will add the fixes set from network after finishing a disc installation, before the installboot(8/i386) part is run. Of course, you can substitute shttp with http too or specify a proxy to use.

If you have already installed, follow the above mentioned tar command to unpack the fixes set (in /mnt if you are still in the installer), then use the command:
$ sudo /usr/mdec/installboot -v /boot /usr/mdec/bootxx wd0
# /mnt/usr/mdec/installboot -v /mnt/boot /mnt/usr/mdec/bootxx sd0
(wd0 or sd0 depending on which is your root disc; the second line is for within the installer)

My (tg@) sincerest apologies for this bug, which was introduced during the Parallels Desktop BIOS bug workaround’s creation. Remember, if you already have an (unbootable) installation, you can do all this by booting from the CD again (into the installer/rescue kernel).

Update 11.04: changed link to fixes10.ngz to new location, now that a new snapshot is up.

Benny, read below before killing me.

AH=41h INT 13h is a function with which one can ask a BIOS if it supports LBA on a specific drive or not. The El Torito bootable CDs only function with LBA (EDD). A gzipped LBA test ISO is available for you to check your BIOS against it; I had not yet come across one which does not report it correctly.

Our new bootloader, instead of having separate copies for network boot, CD-ROMs, floppies and hard discs, asks the BIOS what type drive it is running on (both first and second stage). If we were to remove the check if LBA is supported on the boot drive from the first stage bootloader (the PBR, bootxx), it would no longer work on MFM HDDs, floppies, etc; besides, the second stage boot(8/i386) loader is still using it to distinguish CDs from hard discs.

Anyway: the Parallels BIOS fails the EDD installation check and, as such, does not conform to the El Torito standard. Our new bootloader just happens to expose that problem – try the ISO for yourself…

We hereby cease to support working around the brokenness in order to use one unified second stage boot(8) loader per platform for both local (HDD, CD) and network boot. Parallels should fix their BIOS.

As workaround you can make use of the functionality that MirOS ISOs can be dd(1)d to a hard disc and run from there. Just enter it as an additional hard disc drive instead of CD-ROM drive. Or use netboot (load b_i386.ldr and the bsd.rd kernel).

Update 31.01: tg@ has hacked a workaround – reporting this bug to Parallels is still recommended though.

It has come to our attention that a good share of the available binary packages for the last stable version have actually been accidentally built against a (very old) version of MirOS #10-current, thus demanding slightly newer libraries. We estimate this problem being resolved when the next batch of binary packages for #10-stable is built, although there is none scheduled as of yet, and a run for #10-current will probablt precede it. Sorry about that.

An analysis of the code in question however shows that it is almost certain to be safe – for the purpose of running the aforementioned binary packages only – to rename libc.so.41.0 to libc.so.41.1 to quell the warning encountered (or one of them, possibly, but the most frequent one at that). The addition of functions was almost certainly not relevant for MirPorts use.

We apologise about the inconvenience. If you run into any problems, please contact us on IRC or via the mailing list.

08.01.2009 by tg@

Tags: security

MirOS-current has security fixes for xterm (CVE-2006-7236, CVE-2008-2383) and OpenSSL (CVE-2008-5077) and updating from CVS is recommended.

On unrelated news, ports/net/irssi/files/randex.pl, the Irssi plugin for the MirOS RANDEX protocol to exchange entropy over IRC, has been updated as well.

New allegiances for mksh & Co.

08.01.2009 by tg@
Tags: grml mksh snapshot

mksh formed new allegiances: the Beastiebox Project (10x hubertf@TNF for mentioning) has added mksh(1) today, and the latest project of CcSsNET, CcSsLIVE (broken link removed 20100916), will include it soonish as well. Nicely, he already links to MirBSD, for he sits in our IRC channel usually and is one of the sparc users.

The next version of grml GNU/Linux might very well come not just with mksh(1) (except grml-small), but also with bootbsd.com née boot(8/i386) and bsd.rd (a slightly “tuned” version with added e3 editor and sans the Install/Upgrade/Shell prompt). On the contrary, I’m toying with the idea of adding a ports/sysutils/pxegrub for local boot along with a slightly tuned (add mksh at the very least) on the DuaLive ISOs if I find we have the space. We’ll have to work out something, licence and GPL-source-requirement wise, but we’re positive this would work out well. Considering just how good of a rescue system our bsd.rd kernel is, already, and what added benefit a minimal pretty standard Live Linux may provide.

The second-stage boot(8/i386) loader has gained several interesting new features:

  • When called as DOS .com programme, it defaults to DL=80h because no actual drive is passed from the BIOS
  • When named boot.com it can be run as SYSLINUX (ISOLINUX, PXELINUX, EXTLINUX) module and boot any OpenBSD/i386 and MirBSD/i386 kernels from local filesystems supported
  • In addition to 4.2FFS and ISO 9660, the code to support the FAT12, FAT16, and FAT28 filesystems works and is enabled now, for both booting and the “ls” command
  • If a hard disc has no type 27h partition, the disklabel is searched using the superfloppy approach (i.e., LBA sector #1)
  • If no disklabel can be found, one is spoofed with a somewhat reasonable ‘c’ slice, the four MBR primary partitions as slices ‘d’, ‘e’, ‘f’ and ‘g’, and an ‘a’ slice spanning either the partition passed from DS:SI via SYSLINUX, the first non-empty MBR partition, or the entire disc
  • The new command “cat” allows you to display files from within the bootloader, lest they be accessible
  • The new command “machine label [hd0a]” dumps the disklabel
  • You can place more than one command on the same input line, because ‘`’ now acts the same as ‘\n’ in the command parser; this is useful for instance if the serial console is not accessible from the boot loader, but required for the kernel, and using a boot.cfg is no option

The /usr/mdec/mbrldr, /usr/mdec/mbrmgr and the MBR built in fdisk(8/i386) have been upgraded to pass the partition data in DS:SI (or junk if reading from FDD or whole HDD)

*smile* Now we just need to make our bootloader multiboot-compliant…

If you want to track MirOS-current, be aware that /usr/libexec/cpp changed and /usr/bin/cpp is gone; you must compile and install a new cpp first, then stuff like rpcgen(1) and lint(1), then remove the /usr/bin/cpp script.

Furthermore, the gcc-provided shared libraries and items have moved from /usr/lib to /usr/lib/gcc/OStriplet/3.4.6 which you should add to shlib_dirs in /etc/rc.conf.local until you have rebuilt everything (base system and ports). Both mgcc and llvm-gcc add appropriate DT_RPATH to programmes and shared objects compiled with them and use their own crtstuff; mircvs://src/lib/csu/ now provides crtstuff for use with pcc(!) instead.

Expect a new i386 snapshot some time soon; sparc snapshots are planned more for the long term but could be compiled on request (ETA one week).

The C Præprocessor, cpp(1), in MirOS-current has changed.

/usr/bin/cpp is henceforth deprecated in MirOS-current as well as in MirOS-stable; it’s a shell script (overhead!) to call either mcpp(1) or Reiser CCCP. It will be removed in MirOS-current ASAP.

/usr/bin/mcpp calls GNU cpp directly. Its manual page used to be called cpp(1) and is now called mcpp(1). Since we are going towards a multi compiler system, people are expected to use “${CC} -E” as C Præprocessor in the future, instead of relying on an external cpp binary, when compiling. A cpp binary will still be provided for the X(7) Windowing System and similar uses. /usr/bin/mcpp will be removed some time before MirOS #11

/usr/libexec/cpp used to be Reiser CCCP without a manual page. It is now pcc cpp(1) with a manual page.

ahoka@ came up with the idea of using the (much faster) pcc cpp over the (rather slow) GNU cpp for purposes like Xresources, xdm configuration files, etc. Reiser CCCP could be used too, but it’s lacking in terms of standards and features. However, pcc cpp is under the Caldera licence, and thus, the following text must be reproduced in this announcement. (It’s still much more free than GNU cpp.)

This product includes software developed or owned by Caldera International, Inc.

Technical issues: pcc cpp uses getopt(3) and, as such, has a command line syntax which is totally different from the CPP standard. It also pre-defines neither any macros nor include paths. Be warned, and expect some breakage until everything is sorted out.

The MirOS Licence is now, after quite some years, OSI approved, which not only implies an official certification that it conforms to the Open Source Definition, but also allows mksh to be advertised as “OSI Certified Open Source Software”™, and has other benefits, for example qualifying for being hosted by certain projects, or fulfilling certain gouvernment restrictions.

While there has always been cōnsensus that The MirOS Licence is DFSG and OSD and, recently, OKD conformant, only some lists actually included it – the OKFN was quick to do so, but while it qualifies as both Free Software and Free Documentation licence as per the FSF definition, they have yet to respond to my enquiry, and the OSI list has only been updated last night (and could use some UTF-8 fixing, or, in this case certainly better, a downgrade to the ASCII version dubbed the licence template initially).

Still we’re glad that the OSI, although not encouraging people to actually use the licence, given their stance on “licence proliferation”, has done this step. It would be the first approved “copycenter” (as per Marshall Kirk McKusick’s definition) style licence with EU jurisdiction in mind while remaining generally usable.

We are proud to announce the migration of the httpd(8) vhost www.mirbsd.org to eurynome, the VM already mentioned in the Developers’ Weblog. The MirOS website is now accessible via HTTPS (this includes downloads in a secure fashion), using IPv4 or IPv6. Due to no longer being hosted on a foreign operating system, operation should be much more smooth. CVSweb, AnonCVS and AnonRSYNC are now provided from a central place, and you can even retrieve the full website via rsync.

The links in the mirbsd.de Zope kindly hosted by waldi also have been changed to use SSL now.

All links to the 66h.42h.de domain have also been changed to point to mirbsd.de or mirbsd.org, as the latter is now under sort of our control, and the former being phased out to reduce the possible points of failure.

MirOS-current DuaLive snapshot on BT

07.11.2008 by tg@
Tags: snapshot

The 2008-11-06 snapshot of MirOS BSD/i386 #10-current has been released as a new-style dualive CD image (BaseLive + Install CD for i386, Install CD for sparc, build logs) on the usual BitTorrent tracker, multi-tracked with a major BT site for these who pick it up there.

It's also available for NetInstall on both architectures. Note that this snapshot is identical to the 2008-30-10 one, but has been built using newer makefs(8) and baselive infrastructure.

This is the first snapshot with working startx(1) because we can now write symlink(7)s using Rock Ridge onto the filesystem image.

Today, a new snapshot of MirOS-current has been uploaded into the NetInstall area. The cdrom10.iso image is, as usually, a manifold-boot ISO 9660 filesystem which starts on i386 via El Torito, on i386 via MBR (if dd(1)’d onto a hard disc, USB stick, CompactFlash card, etc.), and on sparc via OpenBOOT. It also contains floppy images for i386 (one normal and three for serial console at COM1/tty00 at 9600, 38400 and 115200 bps, 8N1) and sparc. There are also CD images for serial console boot with the same parametres.

The MirPorts Framework snapshot, ports10.ngz, has also been updated. Note that we are still seeking port maintainers (our current policy is to update ports we use, which are often used, or we notice, or these someone asks us to, because we are understaffed), as well as people who use the MirPorts Framework on MidnightBSD and OpenBSD (and, to a lesser extend, Mac OSX). Furthermore, the pkgsrc10.ngz snapshot has been untouched since July 2007; if someone would like to improve the situation, for example by talking to the pkgsrc® developers responsible for stalling the integration, talk to ahoka@ (replaced in IRC).

This snapshot does not come as a DuaLive CD due to issues with both J�rg Schilling’s mkisofs(8), which has since been removed from the base system source tree, and NetBSD® makefs(8). However, we are trying to solve these and will produce one as soon as possible.

As of now, there are no binary packages compiled specifically for this snapshot; however, binary packages for older snapshots and even MirOS #10 RELEASE generally work.

RMD160 (paxmirabilis-20081030.cpio.gz) = 34c9a5913c9e69c8451d27d6ceeaa07cce6d3fef

Everyone who has been using the portable version of the MirBSD cpio(1), pax(1), tar(1) combined utility should upgrade, as the new version not only allows the executables to be called, for example, mirtar (to avoid breaking tools such as dpkg-source and lintian when they are in the $PATH), but also contains fixes regarding certain types of broken archives, such as these found in the Fedora Core 4 RPMs, which do not store the data content of hard-linked files packed with the first archive member but a later (the last). Furthermore, the ‘-v’ option may now be given multiple times to the cpio and pax, not only tar, frontend.

paxmirabilis is used, among others, in MirOS BSD, the MirPorts Framework, FreeWRT Embedded GNU/Linux ADK.

mksh R36 released!

25.10.2008 by tg@
Tags: mksh

The MirBSD Korn Shell R36 has been released yesterday; the Changelog contains more details as usual.

Major changes:

  • Digital UNIX (DEC OSF/1) V2.0 (MIPS) is now supported using the DEC C and ucode toolchain. (We could not run the testsuite, though.)
  • The ‘-Q’ option to Build.sh is gone without replacement.
  • A new option can be enabled by adding -DMKSH_BINSHREDUCED to $CPPFLAGS, intended mostly for Debian. This option adds extra code to determine whether mksh(1) is called as sh or -sh and switch to “set -o posix” mode if so, disabling brace expansion and some security features, because legacy scripts, such as debconf, depend on such reduced functionality /bin/shs.
  • Input lines beginning with an IFS character of IFS white space are no longer pushed into the history. Some other, less surprising, changes were also made to both Emacs and Vi command line editing modes.
  • The arc4random.c contributed file is now stored with the RCS version number appended, and has been updated.

This is a major update with improved stability and compatibility, and as such recommended in general. It has undergone more extensive testing than mksh R35; if there still be bugs, please report to us. Note that some sorts of behaviour are not considered bugs but expected, sometimes due to historical, sometimes compatibility reasons.

Request for Assistance: We are still looking for an OpenBSD committer to import mksh into the ports tree. Furthermore, a Slackware GNU/Linux package is still missing, as well as a PC-BSD PBI, and Macports (former Darwinports) do not carry mksh either. My earlier Minix 3 problem persists, as do the Plan 9 and Syllable Desktop ones.

Bugs in the current snapshot

26.07.2008 by tg@
Tags: snapshot bug

The following bugs are known in the MirOS #10-current snapshot, dated 2008-07-22:

  • The user shell for the default “live” user is /usr/dbin/mksh, which however has been optimised away. This is a bug in the production of this one snapshot and easy to fix in future issues. Workaround: while the rc.netselect script runs, choose ‘9’ to escape to a shell, and change the “live” user’s shell using vipw(8)chsh -s /bin/mksh live might also work, but has not been tested.
  • Running “startx” does not work because /usr/X11R6/bin/X is no symbolic link but a copy of the XFree86® server itself (on other baselive CDs it was a hard link instead of a copy; the change is due to production differences, but both break startx(1) and xinit(1)). Workaround is to use xdm(1) instead or try: startx -- /usr/X11R6/bin/XFree86 :0
  • The X11 server may not switch to graphics mode on the ALIX.1c board.

We apologise for the inconvenience caused, and will try to solve these issues in the next development snapshot.

MirOS Project @ FrOSCon 2008

22.07.2008 by tg@
Tags: event

The MirOS Project will show up with both developers to run a booth at FrOSCon; we will be giving away Live CDs (either #10-stable or #10-current) and flyers. You will be able to meet us and a few helpers (known from IRC and mailing lists) there, chat about mksh, have a beer, fun, whatever.

This year, one of the two XFree86® developers will also attend; you can probably meet him at our booth.

MirOS-current DuaLive snapshot on BT

22.07.2008 by tg@
Tags: snapshot

The 2008-07-22 snapshot of MirOS BSD/i386 #10-current has been released as a new-style dualive CD image (BaseLive + Install CD for i386, Install CD for sparc, build logs, a selected few binary packages and their distfiles, but nothing fancy) on the usual BitTorrent tracker, multi-tracked with a major BT site for these who pick it up there.

It's also available for NetInstall on both architectures. Note that /MirOS/ has been cleaned up a little: some old NetInstall or upgrade packages are removed.

The #10/i386 binary packages should all be installable on this snapshot, although it does come with more recent MirPorts Framework and a couple of current binary packages as well.

The MirBSD Korn Shell R35 has just been released; as per the Changelog this is a major update with some bugfixes, a lot of new features, and licence simplification (the advertising clause is gone). This version was not tested on AIX, BSD/OS, Interix, IRIX, GNU/kFreeBSD, UWIN, the Intel compiler, but we expect no regressions on these platforms either. New supported platforms include dietlibc, LLVM. Platforms already working continue to be MirOS BSD, DragonFly BSD, FreeBSD, MidnightBSD, NetBSD, OpenBSD, DEC ULTRIX, Mac OSX, HP Tru64, HP-UX, Solaris, Debian GNU/HURD, Cygwin, and various GNU/Linux systems; using gcc, pcc, SUNWcc, llvm-gcc, Compaq C, HP aCC, TenDRA; on a variety of hardware architectures.

Online manual: HTML, PDF (ISO A4 paper, we don’t support Imperial units, as even the USA has converted to Metric)

Update 18.07.2008 – mksh R35b is out, with major bug fixes, read the changelog.

As mentioned on the Downloads page, the naming scheme of the anoncvs mirrors changed, multiple times.


Tags: security

The CVE-2008-1447 does not, according to various sources, affect systems that randomise their source port. MirOS libc’s integrated resolver, according to some OpenBSD developers, does this, as does DJBDNS. The net/bind mirport is affected, but by using pf(4) to NAT yourself (thanks to Vutral for the suggestion), you can randomise these ports too. According to RUS-CERT, only using DNSSEC is a fix… I wonder if this is truth or advertising for a technique without wide-spread use.

update for 2008-05-14 snapshot available

15.05.2008 by tg@
Tags: snapshot

The fixes10.ngz set, of course gzsig(1)d, contains an updated mksh binary and dot.mkshrc as well as /.profile (root) and /etc/profile (user) files, which speed up logins, as well as an updated /etc/ssh/ssh_known_hosts file. It can be directly applied from the installer, or untarred in / (do not forget the 'h' and 'p' options to tar(1)). Note that this will overwrite any existing changes to these files:

  • /.profile
  • /etc/profile
  • /etc/skel/.mkshrc
  • /etc/ssh/ssh_known_hosts

Use this for integrity checking:
RMD160 (fixes10.ngz) = 6c85c3e8eb4a5046b5b45373a0996cee2a3208b7

Our anoncvs mirror has changed its ssh host keys due to a Debian-specific problem (it's hosted on a machine running Debian GNU/Linux courtesy of gecko2@). The new keys are: [Update: [old broken link removed] moved]

Please copy these into /etc/ssh/ssh_known_hosts or ~/.etc/ssh/known_hosts, overriding the existing keys for the same IPs or host names.

The current version of the /etc/ssh/ssh_known_hosts file can be retrieved via anonymous CVS (from the server affected), anonymous rsync (also from rsync.allbsd.org), CVSweb (from both servers) or by an eMail request.

Yesterday's snapshot does not yet include the new public host keys, as they were generated only today.

MirOS-current snapshot on BT

14.05.2008 by tg@
Tags: snapshot

The 2008-05-14 snapshot of MirOS BSD/i386 #10-current has been released as a simple baselive CD image (Live + Install CD, build logs, but nothing fancy) on the usual BitTorrent tracker, multi-tracked with a major BT site for these who pick it up there.

It's also available for NetInstall, although you shouldn't pick up the perl CVS fix in that directory, as it applies to a much older #10-beta snapshot.

The #10/i386 binary packages should all be installable on this snapshot, although it does come with more recent MirPorts Framework.

mksh, mirmake, pkgtools upgraded

12.04.2008 by tg@
Tags: mksh mirmake

The MirBSD Korn Shell R33d has been released, mostly containing a security fix for the -T option, see the Changelog for details.

A new MirMake version has been issued, to fix problems compiling C++ code with strange file extensions (.cpp as on Microsoft® Windows®, and .C as BOINC uses). MirMake is a sort-of-portable version of the MirOS make(1) utility, a few header files and a libmirmake.a containing helper functions, and some supporting utilities: install(1) lndir(1) lorder(1) mkdep(1) readlink(1) tsort(1)

The MirPorts Package Tools have been updated as well, as Lucas “laffer1” Holt, the MidnightBSD founder, has implemented ldconfig(8) -U too, and the use of this option by pkg_create(1) is now required for a lot of packages (since GNU libiconv, expat and libpng use their own fake-pkgview subdirectories.

Hashes of our current distfiles:

  • RMD160 (gzsigkey.cer) = 0a24e416b26e4753eee4cbfe8f1dc74f2486eb6e gzsig(1) distribution sign key
  • RMD160 (fwcf-1.05b.tar.gz) = 355e1a46ef384b4ca26cccb7892a2f60eff2ffe2 for FreeWRT
  • RMD160 (libnointl-20070726.tar.gz) = 3b97197a9bd8f693bebd8b528dd0d5c942e83e64
  • RMD160 (arc4random.c) = ad0ef189b7ffe80b9224b1f3886377847341bac5
  • RMD160 (joe-3.1jupp8.cpio.gz) = bbcc42ff82fd7a47feb51579864a487f31ca3a91
  • RMD160 (cksum-20080314.cgz) = 7566313c6db3182a99437eb6543b0da6abbed5bd
  • RMD160 (paxmirabilis-20080314.cpio.gz) = 3966925c2d87838b0b55e2a0c715f027df3d965b
  • RMD160 (ed-20060924.tar.gz) = 7d41e76e169caa73c8bbd043ad40b2b84339761a
  • RMD160 (mirmake-20080411.cpio.gz) = e18bd36bc6c260332ab5df008f30b57a9849bc50
  • RMD160 (mksh-R33d.cpio.gz) = d810a705b01e146f9addd184c168798a22a36d38
  • RMD160 (mpczar-20061119.cgz) = cccf88ae27225c808f327ae7d56dbd9f2c053249
  • RMD160 (mirmtree-20050912.cpio.gz) = b4de12ddfd022538732b2c14dad60c2351b3011c
  • RMD160 (mirnroff-20050912.cpio.gz) = 5063466a267a64b3f088c86a29e011b5ad712c4a for Interix ONLY
  • RMD160 (sitetmac-20071023.tar.gz) = 107e5b64ecbf1214e19681f6fc0add6599fef25d temporary
  • RMD160 (tmacmbsd-20071003.tar.gz) = 223c38916e489469703627b189f6fc16b9a36e27 temporary
  • RMD160 (patch-20051110.cpio.gz) = ac32b2b0a1e7203256ec4bd255c7525053afb3ed for Interix
  • RMD160 (pkgtools-20080411.cgz) = edf320a3798aa40c015e57c579310df754f28820
  • RMD160 (rdate-20070817.tar.gz) = 3501ae05c05d7c4f39ccb1c76dd51663c2b91e34
  • RMD160 (mirsort-20050912.cpio.gz) = 69a1a632c7343c09ca7bab39f6359667bb461c1c

mksh R33b, no, R33c released

28.03.2008 by tg@
Tags: mksh

The MirBSD Korn Shell R33b has just been released; as per the Changelog this is a minor update: portability fixes, support for dæmonising scripts, and manual page improvements.

Online manual: HTML, PDF (ISO A4 paper, we don’t support Imperial units, as even the USA has converted to Metric)

UPDATE 02.04.2008: mksh R33c is out, with a bugfix and a new fully supported OS (ULTRIX 4.5).

I thought these might come in handy for poor i386 users:

The ISOs itself (both El Torito and Live-HD/CF boot) as well as the included 1440 KiB Floppy images have been adjusted to automatically boot from serial console. To accomodate broken BIOSes (like the one from my VIA C7 server, or the Soekris COMBIOS), the bootloader does not wait for input, but instead directly boots into the kernel. This prevents you from using “boot -c”, but you can patch boot.cfg in the top directory of the ISO or floppy to achieve that.

Users of the sparc architecture just setenv input-device ttya and setenv output-device ttya instead; OpenBOOT can handle a serial console just fine out of the box and provides the speed as well.

MirOS #10 first binary update published

Tags: security release

The Errata page lists a binary update for the Sendmail and Apache security flaws and a shortcoming in the <bsd.lkm.mk> file. We advise to upgrade.

After 1600+ downloads, we think it has settled down a little. Nevertheless, we got a request to use a new form of distribution, the metalinks.

[link deleted 2014-05-13, we stopped using torrents]

There is also a list of errata for MirOS #10; we will issue a binary update within a few days, as at least the Sendmail bug is severe.

MirOS #10 downloads

Tags: release

We had about 1500 downloads of the full ISO in the last 4 days, which is actually making our primary mirror traffic problems.

Please use BitTorrent to download the full ISO, or use the NetInstall ISO instead.

You can also switch to one of the following mirrors:

Due to popular request: the SFV (CRC32) of the ISO is 76D0638A, more hashes are here, and for these who still use the insecure MD5, 0afb38491f7557b1f7bc9ec8997ca5b4 should matche. Note: the CKSUM.gz file hyperlinked in this paragraph is, of course, gzsig(1)d.

Note to avoid confusion: the release CD is no Live CD, but we do have Live CDs. However, only development snapshots are distributed as Live CD. It would not fit on a release CD due to the size of the data included, sorry.

We’re really surprised from the number of downloads – seems as MirOS has become popular. We hope that the traffic throtteling/limiting methods our hoster has installed on the Germany 1 mirror do not produce too much inconvenience for you. Thanks for using MirOS!

MirOS ξ relased

Tags: release

MirOS BSD #10 for the i386 and sparc architectures is our eleventh formal major release. Grab it while you can, either via the usual BitTorrent tracker, or use the NetInstall ISO (details on the Download page).

MirOS #10 focuses on Unicode support and a lot of improvements all over the place. The sparc platform is now fully supported again, and en par with i386 regarding the base system. MirOS thusly is almost a reference implementation of a 32-bit sparc OS now that Debian killed support, Gentoo wants to go that way too and the other BSDs focus on sparc64; and the reference implementation of XFree86® in modern open source OSes.

Read the release announcement, or the CVS ChangeLog files, for more information on this release.

Note that, while a lot of virtualisation software performs quite well (Parallels, qemu) or works (VMware Server, bochs, MS VirtualPC, Xen+HVM) with MirBSD, sadly, VirtualBox doesn’t. Due to a bug in it, a lot of operating systems do not work.

The MirPorts Framework now also runs on MidnightBSD, in addition to MirOS BSD (native), OpenBSD (legacy), Darwin and Mac OSX, and Interix (in theory). Support of individual ports for certain operating environments may not yet be given, but the infrastructure already works. Sadly, systrace(1) is not part of the MidnightBSD base system. MirPorts work independently of the native mports system, do not depend on it or interfere with it, as usual, and can be installed per user or system-wide.

There is a new RSS feed which does not encode the OS version after which it started. You must subscribe to it manually, as we have no way to embed it in any header; it is implemented as a symbolic link to the latest respective feed:


Of course, you can instead continue to use the versioned feeds.

There is a new MirMake version, with getopt(3) changes for Darwin again. We do not think that this has any effect on already-built packages, but be careful.

The variables FLAVOR and FLAVORS have been renamed to FLAVOUR and FLAVOURS, respectively, to reflect correct English spelling.

mksh R33 released

Tags: mksh

mksh R33 has been released; read the ChangeLog for details. (Happy Birthday to everyone who has on this day.)

The news in short and human-readable:

  • Improved build system, once again; better error tracking; better portability with regards to tools in /usr/bin at build and compilers
  • Integrate all changes from OpenBSD ksh
  • Integrate some changes from Debian: the “dot” command needs an argument; prevent namespace conflict between (built-in) aliases and (POSIX, not Korn) shell functions
  • Add \uXXXX and \xXX escapes to the print builtin
  • No longer check if we are called as “sh” for special handling
  • Implement here strings: you can now replace print -r -- "$foo" | command with command <<<"$foo" – like ksh93, zsh; GNU bash behaves differently if and only if $foo is not quoted
  • Implement string replacement ${var/pattern/string}

Especially cool feature: replace x=$(print -r -- "$x" | sed -e 's/foo.*bar/baz/g') with x=${x//foo*bar/baz}

Note: the distfile is not here yet, it’ll take a while to be released. Once it’s uploaded, the mksh homepage will be updated with appropriate information. UPDATE: It’s out now.

FOSDEM follow-up

Tags: event

mirmake-20080224 and assorted commits in the MirPorts Framework fix all known Mac OSX Leopard issues.

There are two BSD booths at FOSDEM: one with OpenBSD and FreeBSD (with DesktopBSD and PC-BSD CDs) at the usual place in the main building, and one with OpenBSD, NetBSD and MirOS in the AW building, near the shared PostgreSQL/BSD developer room. Meet us at the latter! CDs are out though (MirOS, FreeSBIE, etc. – only some of the other BSDs left).

Despite the crappy WLAN and no LAN availability even for booths, Benny and I managed to hack on stuff (e.g., mksh). We also made plans for a very short-term follow-up #10semel release; mostly, security updates for XFree86® and a lot of ports. (FOSDEM was great as usual, though.)

The <link rel=…> tags for RSS have been fixed. After removing and re-adding, they should work with Opera now, and the pages are XHTML/1.1 compliant again now.

Currently, pcc cannot compile anything with <stdio.h>.

MirOS @ FOSDEM 2008

Tags: event

bsiegert@ currently sits at the Early Bird beer event in Bruxelles, tg@ and gecko2@ will follow tomorrow and man the MirOS booth ☻

mirmake 20080218 released

Tags: mirmake

mirmake-20080218 has been released. Read the release notes here.

MirOS at FOSDEM 2008

Tags: event

The MirOS project will be present at FOSDEM 2008 in Bruxelles, Belgium. We will have a booth and distribute the usual CDs and flyers. The BSD projects share a developer room with PostgreSQL. I will hold a talk about "Build systems with autoconf, automake, and libtool" at Sunday, Feb 24, from 2pm to 3pm.

Update: the schedule for the developer room is available on the FOSDEM web site.

RSS feeds


RSS feeds (in RSS 2.0 format) are now available (again). The available feeds are news and wlog-9. link tags have also been placed, so your browser should be able to auto-detect them. If you have any problem, do not hesitate to contact me.

New website design


As you surely see, this page sports a brand-new design based on the old /newsite CSS and the old one for www.mirbsd.org. The colors have been inverted (i.e. dark text on light background) and the header has changed. If you happen to notice any problems, contact us.

The design was tested on Camino (Mozilla), Firefox, Safari, IE6, Opera, and lynx. I hope that covers the ususal suspects.

MirOS at 24C3

Tags: event

The project will be present (albeit without tg@) at the 24th Chaos Communication Congress at Berlin, Germany. We will have (maybe) a table in the hackcenter. There will be many interesting talks about hacking, society and similar topics.

Security updates

Tags: security

A security update for perl in the base system has been committed. To install it, update src/gnu/usr.bin/perl via cvs and rebuild perl. A binary upgrade for newer MirOS #10-beta versions (Linuxtag 2007 and newer) is also available. To install the latter, use

cd / ; sudo tar xvfz /path/to/perl-CVE-2007-5116.cpio.gz

The following ports also had security updates: print/cups (fixed in 1.2.11-1), devel/pcre (fixed in 7.4-0). Please upgrade those if you have them installed.

Update 20071221: cups-1.2.11-3 is out with more fixes.

Due to a technical problem, mail service for mirbsd.org is not available. tg@ is also absent but you can reach a MirOS developer at bsiegert at gmail.com (replace " at " by @).

Most notably, this means that the mailing lists, miros-discuss and miros-cvs, are not working. To keep up with recent commits, look at the Changelog. anoncvs and cvsweb do work.

mksh R32 has been released; read the ChangeLog for details. In short, an internal error when using pipelines as co-processes was fixed, array index bounds expanded, the build system improved, and everything cleaned up.

mksh R33 will address the namespace conflict between aliases and shell functions in a way Debian patched their pdksh package to go. This implies that FSH invocations will be able to define all common aliases again.

The first-stage bootblocks (bootxx) of both the i386 and sparc architecture are now self-installing shell scripts that take an extent list (block spans) on standard input. This now allows to create, for example, bootable ISO9660 images for MirBSD/i386 and MirBSD/sparc (or even both at the same time) on a MirBSD/i386 (or even GNU/Linux/i386) box. This is another milestone in the progress of making sparc a full-blown, supported, architecture.

The HTML manual pages have now been split into a machine-independent and a machine-dependent part (or rather, two of them) as well. This allows a much faster release generation on sparc. Furthermore, related manual pages, such as uuencode(1), uudecode(1), b64encode(1) and b64decode(1), now list all of their aliases in the title and are hard linked to save space and generation time (and hopefully search engine traffic, who knows).

mksh R31d released


mksh R31d has been released; read the ChangeLog for details. Basically, another busy loop spinning bug was fixed and everyone should upgrade. This release features PCC support.

mksh R31b has been released; read the ChangeLog for details. This quick follow-up release is because it fixes several important bugs etc.

OSF/1 support thanks to the IceWM coffee pot maintainer, Josef “Jupp” Schugt.

Update: On 09/11, mksh R31c was released, thanks to Josef “Jupp” Söntgen (aka cnuke@)’s very late bug report, which was done IRL instead of via IRC or eMail, which are the usual channels. This release fixes arc4random.c on SunOS due to them bad OpenBSD guys using non-standard types in an API.

Update 2: Everyone should upgrade to mksh R31b or later, due to the bug fixes and their relevance.

mksh R31 released


mksh R31 has been released; read the ChangeLog for details.

This release is dedicated to Bob “maradong” Hentges, Symlink Lëtzebuerg.

XTaran no SPARCstation XTaran of symlink.ch fame has finally helped us to test the latest, greatest and ultimately vt100, grey-on-blue / grey-on-black snapshot – as you can see, it boots up quite nicely. First, the text is still all black on white, but as soon as the framebuffer is initialised, that is switched to lightgrey on black, and further kernel messages are in our well-known, famous lightgrey on blue colour composition.
WARNING: The linked image is more than 1 MiB in size.

Furthermore, this very snapshot has been uploaded (for both the sparc and i386 architectures, with a readme for the former) to /MirOS/current and waits for your test results. We would be glad if someone could help us to fix the remaining bugs especially in the sparc port (nroff, issue with the bootloader and bsd.rd, etc).

The aforementioned XFree86 font issues have been solved provisionally by putting back the cropped and charset-reduced font sets; we will look into this issue after the release sometime.

FrOSCon 2007


This weekend, the project will be present at the FrOSCon 2007 at the FH Bonn-Rhein-Sieg near Bonn, Germany. There is going to be a booth where you can meet the developers, and bsiegert@ will hold a talk about autoconf, automake, and libtool—an introduction to the GNU build system on Sunday at 16:30, room 5.

Note the wlog entry about FrOSCon – more entries will follow, stay tuned.

The CDs to distribute are still not done, sorry… it’ll be an adjusted LinuxTag edition, no more, not even more recent dist sets, due to all the trouble we had.

tg@ and bsiegert@ are appearing at the FH site later this evening and are open for food’n’beer suggestions from donators ☻

MirOS BSD #10 is coming near. The fourth release candidate for i386 has been released. Grab it via HTTP for the i386 or sparc platform, or do a network installation.

Caveat: There is a bug in some of the fonts.alias files from the xbase set. If X fails to start, enter the following commands to fix the problem:

$ sudo ed /usr/X11R6/lib/X11/fonts/misc/fonts.alias

Note: this affects both the i386 and sparc snapshots!

Hardware problems


Our main cvs and mailing list server, herc.mirbsd.org, has some hardware problems at the moment. This means that the mailing lists are down until further notice. Anonymous CVS access (not from allbsd.org), this website, and BitTorrent are working fine though.

Read/write CVS access to CVS for developers will be restored in one or two days, making tg@’s SPARCstation the temporary CVS master.

Waldemar Brodkorb (wbx@) has donated hardware to act as a supplemental AnonCVS/AnonRSYNC server, which is being initialised and tested right now, as the hosting site only accepts boxen that have passed a typical stress test. Eventually, this box will act as a secondary mail server as well.

For now, please use IRC for bug reports, feature requests, feedback, etc.

Update (2007-08-24): We’re almost back to normal, the server hardware has changed a little until proper replacement can be used (with proper, I mean replacing the IDE crap with SCSI, etc. while we’re at replacing anyway, and actually investing some – well, a lot of – money and effort). Mailing lists work again, and commits will be enabled for developers during short timeframes a few times per day, with immediate rsync actions being taken afterwards just to be on the safe side. This however means: FrOSCon CDs will contain older versions of MirOS, big financial loss for us, and MirOS #10 will be delayed for a yet unknown amount of time (but sparc is finally ready since 23rd).

After FreeWRT, MidnightBSD, a FreeBSD-based operating system, has adopted mksh as its default Korn shell, that is, /bin/mksh and /bin/ksh (but not as /bin/sh). While the current state of integration uses mksh R30, the upcoming R31 release with features requested by MidnightBSD developers will be integrated soon.

We would like to thank the developers of MidnightBSD for considering this and congratulate their users to gain a usable-by-default shell. We would also like to encourage other operating system developers to follow this example and integrate mksh (or, like OpenSolaris, AT&T ksh93).

The BitTorrent tracker now has a torrent for the MirOS #10 RC3 Live+Install CD; of course, the netinstall location has been upgraded with the new dist sets as well. You can now select a keyboard layout during livecd boot, and it's been made more user friendly; many small bugs have been plugged; everyone's favourite shell is at R30-current with support for TenDRA and maybe tcc, and several ports, most notably GNOME, are in good shape.

Please report errors back to us; we don't plan on making any further changes to the codebase save bugfixes and maybe some more changes to ports.

mksh R30 released


mksh R30 has been released; read the ChangeLog for details. FreeWRT, Debian, FreeBSD Ports, MidnightBSD mports, MirPorts, RedHat/Fedora, the OpenSuSE Buildservice all have it already; we expect others to follow.

This release is dedicated to everyone who helped with portability.

On boot, if the kernel were to drop into ddb(4), it would panic again, rebooting over and over, due to an uninitialised timeout(9) in random(9); this was fixed today.

With apologies to every Debian user who is still on sparc32, XTaran of Symlink fame has provided us with the idea: We aim to produce an operating system for 32-bit sparc boxen that is small, fast, stable, reliable and secure. MirOS/sparc is its name, and while it's currently being dormant, I promise it will be polished and shining in a short while. (I hope to get the issues I had some weeks ago solved, even at the cost of Ada support should that be necessary.)

I could use some parts for my SPARCstation 20 though: it only has a 75 MHz supersparc CPU and 128 MiB RAM; if someone has a 233 MHz hypersparc CPU (I think Ross built these) I'd be delighted to upgrade, and more RAM never is bad. I've got some SCSI discs from tyler, so that's not urgent.

mksh now builds with IBM XL C/C++ on AIX – Linux/POWER and Mac OSX shall follow once I'm able to test. Thanks to the person who wishes to remain anonymous for providing us the ability to do this porting work.

FreeWRT, an embedded applicance development kit, has adopted mksh as its default shell and /bin/sh for the upcoming 1.1 release.

We would like to thank everyone for their support and feedback, hope that the upcoming mksh R30 will please even more, and suggest other projects, such as NetBSD®, to switch at least their native ksh to mksh.

mksh R29g has been released mostly to fix large file support in some operating systems (mostly GNU), which was tested for correctly, but the test result was not used during the actual compilation. Found by hondza, thanks! This stable version update also contains some other minor changes from mksh-current that don't affect existing behaviour (so none of the nice features shown earlier) which aren't that noteworthy though. There's still an issue in that -D_LARGE_FILES=1 is defined even if it's not required sometimes, which is fixed in mksh-current, but it doesn't hurt.

German penal and crime code, Article 202c, forbids us from “retrieving, making available” (and some other things) tools that can be used to gain illegal access to data or access codes. While we do not approve of this law at all, we will be forced to abide by it in a few weeks (once it's been published in the print version of the parliament's papers), so tcpdump(8) was removed from the base system. We do not believe providing MirPorts makes us liable for the actions of the end user, and hope no other tool in the base system is affected by this law. We will try to make politicians realise how bad that is, as they are effectively preventing sysadmins as well as researchers, teachers and students from securing systems. (Maybe they just want to make us affected by the Federal Trojan?)

We've finally implemented another bash-compatible feature in mksh, namely variable substitution with substrings. Try print ${var:2:3}. The first character after the (first) colon must be numeric, an opening parenthesis, a dollar sign or a space right now; use ${var: n: m} for the bash ${var:n:m} (or ${var:$n:m} or even ${var:(n):m}). All of these are bash-compatible. This doesn't nest in either mksh or bash.

More features are to follow ☺

To install MirOS BSD, please use a direct download (or even netinstall from the same place) at the moment. We will provide MirOS #10RC2 as a Live+Install ISO image again at some time in the future (give us 1-2 weeks); MirOS #10RC1 contained a bug regarding the live CD part which went for a few days undetected; the creation of the ISO fell into that timeframe.

On a side note, the series of GNOME port updates is continuing.

Countless users have requested we do the same as AT&T ksh93 and bow to the “be conservative in what you send, be liberal in what you accept” approach. Regarding to shell programming, this means we should support some of the most widely used extensions from other shells (ksh93, bash, zsh, csh, make(1)) as well.

Some hours of continuous cursing later, it's done. The current development version of mksh R30β now supports GNU bash style array initialisations – and better than they, I might add:

  • OpenBSD ksh (from OpenBSD 4.1-current, 17 May 2007):
    	$ x=(a b c)
    	/bin/ksh: syntax error: `(' unexpected
  • GNU bash (from MirPorts Framework, 2.05b-1):
    	$ v="d e"; x=('$a' "$v" c "(d)"); echo "${#x[*]}/${x[0]}/${x[1]}/${x[2]}/${x[3]}/"
    	4/$a/d e/c/(d)/
    	$ v="d e"; x=('$a' "$v" c (d)); echo "${#x[*]}/${x[0]}/${x[1]}/${x[2]}/${x[3]}/"
    	bash: syntax error near unexpected token `('
    	Segmentation fault
    	$ v="d e"; x=('$a' "$v" c "(d)"; echo "${#x[*]}/${x[0]}/${x[1]}/${x[2]}/${x[3]}/"
    	bash: syntax error near unexpected token `;'
    	Segmentation fault
    	$ bash -c 'v="d e"; x=('\''$a'\'' "$v" c "(d)"'
    	bash: -c: line 1: unexpected EOF while looking for matching `)'
    	Segmentation fault
    	$ bash -c 'v="d e"; x=('\''$a'\'' "$v" c "(d)"; echo "${#x[*]}/${x[0]}/${x[1]}/${x[2]}/${x[3]}/"'
    	bash: -c: line 1: syntax error near unexpected token `;'
    	bash: -c: line 1: `v="d e"; x=('$a' "$v" c "(d)"; echo "${#x[*]}/${x[0]}/${x[1]}/${x[2]}/${x[3]}/"'
    	Segmentation fault
  • mksh (-current as of tonight):
    	$ v="d e"; x=('$a' "$v" c "(d)"); echo "${#x[*]}/${x[0]}/${x[1]}/${x[2]}/${x[3]}/"
    	4/$a/d e/c/(d)/
    	$ v="d e"; x=('$a' "$v" c (d)); echo "${#x[*]}/${x[0]}/${x[1]}/${x[2]}/${x[3]}/"
    	mksh: syntax error: '(' unexpected
    	$ mksh -c 'v="d e"; x=('\''$a'\'' "$v" c "(d)"'
    	mksh: syntax error: ')' missing
    	$ mksh -c 'v="d e"; x=('\''$a'\'' "$v" c "(d)"; echo "${#x[*]}/${x[0]}/${x[1]}/${x[2]}/${x[3]}/"'
    	mksh: syntax error: ')' missing

As you can see, we're continuing our not only tradition but also mission to provide working, reliable software. (If you try interactively typing one of the last two examples, mksh just waits for the closing parenthesis.)

Furthermore, our portability promise is kept – mksh now also compiles fine with the vendor tools on HP-UX, which even have found a little shortcoming in the code I only can shake my head about… no idea who coded that ugly thing…

On unrelated news, bsiegert@ has continued his work on bringing the GNOME ports into shape for the impending release of MirOS #10.

Thanks to a contributor who wishes to remain anonymous, mksh is now officially shipped for Red Hat's GNU/Linux variants:

  • Fedora 7 (i386, amd64, ppc, ppc64 using gcc 4.1.2 and glibc 2.6 at Linux 2.6.21)
  • Fedora Core 6 (i386, amd64, ppc using gcc 4.1.1 and glibc 2.5 at Linux 2.6.20)
  • Red Hat Enterprise Linux 5 (i386, amd64, ppc using gcc 4.1.1 and glibc 2.5 at Linux 2.6.18)
  • Red Hat Enterprise Linux 4 (i386, amd64, ppc using gcc 3.4.3 and glibc 2.3.4 at Linux 2.6.9)

We were informed that the all of these pass the testsuite. Fedora 7 quality assurance is being run on it until approximately this weekend; to install mksh, simply type yum install mksh (for RHEL, you'll have to enable the EPEL repository first).

The Fink package manager for Mac OSX now also contains mksh R29f.

bsiegert@ will hold a talk about GNU autotools, libtool, and how to use it right at the second FrOSCon in St. Augustin near Bonn, Germany.

Of course, there will be a BSD booth with all the usual suspects and goodies, so feel free to come over and talk to your favourite BSD's developers in person.

The MirOS Project is proud to announce the availability of the first release candidate of the upcoming eleventh release of MirBSD, together with a stable release of the MirPorts Framework. This snapshot already advertises itself as MirOS #10 except for the OS patchlevel number and is available for download for the i386 architecture only.

Download, as usual, on the BitTorrent tracker (Live CD), or via a networked installation from various mirrors (DE JP).

On unrelated news, work on the 32-bit sparc port has started again – mostly due to request from users (quite reassuring). Thanks, guys!

The MirBSD Korn Shell (mksh) now can not only be built by the GNU Compiler Collection, egcs/gcc 2.95, the GNU C Compiler, and the (quite gcc-compatible) Sun Studio 12 C Compiler, but also by the Sun Studio 5.8 C Compiler on a Solaris 10 installation. Adding support for other vendor compilers will be much easier now.

These changes can be tested in the -current branch of mksh (and MirOS BSD) and will be released with the next major version, mksh R30. Furthermore, a few minor bugs were fixed and mirtoconfiguration is a little faster and more reliable now. Some of these changes may be MFC'd to mksh R29g, whose release date has not yet been decided upon (reads: when do you need it?).

Update: Intel's C Compiler (Version 9.1.042 and 10.0.023) work as well and have unveiled a few minor issues. The code is now smaller due to removal of orphaned code and variables GCC didn't spot. (I don't like icc though.) And in unrelated news: while we do now support OpenBSD's new CVS keyword $Mdocdate$, we will not use it, so that the mksh(1) manual page remains usable on other operating systems.

New look and feel

03.06.2007 by tg@

Some of you might have noticed the new look & feel creeping onto a few of these pages. Well, after LinuxTag (it was a success, but not like they say in their press announcements, I'm rather laughing at these) and FreeX, whose latest issue has an interesting article about MirOS BSD, and with mksh(1) getting more and more popular, I decided to skip on sleep and fun today and continue hacking on what I had already done for the website. Mostly content today. The MirBSD Korn Shell page got completely rewritten. If you find something, tell me. The theme will probably stay similar like the current one, not like Benny's, but the index on the left will look totally different in some days. I'm only migrating (very) few of the old content. At the moment, “main”, “news”, “mksh” and “wlog-9” are converted, and the old CMS has been hacked for transparent migration to the new CMS (“mws”) using HTTP 301 redirects. Same goes for manual pages (/manN/ -> /cman/manN/) to save space on search engines' hard disc drives. Finally, news and wlog now have permalinks (beta).

UPDATE (02.10.2007): Manpages now have better md redirects, and you can use various syntaxes, including /man/foo.1 or /man{i386,sparc}/bar.8

惣流・アスカ・ラングレー (well, just call him Soryu) and NetBSD®'s Stefan Schumacher have taken photographs of the MirOS team (the Duo Benny and me, Przemysław who run the booth as a mere user, and Much, whose new notebook got freshly set up, but who already knows how to like MirOS with evilwm); I'll put them up here once I get access to all of them.

Because we ran out of CDs, we put the ISO 9660 image on the BitTorrent tracker; please only redistribute it on CDs, DVDs or USB Sticks in order to comply with the licence of the Opera© browser included. You can, of course, also simply do a netinstall.

Update: the pictures are here!

[image] Benny bei der Arbeit (benz at work)
[image] Dæmonische Bilder: Benny (benz, Developer) – bsiegert@
[image] Dæmonische Bilder: Thorsten (mira, Developer) – tg@
[image] Dæmonische Bilder: Przemysław (zeno, User & Booth Staff) – przemek@
[image] Benny, Przemek, mira and much, whose laptop just got freshly installed…

The last picture was made by Stefan Schumacher, thanks!

We are present in a joint booth with AllBSD.de on Linuxtag 2007 in Berlin, Germany. The booth is located right at the entrance. Live CDs are out, alas.

mksh R29f released


mksh R29f is a bugfix release. It fixes some horizontal scrolling bugs discovered by David Ramsey. Thanks a lot!

The BitTorrent Tracker offers a Live and Install CD ISO image of the current development branch for download. This snapshot contains security fixes for at least OpenSSL, OpenSSH, httpd, the kernel, as well as bugfixes for ftp, lynx, and many others.

mksh R28 released


The MirBSD Korn Shell R28 has been released. An upgrade is highly recommended.

MirPorts heads-up


Due to the introduction of a new ld wrapper, you will have to re-do "make setup" (or a similar command line) after updating the infrastructure from CVS.

New web server


We changed our web server. The former mirsolutions server is no longer. gecko2 hosts the box behind www.mirbsd.org now. waldi's Zope is still operational and helps a lot.

MirOS #9 released


MirOS #9 is available via our BitTorrent tracker. There is also an HTTP(S) download/netinstall option.

Please read the errata.

In case you have acquired a MirOS CD-ROM "FOSDEM 2006" edition please verify the checksums of the data on the CD. Some of the CDs we distributed at FOSDEM were burned from a bad ISO.

All 1 2 3 4 5 6 7 8 9 10 11 12 13

MirOS Logo