MirBSD – WTF, We Have a Release!?

Sponsored by
HostEurope Logo

MirBSD – WTF, We Have a Release!?

bottom or older editions

27.12.2005 by bsiegert@

We finally have a new release, over two years after #7! To celebrate this event, rotate the wlog and start a new one.

27.12.2005 by tg@

I've been prodded by bsiegert@ to write here again. Curious, isn't it? After the last release I've been the only one to write here. But today is somehow unproductive... I can't get myself to do something; will probably hunt some autoconf bugs later. I got a new laptop HDD, 80 GB and waaaaaay faster, and re-installed BSD. pb@openbsd, who has arrived at the OpenBSD booth @22C3 in the meantime, didn't recognise me as I showed up in front of him until I threatened to throw all 70 or so MirOS CDs we have at them.

28.12.2005 by tg@

Another very cold (outside) and hot (inside) day at the 22nd Chaos Communication Congress (Berlin, Germany). The "others" are out for food (bsiegert@, a friend of his and our booth slave), Thai, this time, while I'm still sitting here and just fixed mplayer (that included fixing and upgrading a shitload of other ports). Drinking a newly found thing, vanilla flavoured Soy milk, and a local specialty (Faßbrause) I'm hacking away, while the NOC complains that we, all of us together, are using a mere 7% of the 16 Gbit/s uplink, and the CAcert.org guy is seemingly confused (but they at least do their thing so that it WFM).

Opera segfaults, and I guess my next target will be porting ptrace support for the Linuxulator from NetBSD®, or asking Kurt Miller, who seems to have already done it, for his patch. Drinking more milk and juice and less alcohol during the night time should also help... but I'm more sleepy than really tired. They offer Club-Mate, but not the brother IceT, so I'm left off the caffeïne circle (coffee's too expensive as well).

I notice I can't write coherent "day-to-day palaver" log entries... I s'pose I should go back to coding. Who is going to read this anyway? People are busy complaining the FTP servers are slow (I think FTP deserves to die fast anyway).

29.12.2005 by bsiegert@

I am writing this just after midnight, so the second day of 22C3 has just ended. Did some updated ports for GNOME 2.12.2, hopefully I will have it finished by the time GNOME 2.14 comes out ...

I saw three more or less interesting talks today. The first one was by Dan Kaminsky is called "Black Ops Of TCP/IP 2005.5". He basically showed what you can do with a really fat pipe: scan the entire internet! He also showed a real-time traffic graphing tool and an estimate of the number of machines infected by the Sony rootkit: at least 700.000 machines, more likely over a million. To quote Bruce Schneier: "What happens when the creators of malware collude with the very companies we hire to protect us from that malware?"

After that, there as a talk about PyPy, a Python implementation written in Python. This actually makes sense because it is self-hosting and it can translate Python code into C and even JavaScript for native compilation. The third talk was a real highlight -- "Das literarische Code-Quartett". Examples of good and bad code, commented in a very fun way. Definitely a must.

30.12.2005 by tg@

The chaos continues. But some real work is done – we now can support the scenario "some shared library depends on another of their kind" (for now, only unofficially, but it will be MFCs by bsiegert@ I think).

Today is clean-up and go day. We asked the people from OpenBSD (we have to clean up and work, no time), NetBSD® (they want to drive away early, like 18:00, due to the weather), DragonFly BSD (they say there will be ice rain so they'll hunt home at 15:00) to eat with us at the great Indian restaurant, and FreeBSD didn't even show up (the same procedure as every year). But we're gaining popularity not only among the other BSDs, but as well with the congress participiants (a spokesman calling them "Dear congress... err... people" in a speaker announcement).

Some media are writing off each other, leading to people believing we have released MirOS Windows XP or something. We had to unconfuse; we hope to be able to correct this mistake in each publication where it shows up.

I've got headaches. Everything is being broken down, including the big HP switches, so the network'll probably cease to exist RSN. Benz is watching a last presentation, then we'll head to the Indian, then back home. See you all in the new (christian/western) year!

01.01.2006 by tg@

I've hacked on an enforcement for ports versioning and drafted the "package era" scheme we'll probably be using, pending results of the discussion with all other active MirPorts developers (hrhr).

The INDEX was regenerated after I fixed several ports with damaged version numbers but the versions used before that are quite probably not upgradable.

sirc and ssfe are now capable of displaying "cool looking" unicode (and ASCII) time stamps.

I changed all my (user and root) passwords and generated a new ssh key after returning from 22C3 (where I shut down the boxen remotely, as the last thing before they switched off the network). This is the best thing to do, since keys and passwords should be rotated yearly, or at least periodically, anyway, and I can't think of a better time than after the Chaos Communication Congress.

02.01.2006 by tg@

I've ordered a new dedicated server which will cost me a lot less, namely 19.90 € the first 18 months and then 29 € (also per month) with the same functionality at the same hoster. I'm compiling a new snapshot these days to set it up with this – so thor has outlived and will not be continued, but switching will not be a pain either.

My friend bogus was here for a bottle of Met and just did the same. The new hostnames will be fungor (his choice) and... well, 魔王 (まおう) is mine. The meal we had at the yugoslawian (croatian) was tasteful, by the way.

I baked an Atheros kernel for gecko2's Soekris net4801 he purchased (which was formerly known as loki) which works... much to my surprise. But it's not ready for commit, e.g. I nuked the wi(4) support to compile, ifconfig(8) doesn't operate properly, etc. (but he can access wireless LANs with it). I wouldn't buy ath(4) tho (I just don't trust them).

I somehow miss bsiegert@ here – there's lots of fixes he may (should) be doing now...

Somehow we're gaining good press and user reviews (and slander which shows that the "others" are not only recognising us but also see us as dangerous to them (their popularity? user base? I've converted at least one OpenBSD person to MirOS during 22C3). Nice to know.

I tought bogus some MirPorts and upgraded the ext2fs-progs port in the meantime (also adding a static flavour later, to benefit a weird setup of my new dedicated server). The idea is to have a 16 MiB wd0a with a partition ID != 0x27, containing a /boot installed with -P as to recognise the partition, and one or two ramdisk kernels, and some text files (e.g. disklabel, fdisk output). Then, a 16 MiB extfs with a gzip'd image of the first 16 MiB (including MBR, PBR, 4.2BSD FFS), a stand-alone MBR, and what else you could need to recover. The rest is a standard 0x27 partition with the wd0a of a regular boot, /home, swap, whatever. The "irregular" wd0a need not even be in there.

13.01.2006 by tg@

I've fixed a few things (code cleanliness) and built a snapshot to see if it works (another one – there was one on 03.01. already which bsiegert@ has announced today at freshmeat). This one also has taken care of the always changing domains. I'm updating MirOS #8 (by mkdir updates) with current MirPorts as well.

My little brother and bogus came here, teaching me Maths, drinking Met and having fun, after a good meal. I need it; university is some weird shit, something else really. It's not my favourite but I still want to do 2 semesters before going to work (so I can continue later if I want).

Nothing else in peculiar... bsiegert@ has got a girlfriend, thusly #8-stable is lagging quite a bit. My new dedicated server also could need some more attention.

15.01.2006 by tg@

Things are settling down... installed software on 魔王 but still not complete. It now does mail (for all domains), OpenVPN, a minimalistic www proxy, and of course NTP and its own (non-public) DNS. But that's about it. Time will show.
Also, I need to phone the hoster regarding the domain issues. They're worse than appearing at first, since the wildcard is gone.

Fixed some annoying minor bugs in roff2htm and /cvs/CVSROOT.

17.01.2006 by tg@

Wow, I've been attending university once again. This time for that #1 boring thing – Economics (BWL), held by a female VWL doctor with a voice more cruel than should be allowed... at least we do not have to do an exam, only attend and do a presentation and home work. And I scored well in English (the other class in which attendance is mandatory). I've worked on my Maths, and theorectical CS is trivial. But as for the others, I don't know. Plus in the beginning they told us that we would automatically be subscribed for the exams – I was told today I should better have done that myself in December. So I probably can't do any exams except English this semester.

Been working on djbdns today, once again. Now I've incorportated a lot more patches (from tinydns.org) and can do AXFR via inetd(8). So I will probably use AXFR and NOTIFY requests in the future, with two friends (bogus and maybe gecko2 or someone else) doing backup NS for me (and HERC might still do too, but using classical rsync/scp). And the best thing: it actually works and required virtually no patches. There's still no (working) UCSPI-TCP port though. We did have one in the past, from OpenBSD, but it never worked correctly, nor addressed all the issues we had with it. (DJB sucks.)

I discovered more bugs in pkg_upgrade(8) which bsiegert@ hopefully will fix (or at least decide which fix is correct, I can think of at least three possible fixes, preferring the one most complex).

I had announced the snapshot of Jan 13 on FM and it actually showed up.

*.mirsolutions.de works, once again. Costly phone call to the provider sponsored by yours truly. Now go and donate some money via PayPal.

The comment on the GPLv3 actually got modded +1, Insightful on Symlink, the German slashdot equivalent (which, in contrast to its English counterpart, still can be accessed with Lynx correctly).

A new Call for papers by the FROSCON Orga. This is dubbed the "LinuxTag Bonn" and replaces the former LinuxTag Karlsruhe (now Wiesbaden, where ever that may be) for us... we've organised a BSD room (the orga team are drinking mates of mine so it wasn't too difficult). DragonFly BSD will come (per Joerg) and Wim will obviously attend. NetBSD® hopefully will appear too; as for FreeBSD® I couldn't ask them since they weren't there (again as usual) at 22C3. The OpenBSD magazine has it too (as does Symlink).

Did I mention our kernels are now always gzip'd? And we now got a permit to use GNU FDLd sources in CVS by RMS himself (please read my enquiry, with definition of "IT", too).

I tried to ask the Opera guys for a statically linked native Linux binary or even (preferred) an OpenBSD binary. They told me some info about glibc and Linux incompatibilities, I'll try...

Older mailing list activity includes: an analysis of handling this year's leap second (FreeBSD 0, MirOS 2), FOSDEM, user enquiries, and spam. I suggest you read it for yourself.

20.01.2006 by tg@

Published a cpio ball of ocvs+ncvs1 and historic. bsiegert@ agreed they be closed and sealed now. It's only on herc and maou tho.

Slowly going on with setting up maou. After all, thor''ll cease to exist mid-February, IIRC.

Removed ads. G**gle closed my account for supposed abuse.

Added Debian GNU/Linux i386 emulation libs; makes Opera work. I'll hack it up even further though.

I think I'll use /usr/bin/logger in axfrdns (net/djbdns).

Planning on putting this on Planet Symlink (by a conversion script to be hacked) – aus der es-ist-zwar-kein-blog-aber-warum-nicht Abteilung... I wonder if XTaran will do it.

Enough for today. Gotta do some work; then dinner at the Croatian, with wbx, le, Angelo (the first Mac OSX worm creator), Judith, miro, bogus etc.; then using the usual place to hang around, maybe hack on the website some more.

24.01.2006 by tg@

Got something decent to eat, drink (beer, cola) and snack. Hacked, djbdns-axfr, sirc/ssfe now improved, savecore(8) does gzip(1)d files and the zlib API sucks. compress(1)' implementation also sucks.

All hardware sucks, all software sucks... but actually the overall suckage of MirOS is pretty darn low.

26.01.2006 by tg@

Oh, already last day of the semester? (Well, tomorrow. Luckily, so I've still a minimal chance to be allowed to take exams this time... I better should; on 30th of January, the first one is scheduled). In English I graduated with an 1.3 (that's like 96%), and Economics was taken for granted.

I fixed php5-core but encountered a package tools bug which Benny, hopefully, will fix. I've also redesigned my keyboard layout since I don't read Japanese anyway, but having Umlauts (Meta-style) in Opera is more important (and I've got back my Ellipsis ;). I get ä by pressing either Meta-d or Mode_switch-d (and not Mode_switch-a which was used by dot.Xmodmap.light for DAUs) as I'm used to from the text console, wscons(4).

I was thrown out of Netzladen today... no idea if I'll continue to hang around there. Probably not, saves me 4 € monthly.

On the other hand, this leaded to an unexpected, not-Mate-induced, peak in productivity, not only yielding a much cooler, artistic, new keyboard layout, but to the release of joe-3.1jupp5 as well.

And because I didn't find this, admittedly older, reference in the bookmark list I keep, I thought I don't want to keep it from you, as it's also my opinion on trends and AJAX: Felix von Leitner speaks on hypes.

29.01.2006 by bsiegert@

Wow, exactly one month since I have written my last wlog entry. After 22C3, I have done very little work on MirOS, owing to two factors: my girlfriend and the january exams (seven of them!). The latter are over now, and I feel confident about the results for courses like Optics, Solid State Physics and (worst of all) Statistical Properties of Polymers, to name but a few.

I am still struggling with firefox 1.5 and its component libs. The problem seems to be related to shared library interdependencies. The current state of my port might work on -current. I could just churn out an update of #8-stable that contains the linker bugfix and have that as a minimum requirement.

What else? If you have the opportunity, go see Lücke im System (the original title is Absolut) at a cinema. IMHO, it is the first "hacker" movie which is credible both in story and technical aspects. And what makes it all the more frightening is that the movie is based on a true story. The synopsis: Two friends develop a virus which one of them has to install at a bank. He wakes up in the hospital two days later, having had an accident after work that day. He has lost any recollection of that day. What has happened? Did he really install the virus? Are they after him?

30.01.2006 by tg@

Benny, do you still live in 2005? ;-)

I managed to appear at two exams today, finally: Operating Systems 1 and Technical Computer Science 1 (basically, Physics and Electronics). I hope I've passed both but actually I am not sure. Weird stuff.

There's an mksh R26c with a few updates, and this one is about to be submitted to Debian again. I wonder when Gentoo will update.

I'm pondering to update Lynx but I'd like to have a libiconv to link with so I can enable japanese-utf8 support. On other news, I still got no answer from Bruno Haible, maybe I should mail him again. We need to have that libutf8 code.

I'd make a snapshot and install 魔王 for the second time but there's still an infrastructure bug pending in ports, some samples checks by Benny, and a few other port fixes, so I'll probably postpone it another while. This sucks but we can bear with it; thor is still up and running stable enough for a while (yet can't test new ports, sigh) and the redirection is working for now; no abundant traffic. The state of the base system is quite well, it's only ports which need more work (much more). Of course there are a few bugs, but that's normal, you'll have to live with them as usual. We try to fix them, though.

Dang! Hubert Feyrer has changed his "blog software" so I must update the hyperlinks. (Scripts around vi(1)? What were you thinking? To do a thing like that... you script ed(1)!) I've sent him some more material for his fun pages – reading symlink is still worth it sometimes, but rarely.

I at Chemnitzer Linuxtage? Possible, if someone sponsors me. I must get there (and back) safely – by train or, preferred, car sharing with somebody from the Bonn region, and live there somewhere (a place to sleep). Any offers? Mail me.

31.01.2006 by tg@

bsiegert@ will probably kill me, or use some other means of violence (who knows), but at least it's done. mgcc(1) now aborts if CFLAGS (and COPTS, or rather, _DEFCOPTS) are not honoured, with an optional abort, not yet active, if they are given twice. This depends on a variable to be set in the environment, thus doesn't affect manual builds except by an informal note.

We now have mmap(2) malloc(3), TCP tuning diffs (SYN packets 4 bytes smaller), and my libc is still working. I am amazed. I will rebuild my entire system then.

nl_langinfo(CODESET), citrus iconv(3), security-fixed perl(1)... now he just can't kill me ;) Also did some major www updates to keep track of source changes (still commented out though).

More later... if I'm still living by then ;)

Seems as if Benny is sleeping... weird, he said his exams period was over... fixed build of base system, so I could do a snapshot again, if I wanted (and ports were ready - damn pkgtools bug).

h2ph(1) was indeed used, but it seems to be minor. gcc now builds as well (non-C languages just ignore -fhonour-copts which seems easier to me), except libjava which I didn't test due to tiredness (lack of time and sleep).

I somehow expect iconv(3) and nl_langinfo(3) CODESET support to have some impact on something... but nothing until now. Wait to see whether we rename libcitrus_iconv to libiconv (selection via -L works).

01.02.2006 by tg@

I've been working on libiconv integration into MirPorts today which, the way I did it, also benefits Darwin. I also hacked a bit on varouus iconv(3)-using ports including centericq, and changed the linuxulator, respectively the porting framework, so that opera runs better.

Should I really go to the exam tomorrow? Chances are I get 40% while to pass you need to have more than 50%.

Soryu (惣流・アスカ・ラングレー is his nickname, "Stanley Rost" is the real name according to his CMS' copyright) pointed me via IRC to an ambiente stream at radioio.com – a site which offers two quality variants on the website (AM quality and FM quality, wtf?)
Now the fun part: Opera opens a pop-up and offers to download an m3u file when asking for an mp3 stream (thank goddess, I only have mpg123 installed, playing music on the pentium Ⅰ router). The filename: A1med.m3u (this of course raises suspicions) – so I test-run the AM stream and get presented an A1lo.m3u. Interesting. Viewing the source it's an easy task to see the URI, so I ftp(1) A1hi.m3u which in fact exists! I guess it's a subscriber-only feature, but 128 kbps 44k1Hz J/S MP3 is a lot better than 64 kbps 22k05Hz J/S, isn't it? Now I'm listening to the stream and will sleep (or at least try to). I decided that I have no chance to pass the exam scheduled for tomorrow, that's the only reason to still be awake.

02.02.2006 by tg@

So, I did sleep long and not take the exam. I would not have passed, anyway.

Some lazy day today, but I'll continue hacking on various stuff. And (as announced) I broke mySQL for there is no maintainer. We have real, happy, users of MirOS who also appear in IRC, so I fixed a few things, based upon their feedback. Also I persuaded a bunch of BSD guys to add #bsd (or even #mirbsd) on Freeforge to their connect list and autojoin.

Tomorrow I'll have to do a few different things over the day, so may not have the time to work on MirOS.

09.02.2006 by tg@

Still trouble with my life cycle. Getting up early nearly killed me, so I slept during noon a little while. But at least there are a few of my friends still not leaving me.

I must admit that I'm spending a larger amount than I used to or I'd like to, even, on "common" internet activity – chatting (Jabber, ICQ, MSN, Yahoo, IRC) and web-based message boards (with Opera). It is not what I'd like to do but there are a few persons I got to know over time. Besides, with Benny spending time with a girlfriend... which I'm still hoping to eventually acquire as well.

I started a bulk build and, annoyed by the crap we took over from "a BSD focusing on clean code", did some major commits. This probably has broken some more stuff but I'm doing bulk builds to see where. I won't fix ports which don't build (except for the easy cases) just mark them as ${BROKEN}, so we at least know.

Does anyone still have wishes for the next snapshot? I'm about ready to build one. Except for ports, as usual. Lack of communication can be quite annoying.

With mmap(2) malloc(3) we need the OpenBSD X11 fixes ported. I asked ciruZ already, but if someone volunteers, please say so since it's not yet clear whether he will try it at least.

That's all, folks. If I got more feedback I'd write more, besides, I don't even know which topics are of interest to you.

homsn (Daniel Hommel) has packaged mksh(1) for Arch GNU/Linux!

14.02.2006 by tg@

Benny is in Japan now – nice, eh? I think I'd better get a new snapshot built and 魔王 installed before it's too late for merging the old server. I've played a bit with the build system though (some stuff I always wanted to re-do, if we weren't going for syspkgs, there was more work in that area).

At the moment, no lectures at university, I'm sleeping too long (and too much probably) and not getting anything productive done. I already am waiting for FOSDEM but probably can't go to CLT.

Ports are in a rather questionable state, I'm prepared having to fix everything on maou prior to installing. Someone ought to continue bulk build and break work.

15.02.2006 by tg@

Built a snapshot in an overnighter. Have fun, help testing. Caution, ports are a mess.

No idea how I can tell Benny by different means... we've got a place to stay in Leuven – 2 developers, 2 Trittbrettfahrer.

20.02.2006 by tg@

I've been outside a lot, but under-the-hood FOSDEM planning coninues and we'll probably have CDs with yet another new snapshot, and I ought to bring the MirShirts with me as well.

Hacked a little on vnconfig(8) (in preparation for the key file hack inspired by GeNUA's Marcus Popp) and ssh(1), sshd(8) (in order to make them exchange randomness with the peer (via our own arc4random_push(3) interface so it's strictly optional).

Also added a workaround to lynx(1) to improve handling of the broken CAcert.org website. Fix comes later.

bsiegert@ actually phoned me today, meaning he still lives...

I've updated the essentials/pkgtools port after fixing a few bugs in pkg_upgrade. I've also updated mc (difficult, and I don't like some of the changes) and, finally, mirex (contrib/samples) (even with the new, not yet in use, gzsig(1) key but still without bsiegert@ having looked whether his information is correct). Makes me wonder if the version of that port is now correct...

Forcing USE_CXX=no ports to use 'false' as ${CXX} since now.

21.02.2006 by tg@

Today I just was in a hacking mood and besides updating ssh(1) wrote vnconfig(8) keyfile support from scratch using PEM, fixed djb fetching of distfiles, updated and fixed misc/mc for good, helped porters which need iconv.m4, added SQLite2 to php-core and a little advertising (for the MirPorts Framework), hacked net/openvpn the same as ssh, fixed the arc4random_push(3) stuff I use for months in the kernel, so that it is finally usable, did a few man pages and build improvements, even fixed a lot of OpenSSH code regarding to gcc warnings.

bsiegert@ actually showed up in IRC today... did not do much though. I wonder whether we'll be able to do FOSDEM like we want, since I'm in the mood for everything save housework which includes washing clothes, for example certain t-shirts.

23.02.2006 by tg@

Commit ID: 10043FE5D720803A93E and 10043FE634705689581. I don't want to continue any more. Fuck, if 魔王 had not frozen (due to the heat probably) we've had had a snapshot by end of 22nd of February already. Now thor has aborted with a sig11 in a libjava build and only odem is left compiling (my laptop, at 100% CPU speed of 1200 MHz AMD). It would have completed the task with no problem if there had not been minor (gcc -W* not realising an uninitialised variable was being used) as well as major (use of libcrypto) trouble in vnconfig(8), save a few other problems. I'm doing extra shifts and still cannot guarantee that what we'll sell at FOSDEM will build again when you try, or work as it is expected. (I did test vnconfig(8) though, not all modi tho...)

Again, I'm so bored and sick of computers, but can't help it, FOSDEM is a duty. At least we got ourselves included on the flyers by AllBSD, to be presented at FOSDEM too, thanks to the work of Daniel and others (including overnighters). And I'm still trying to finish a functioning and not embarrassing ISO image.

When it comes to hardware trouble I'm quite helpless. I'd like to be able to have some holidays, too. Being stuck at home (time between the semesters) doesn't help, it only gives you spare time to sleep (really too) much and not getting any real work done.

Oh, by the way... virtually nobody remembered my birthday. The folks at #UnixNL were very friendly, though.

24.02.2006 by tg@

Commit ID: 10043FF4D4816FF87C6 – it gets worse.

While I had a good afternoon, I'm slightly pissed now. bogus said no and won't join us for FOSDEM. I hope ciruZ gets persuaded enough, also we won't go today but tomorrow at 05:00 CET instead, so he'll get some more spare time to prepare.

This also gives me time to make a FOSDEM snapshot... dating the 25th then, probably.

somewhen VERY EARLY before FOSDEM 2006, by tg@

Yataa! I did it! We have got an apparently working CD9660 image of a new snapshot, to be released at FOSDEM. I'm burning a CD-R, just to be sure, now, that nothing goes wrong AGAIN even in the very case of this laptop not working any more (but it does WELL, thanks Acer!).

Now it's 05:15 CET and we should be driving in the very direction of Bruxelles already for a ¼ hour. Going.

25.02.2006 by tg@

FOSDEM is fun, good belgian beer, nice people, food and all.

bsiegert@ wants to go to sleep now, maybe he drunk too much (only 1! bottle) of Grimbergen Optimo Bruno...

27.02.2006 by tg@

FOSDEM is over, my visitor gecko2 has left and my room is a little bit cleaned up (mostly thanks to him ;).

I think it was a success (we earned more than OpenBSD on saturday if I'm reading Saad Kadhi's photos correctly, and we sold FOUR T-Shirts). FOSDEM is the most fun event anyway.

We might have a person interested in kernel development soon...

Found a panic (regarding timeout(9) not initialised) in ahc(4) (or a SCSI subsystem not touched by atapiscsi(4)) by trying to cdparanoiarip a dirty CD-ROM. Can't investigate though.

I'm not doing much work on MirOS now, priorising 魔王 to be set up correctly soon. Sorry guys.

Benny is back in Strasbourg (France) and I hope he'll join us people working on MirOS again soon if his girlfriend allows... I'm also still expecting a wlog entry from his 日本 holiday.

01.03.2006 by tg@

I really ought to make a new page, out of the following, called /?features...

Differences to MirOS #7

There should be a complete change log, but we have about 30 MiB of CVS commit logs to read for writing one, so we're only listing the most important ones here:

  • Much faster
  • Improved and portable MirPorts Framework
  • Updated lots of ports and base system programmes
  • 64 bit time_t (on i386)
  • Correct leap second handling
  • Full gcc-3.4.6 (prerelease; propolice) support for C, C++, Objective-C, Pascal, (on i386) Java™, Ada
  • GNU CVS 1.12 including own enhancements
  • uname(1) now returns MirBSD
  • compat_openbsd(8) – binary compatibility layer for OpenBSD-3.8 and MirOS #7-stable systems (almost 100%) and most old MirOS #7-current versions
  • compat_linux(8) and OSS audio improvements
  • Working LKMs (loadable kernel modules)
  • Improvements in the random number generators, ext2fs, msdosfs, and ntfs support
  • Kernel pppoe(4) support, much faster and can terminate unknown sessions (useful after reboot)
  • Using sv4cpio/sv4crc instead of ustar as package format
  • USB 2.0 support
  • Update to XFree86® 4.5
  • Ramdisk (bsd.rd) now uses GENERIC kernel, comes with many rescue tools (even sshd(8))
  • Package tools are now part of MirPorts
  • libpng, libexpat are now part of the base system
  • Reiser CCCP used as fall-back cpp(1)
  • Support for rsh removed
  • 8-bit (latin1 and EUC-JP) manual page support in nrcon (nroff), HTML manual pages, french spacing
  • New tools: gzsig(1), getcap(1), ifwatchd(8), ntpd(8), spamd(8) and friends, tcpdrop(8), wssetfont(8), xmlwf(1), ...
  • Support for hardcoding ARP table entries at boot in /etc/arp.conf

We're quite sure this list isn't complete and we might even have forgotten some change of major importance, but this should give you a good idea why to upgrade.

Differences to OpenBSD

We always get asked how we compare to the other BSDs. Since we have originally forked off OpenBSD we'll list a few "main differences" (the list is nowhere complete, but a good start):

  • No hot-tempered head developer
  • Portable porting framework
  • Much better infrastructure
  • Generic framework for wrapping GNU autotools
  • Up-to-date third-party tools (GNU Binutils, GCC, CVS, RCS, Sendmail, Perl, Lynx, Texinfo, X-Window, Libtool) avoiding the many porting errors
  • Compilers for C, C++, Objective-C, Pascal, (on i386) Java™, Ada
  • Slim base system – no Kerberos, AFS, YP/NIS+, SMP, binary compatibility for unused operating systems, BIND, non-C code
  • ISDN support
  • Privacy improvements
  • Support for the i386 and (not now) sparc architectures
  • Feature enhancements in the Linux emulation
  • Binary compatibility to OpenBSD (almost 100%)
  • evilwm replaces wm2
  • We still use XFree86™ 4.5
  • BSD dæmon
  • Rewritten master and partition boot record with boot manager support
  • GENERIC kernel is used on bsd.rd
  • The ramdisk contains a lot of rescue tools, even sshd(8)
  • Support for disabling fsck(8) for ffs filesystems with softdep enabled (default in the MirOS installer) in /etc/fstab. Includes automatic sorting of the fstab file implemented in korn shell.
  • Highly improved set of shell script infrastructure using security features of the Korn shell which is /bin/sh in MirOS. Automatic discovery of IDE hard disc drives which need their write cache disabled.
  • mksh(1) is the Korn shell, highly improved
  • CTM, growfs(8), ffsinfo, wtf(1)
  • TLS-enabled Lynx and Sendmail with automatically generated server certificate (boot-time) and CAcert.org support
  • AT&T nroff instead of GNU groff
  • Default /etc/profile file for smoother user interface
  • Support for hardcoding ARP table entries at boot in /etc/arp.conf
  • Many more ports which are not in OpenBSD for political reasons

... and more.

Built a cross-compiler to i386-gnu-linux-gnu with Debian GNU/Linux's libs and headers. Built printf(1) - all other tools I attempted didn't work: sh(1) mksh(1) date(1) id(1) and maybe more. GCC also builds okay natively (tested that, including libjava - poor odem).

Next up is bringing the sparc (32-bit) port back in shape. Some nice discussions with Tonnerre in IRC reaffirm my decision to not ever have a sparc64 port (gcc sucks). i386 is our primary platform, sparc and in the future amd64 will be secondary platforms, with the option to add a macppc or alpha port if Benny or Tonnerre are up to the task.

To the curious reader: I will import OpenBSD 3.9-STABLE at some time into the vendor branch and merge it all. But at the moment, sparc will come first because we have got actual customers ;) hi CcSsNET

gcc 4.1.0 is out – all I can do is laugh at the bug list shown in their release announcement... GNU Tar (a version with a known (directory traversal, I think) bug), and the other thing, and that gcc 4.1.1 will take another two months (wondering what else will go wrong). Positive, however, is the ProPolice Ⅱ built-in support and that it's said it runs on Interix unpatched. I wonder if we should better make a port out of it (for MirPorts) instead of our system compiler – OTOH I think many people (centericq on OpenBSD users, for instance) benefit a lot of a mgcc(1) mirport...

I'll visit my best friend tomorrow, stay until sunday evening, so no internet for me (no computer at all, even). Probably he'll be the only person to celebrate (post morten ;) my birthday with. Not many people, as usual, remembered it anyway. (He forgot it too.) But I nevertheless had had a great time. No, I won't tell.

My mobile phone (> 6 years old Trium Astral) is making trouble... the first time since about a year it has had this kind of error (shows connection to a GSM provider but it's away as soon as I try to place a call). Any ideas? No, I won't change cell phones. Only fix.

No idea what else to write. BENNY! I'm still waiting!

19.03.2006 by tg@

I haven't been as lazy (or, well, occupied) yesterday and today as I was before (despite stomach illness) and started migrating thor to the new dedicated server which is now also running IRC, VPN, etc. and uses sophisticated firewalling. In the process, I have fixed a bug (code vs documentation) in readlink(1) and updated some ports. Today I also ran through style(9) and made it consistent, even discovered (undocumented switch) the Bill Shannon mode of indent(1) doing to sizeof what we want.

Since thor is going to be defunct in two, three days, I will have to work some more to "make it". Also I'm setting up DNS anew; I will still be using MirDNS as DynDNS clone with heartbeat protocol and djbdns as backend on maou and herc, but Tonnerre and TGEN offered me a backup NS each which I'll gladly be using provided NOTIFY and AXFR are working properly. I also enhanced inetd(8) by DJB ucspi-tcp compatible environment variables.

Maybe I'll use mirbsd.org as primary domain now and the old mirbsd.org will serve as fallback in case 魔王 is unreachable (it's pretty stable unless I try to build a snapshot).

I bought a Nokia 6150 (old enough so I know I can use it) via ePray, still waiting for it to arrive (and hopefully a PSU too). I do already have the leather bag though... doesn't help me much.

Seems like spring is coming. Still cold but good bearable in the sun which is shining quite well the last few days.

23.03.2006 by tg@

thor's gone, maou's running... sort of. There is still trouble, with the MirDNS #3 code for example, but I got it sort of running (like the old server, without some of the improvements) for now.

maou's making trouble with the hardware, though approximately thirty passes of memtest86 don't show any error at all. Maybe heat? CPU issues? It just freezes, no panic or any serial console output or syslog at all.

I've written a helper, converting UTF-8 to SGML entities, for Benny to write a larger wlog entry. It can convert basically any UTF-8 because it's a simple (slow) shell script, making use of iconv(1) and hexdump(1); output is decimal entities (not sedecimal/hexadecadic) for better portability, and ASCII is passed and not converted to &, <, and >, so he can use HTML already in the input.

Caught a flu, not bad after still recovering from stomach stuff.

Trying to figure out my timetable for the summer semester. Really it is not trivial at all. Though after all I'll probably won't study (for real) anyway.

Please do not forget to update your sendmail.

I should probably write much more here, but... nah, unfunny.

Read the summary about porting (Berkeley) Unix to the i386 architecture by the well known Jolitzens. Some interesting facts. Found at Dæmonnews.

27.03.2006 by tg@

What do we do with maou? It froze again this night. In my opinion we ought to provide stable services, but how the hell am I supposed to if I do not even get a kernel panic? I'm starting to think whether to set up some kind of "ping watchdog" with automatic web interface reboot in a shell script.

Furthermore, look at this:

	[ DNS ]
	mirbsd.org NS record currently not present at tld1.ultradns.net
	mirbsd.org NS record currently not present at tld2.ultradns.net
	mirbsd.org NS record currently not present at tld3.ultradns.org
	mirbsd.org NS record currently not present at tld4.ultradns.org
	mirbsd.org NS record currently not present at tld5.ultradns.info
	mirbsd.org NS record currently not present at tld6.ultradns.co.uk
	[ Whois ]
	Name Server:PDC0.MIRBSD.ORG
	Name Server:BDC0.MIRBSD.ORG
	Name Server:BDC1.MIRBSD.ORG
	Name Server:PDC1.66H.42H.DE

I've come, again, to the conclusion that it all sucks. Interestingly I discovered (yeah, right, didn't even know) that ntpd(8) is on the CD (yeah, the 4 Megs one). Fun stuff to do with that ahead.

Today I've hacked quite a few things: fix _ASM_SOURCE use (Makefiles and code), clean up rnd(4) and kernel build, even help the sparc port; reduce the size of the persistent entropy pool, generated manual pages and thus distribution; add no_msn flavour to centericq; import new and last (branch gcc-3_4 is now closed) gcc and gpc and libtool, start all the usual merge and upgrade work (gcc not yet finished); ask cvs(1) to not error out if CVSREADONLYFS and it cannot lock var-tags or history; apply the OpenSSH and OpenVPN randomness pushback hack to OpenSSL too, affecting KEX on SSLv3 and TLSv1, also add my ASN.1 OCTET STREAM hack, taken from my vnconfig(8) patch; change ssh(1)/sshd(8) default ciphers to prefer secure over fast (these days it's okay like that I suppose); bring out a new mirmake; implement $RANDOM (with arc4random(3) until a write occured, like in mksh(1)) for sh(1); document ports that disable systrace(1) in the INDEX.

Damn FSF. Libtool is REALLY using /usr/mpkg/bin/bash (note the path) as shell, preferring over /bin/sh (eh, what's wrong with mksh?).

Tonnerre found that to config = mmap(NULL, st.st_size, PROT_READ | PROT_WRITE, MAP_ANON, -1, 0UL); breaks on Limupf... and why. It demands use of MAP_PRIVATE (in contrast to what mmap(2) says, on BSD of course). And they want to be compatible, hah!

Benny thinks he found a bug in perl(1) - my gdb(1) backtrace however tells me he'd better look at fseeko() from /usr/lib/libc.so.38.2

I thought spring was there... but it rained cats and dogs later that day. And no new anime episodes to watch – for weeks!

Hubert says NetBSD® runs as DomU on Xen3. Me wanna!!!

29.03.2006 by tg@

An meiner Fachhochschule gehen zur Zeit eMails zu einer Aussage des Herrn Prof. Dr. Matthias Jarke, Präsident der Gesellschaft für Informatik e.V., im Rahmen eines Interviews zur Eröffnung des Informatikjahrs, herum, die lautet: "Selbstverständlich wird das Ausbilduingsniveau von Bachelor-Absolventen deutlich unterhalb des bisherigen Diploms liegen, wohl nur knapp oberhalb einer an das Abitur angehängten IT-Ausbildung."
Ich kann mich der Aussage selber nicht ganz anschließen, denn eine IT-Ausbildung bei der IHK ist im Gegenteil eher wertvoller als ein Studium. Zwar lernt man, wie ein Kommilitone schrieb, dort keine "design patterns", dafür mehrfach (flach und falsch) Grundlagen von Programmiersprachen, aber wenn man seine Ausbildung selbst in die Hand nimmt, Wert auf vieles legt und sich engagiert sowie in der ohnehin zur Verfügung stehenden freien Zeit liest oder sich anderweitig weiterbildet (gerne während Kaffeetrinkens) statt die Zeit mit Counter-Strike, Blobby Volley, Browsergames oder sich (bei Anderen statt bei der Jugend- und Auszubildendenvertretung!) darüber zu beschweren, daß man nichts als Rechner schleppen tun muß/darf. Ich habe wenig Ausbildungsrelevantes gelernt und in der Berufsschule eigentlich nur Wirtschaft (wußte ich vorher, war es mir aber sogar wert), habe aber viel "nebenbei" gelernt, zum Beispiel, Telex, Kabel ziehen im DVT/HVT, ATM, Taktsynchronisation im SDH2000+ Netz, usw. und besonders wertvoll war, in einem großen Unternehmen immer wieder an anderen Orten zu arbeiten, ganze Prozeßketten kennenzulernen, über den Tellerrand zu schauen und zu sehen, was in der Realität wirklich benötigt wird: Skripte und schnelle (aber für Kollegen noch verständliche, also auf niedrigem Niveau) Frickellösungen, die, wenn sie nicht mehr tun, halt neugeschrieben werden, aber dafür prozeßorientiert, gut dokumentiert und in SAP R/3 verbucht. Keine "design patterns", kein Java oder auch nur C (naja, bei meiner Abschlußarbeit habe ich etwas in C geschrieben, aber außer Headern, Deklarationen und Optionen parsen waren das vielleicht noch 10 Zeilen Code). Ach ja, und ich habe gelernt, wie scheiße MS Office ist und daß Openoffice noch schlechter ist.

The time of adding entropy exchange to networked dæmons is now over, I suppose. I have added the function to ntpd(8), it is performed when an OpenNTPD client talks to it, since we know it sends out random data (arc4random(3)) instead of its own xmttime.

Today I have also completely re-written HTTPS certificate validation code for lynx(1) in an attempt to make it work with CAcert.org (a page whose certificates contain multiple CNs in the DN). It works so far, I have submitted a link to our CVSweb to the lynx-dev mailing list, will submit a full patch later so it might get into lynx 2.8.6dev.18 soon.

I will have to write an ASN.1 OCTET STREAM encoding/decoding module, in PEM format, like vnconfig(8) uses for its keys, for openssltool(1), for the sake of completeness. Well, later, as time permits.

Still have to debug the heartbeat server stuff and MirDNS #3. Also will be as time permits.

Time ought to already have permitted bsiegert@ to commit his pending wlog entry, though…

I'm inmidst of merging gcc 3.4.6 (final), so HEAD doesn't build now. This will be sorted out later as well, though.

Another thing I'd like to do for the next snapshot is either finally rewrite the installer or add an automated Live CD feature to the CDs I burn (e.g. for FROSCON). In addition to that, I'm pondering to write an MS-DOS only boot loader (to start a kernel loaded via MS-DOS I/O from FAT, NTFS (via ntfsdos.exe), CD-ROM, etc. by means of himem.sys and a small relocation/memmove function). I still wonder if I can manage to add 'boot -acs...' functionality. This beast would of course be written in gas-intel-howto(7) and be built as a normal part of MirOS userland (machdep). Kinda loadlin.exe on drugs. But this may prove useful later. (Also, our bootloader ought to adhere to the multiboot specification in order to make it runnable from grub, to bootstrap MirOS from GNU/Linux systems – can you say Thinkpad dear Mr. JanA?).

The Jolitzens have quite a lot of interesting material on their page (e.g. regarding the current BSDs' developers and past). I wonder which parts of 386BSD 1.0 made it into MirBSD, what do they think of OpenBSD and whether we will get, some time, a kernel architect. (I'd be happy, for now, even with a kernel developer; I still plan to teach myself by writing herculesfb(4) though. Tho I have to do a gcc 4.1 port as well, and do lots of other things.)

Martin Michlmayr has built, while we're on the topic gcc 4.1, Debian with it and documented that; together with hints, he also linked to Take some time to read this if you intend to touch any C++ code.

Kind of another interesting read from my research into Jolix: the story on XENIX and how Linus can't code (with proof by Lars Wirzenius). It also suggests, although whom do you believe, that there were more than just six files involved in porting. I'm strangely fascinated by their stories and web pages and wonder what to do with it. I doubt they'd work for MirOS tho (even if they could play all the kernel design they want).

Another thing I researched into yesterday was TAOUP; I found that Plan 9 did invent UTF-8 with a funny story. (Why doesn't it surprise me today when I see this story is hosted by Markus Kuhn?) I wonder if we simply could switch to UTF-8 only operation mode too. I'd like it. No umlauts and only basic ISO_646.irv:1991 (that's ASCII for you stupid americans aka ANSI_X3.4-1968) for the programmes which don't. That was basically what my plans for the "C" locale were. Well, we do export nl_langinfo, setlocale etc. as weak symbols for users to override so I suppose I'll do the switch. But quietly, so Benny doesn't realise it. (Damn.)

Ich bin eben über einen Vortrag zu Plan 9 gestolpert, ein System, das selbst einem Unix-Alteingesessenen noch komisch vorkommt. Die meisten Leser hier wird freuen, daß man 'ne Maus benutzen soll.
Vortrag: http://ftp.belnet.be/mirror/FOSDEM/FOSDEM2006-plan9.avi
Plan 9: http://cm.bell-labs.com/plan9/ (oder http://9fans.net/)
Es gibt auch p9p (Plan 9 from User Space), um das mal auf Windows (frühe Alpha) oder Unix auszuprobieren.
Den C-Compiler hätte ich gern, um gcc zu ersetzen, aber die Lizenz ist leider auch nicht so wirklich frei.
Interessant: es ist von Oberon abgeleitet.
Sehr schön auch: ETHZ Oberon ist unter einer 3-clause BSD-style Lizenz freigegeben, also quasi "freier gehts nicht".
Und auf der oben genannten Homepage kann man die Bücher "Compilerbau" und "Algorithmen und Datenstrukturen" von Prof. Wirth frei herunterladen, allerdings die Oberon-Variante, klar. Und natürlich einen Haufen Oberon-Literatur.
Ich hatte vor einiger Zeit tatsächlich mal ETHZ Oberon nativ installiert, war ganz lustig, aber ich bin dann doch nicht so der Mausschubser…

I still have DNS trouble which bogus cannot reproduce; his dig shows tld1 answering, host doesn't, he can't ping www.mirbsd.org. But I just got an eMail from someone using www.mirbsd.org so I guess something is just really FUBAR or wrong here.

30.03.2006 by tg@

Today, it's porting kencc and fixing gcc. Duh.

All I wish for now are proper COFF support in the kernel and support for the *.8 object format (intermediate) in libbfd; some startup files to make 8l output work and maybe we can use our libc if converted from ar(1) to iar format. Later, we can add ELF to 8l.

Funny people on IRC. No, really. Why should Unicode die?

On ICB, Theo's been an arsehole again

	/group hackers
	[=Status=] You are now in group hackers
	some interesting facts about the Plan 9 compiler:
	<*deraadt*> who are you?
	<*deraadt*> developers only.
	it's now part of "Inferno" and thus under MIT licence
	I'm that MirBSD guy
	just trying to port it in order to look if it can be used to compile at least simple programmes
	<deraadt> So please fuck off.
	okay, I just wanted to be nice and tell you

... what do I do? Nothing.

The only positive thing is that, despite the rain, it's been a nice, quite interesting, day in various regards. Too bad I'm still awake and probably won't make it in time tomorrow either...

31.03.2006 by tg@

Today, it's porting kencc and fixing gcc. Duh.

It was a fucked up day, the weather was bad, people, events were bad and this day should be banned...

... at least I got gcc working.

I can't seem to either run (kernel) or convert (binutils) a COFF (or ECOFF, tried both) executable. Why?

The solution is probably really to teach 8l ELF... although this will be very much work since 8l is not the only linker.

Benny is still not committing, he rather wants to go to bed. He sent out an announcement for the MirOS #8-stale sendmail(8) security update though (after I MFC'd it ;).

Did I mention gcc is a pile of crap? Well, I had to pay for using an alpha version of GP – but the rest still is the biggest pile of... interesting stuff... we have in the OS.

Well, kencc doesn't do Propolice, W^X, NXSTACK, NXHEAP etc. (and ELF might help with the latter three but I don't know if I'm up to it, and Theo won't do it, see above...) so it's probably only going to be used as an alternative compiler for those who dare. Security checks (format string warnings, __attribute__ stuff etc.) are done with gcc.

Oh, I forgot... the INT 80h API sucks

	#include <sys/syscall.h>
		.intel_syntax noprefix

	#define SYSCALL(x) \
		mov	eax,SYS_ ## x; \
		call	syscall

		/* strlen */
		mov	edi,edx
		xor	ecx,ecx
		dec	ecx
		mov	al,0
		not	ecx
		dec	ecx	/* minus trailing NUL byte */
		/* write */
		push	ecx
		push	edx
		push	1	/* fd */
		pop	eax
		pop	eax
		pop	eax
		push	eax

		int	0x80

... anyway, this works - provided that the ELF contains .section .note.miros.ident,"a",@progbits, or you make an OLF out of it (which binutils and gdb can't use). Speaking of suckage. (suckage.netbsd.ch by Tonnerre is down tho.)

06.04.2006 by tg@

Lately I've been working on a Live CD which is to be built as a part of the normal 'dist-q' process. I'm improving continuously; I unveiled some bugs in the system during that and am currently rebuilding MirBSD at 900 MHz, let's see how long it takes without Ada and GCJ ;)

My coffee provider has an enhanced set of offers and a new website design, check it out. Today I ordered the first time online there, they use "Bankeinzug" and give 2% discount on that, even. Cool. Of course, SSL secured (hi entropy).

More later…

… oops… it's already this late. TODO: fix kernel msgs (a la "swapconf: blah not found"), use rd0a for devices (XXX howto, can I preload it into the kernel? I even think so), get rid of the huge time consuming MAKEDEV stage in /etc/rc (and don't swapon rd0c *g*), make a liveboot (with sercons by high order bits), last bring back X.

07.04.2006 by tg@

Café Libertad delivered in less than 24 hours. The DPD person today surprised me at about 11 o'clock. And they put lots of anarchist advertising material, a poster and (YAY!) some (notebook!) stickers in as well as a "self-organisational newsletter". Me likey.

Only today I got notice that Benny is having a one-week trip with no internet access… and that's only because of some allbsd.de mails and not because he told me. And that despite me trying to impress him, and the rest of my readership, with this live CD (and my call for some testers). I don't know where he travels to, I can only suppose it's an important thing related to studies, for he explained me some of _that_ bunch of problems recently (and I don't know either how he can manage; that's one of the reasons I stopped studying altogether).

From the category "useless patches I designed and took me some time…


(yeah, base64 gzip'd)

I should be working even more on the Live CD but that's it for today (after realising that the above patch is not useful unless /boot gains ISO 9660 filesystem reading support. (Also it seems to not work.)

After poking around a bit, I found out this diff indeed does work, I just need to use workdir/usr/mdec/boot instead of the logical workdir/etc/boot.x86 because the latter contains a mkisofs(8) boot info table which forces El Torito boot.

After poking around even more I shockedly found out that our /boot can actually read (just not 'ls') ISO 9660 CDs (when used as hard discs) without further patching.
(Now that I'm writing this wlog entry, this isn't that surprising – after all, I had patched in "no emulation" boot some time ago.)
So it can be used, and this patch shall be committed instead. I'll retain the early version from above though because it expresses quite some of my frustration of today.

I hacked another bunch into it now… support for images of hard disc drives (with 512 byte sectors instead of 2048), using a specified PBR (512-byte) sector (instead of sector 0) or even (hard disc images, only, for obvious reasons) MBR partition table support (including that userpt stuff). userpt is also supported for CD-ROM images, though it's probably not very useful (unless booting e.g. a kernel from wd1). IMHO these things are all nice to have, will prove useful and make a unique selling (and marketing! hi Daniel) point.

I'll forget the idea about porting it to GNU/Linux though – it doesn't even have nlist… how am I supposed to get the offsets of my declared-as-global functions within the ELF first-stage boot loader now? Some Lunox or Kinderunix guru reading this and want to send me an unidiff? (Only -i must work, -I or neither-of-these-specified does not need to be used. Partition tables must work, though.)

09.04.2006 by tg@

There is not much to say today. I'm slowly improving but there are a days or times where I need to rest too. At least I fixed the web pages (plain text versions) of the licence templates (rcs -kb), added a link to the MirOS one from the ISC one (like ealier in the web version) and fixed a spelling mistake in ours.

I got a new user for 魔王 and I hope he pays and behaves well… if so, I'm not going "into red numbers" with the box again.

I wonder if it's a good idea to hardcode 魔王の IP address on the live CDs – but then, MirOS doesn't have more than a few hundred users world-wide, NTP intervals are large, and the first rdate(8) call doesn't hurt either. (Too bad there's no way to send any entropy back with an NTP answer packet – at least I did not find a way to…

11.04.2006 by tg@

The live CD's completed, uploaded at BitTorrent, I organised some press coverage at Dæmonnews (and hope the word spreads). I fleshed out bugs (at least these I could find) and shrinked the size again.

Benny is in Dresden, GDR, by the way.

12.04.2006 by tg@

I've fixed a lot more things in the live CD, created a /cvs snapshot and started to change more things (e.g. NFS exporting the live / for a method to easily pxeboot other live CDs as live NFSes).

After Zapata has closed early (mother of the cook fell ill) and we'd eaten at the Croatian again, cnuke@ and I are sitting at Jannis' place and I tried to pxeboot his IBM X41 (failed due to his Broadcom NIC). I think it works, though. Met (honey wine) is tasting good tho. They are playing StarCraft (a fun game, but with a weird custom map) and I grin in the background, not really knowing what to do (except drinking some (admittedly too much) honey wine).

I found out that one can't post to the GNU Pascal lists via GMane (a bad thing since I was advertising for them). I wonder if the other few things I noted to the people will be fixed soon (enough).

gcc 4.1 looks promising but I haven't started porting efforts yet. I currently wonder whether I even want to do it before #9 (whose release criterium was OpenBSD 3.9 being merged in). I look like I want it, but I think I better shan't. We definitively need someone to work on ports for the release, too, though. And I'd better fix sparc. (Sadly, my new CD-boot and sparc dual-boot don't combine.)

NetBSD® makefs(8) will hopefully replace mkisofs(8). Even if I'm to patch in -boot-info-table support by myself. Schily must die.

At the moment, I'm building MirOS snapshots (and auto-live-CDs) like exemplars of Ford Model T. Trying to improve, I suppose. I don't see a lot of rough edges left (though a rewritten boot loader could e.g. say which root device the kernel to use).

Yay! Freeforge is growing. Even though 魔王 froze today, again (BitTorrent was running, but the crash was during an rsync).

19.04.2006 by tg@

Just came back from a great trip to Bruxelles. In the meantime, that damned dedicated server froze again – without any BitTorrent and rtorrent involved. gecko2 now has the licence to reboot.

I've prepared today what will be the Setup/Live CD tomorrow (the one which will be distributed at LinuxTag).

Benny has been alive today!

08.05.2006 by tg@

At the moment, I am developing on my trustworthy SPARCstation 20 (to which a digital VT420 is attached as console because a monitor would be too heavy for me to lift it) since my laptop is fried again (PSU, already for a while, and the TFT inverter, for which I try to get a replacement). After somehow getting GNU screen to honour flow control, it's really not too bad, and I've gotten used to it. Besides, amber rocks!

I don't get any help from people when I post requests to the mailing lists. For example: fdialog, the live CD, python, discussion requests, like the gcc language stuff, Xen, motd, spamd, IRC, EXEC_ECOFF support and bugs, infrastructure/scripts/out-of-date, "mmake clean is broken", "/cvs/CVSROOT/*.sh", Bruno Haible, and some more bug stuff. That's why I am developing merely for myself at the moment. MirOS #9's release is depending on a criterium (merged in current stable version of OpenBSD, at the time of releasing), but I probably won't release it without the wide char functions working and the SPARC port revived. Furthermore, I am diving into MS-DOS® coding… you've been warned.

Expect a new version of mksh to be released RSN (like, in a few days). Most important new feature: ~/.mkshrc, by request of a Debian user who also prodded me to enhance the manual page mksh(1) – it includes the latest fixes by OpenBSD too though. I also cvs admin -b'd portable mksh's extensions (four files) into -rHEAD so that people can test any mksh extension development directly (without the Attic).

Do not expect the website to change much, or be updated (probably as calendars don't get updated by anyone *sigh*). I will work a little on improving stuff found during more extensive testing of the live CD and portable mksh in the next days and then look where my current interest is tending towards. Watch source-ch^W^Wmiros-changes@ for info. It may look as if it has turned back into MirBSD.

Stability issues on the server still have not been sorted out, and I am out of ideas. But we can't easily do without, either.

Finally, a word: while it may be hidden from the mainstream, and its activity not be reflected on the web site, mailing lists, freshmeat, a trade fair, symlink, OSnews, Dæmonnews, allbsd, undeadly, etc. I don't see it sinking into oblivion. But I am going to focus on, merely (until I get responses like the recent mksh discussion), developing on what I think is needed. This may include a framebuffer device and/or X server/module for a 20+ year old graphics card. I'm, also, looking for employment and would kind of like to "bring in" MirOS, but I don't think that's going to happen. At least not now – even some finnish person who can't even program sprintf(3) made a job out of it. (He didn't discover the bug in that function for years, either.)

22.05.2006 by tg@

This wlog entry is probably not read by many. Thanks to gecko2, I've got set up at least an AnonCVS mirror (anoncvs@unixforge.de:/cvs IPv4, anoncvs@hephaistos.tb.as8758.net:/cvs IPv6), and remotely possibly, this page might, with a few broken links/images, be visible.

I'm "developing" on NWT at the moment – a Mitac 4023 notebook (Cyrix 486DLC with 33, 66 or 80 MHz, no idea; 12 MiB RAM (and a custom kernel); a 450 MB HDD replacing the old 110 MB one and, yuck, french keyboard (slightly remapped) in US mode of course). I've put an almost usable filesystem on the disc (the contents of bsd.rd's mr.fs), added a few programmes and a dmassage'd GENERIC minus what I don't use on the book (like ext2fs), that works. Its display is okay, (D)STN LCD in VGA greyscale, and I am already getting used to that damn keyboard, but more than less(1) and ssh(1) isn't feasible. Not really good to do any developing work.

The server situation is desastrous. I'm thinking of giving up having an own dedicated server and just paying a few people for the services, that is, AnonCVS, AnonRSYNC, website + CVSweb, name and mail server. I think I already know with whom and how to do it, I but need to get out of the contract and, beforehand, back the data. Strato at first tried, I was impressed, to help but now runs a "let's ignore him" strategy. I can understand that, after all I'm only paying 19.90 € per month, but nevertheless they're denying me service.

Oh, by the way – I got odem back working, just its display is, still, a mess: the green part doesn't show. Headaches.

Benny has been helping with ports and the interim (excuse for a) web site^Wpages, thanks.

Hiroki Sato managed not only to get production IPv6 address space to keep *.allbsd.org reachable but also fixed the mirroring problem, so I think we have two working anoncvs mirrors at the moment. Again, thanks to all the people involved with BSD or not even (e.g. a certain Debian Developer springs to mind) who are helping to ensure the MirOS Project doesn't continue to exist in oblivion but is still discoverable by the general public.

27.05.2006 by tg@

Not that this is going to be read... congratulations to a few mates, celebrate your birthday, may you already be able to walk on four legs, being able to walk on two comes the day after.

Benny's going to rewrite the website's content this summer (simplify but not change the layout); mksh R27c, mirmake, cksum and mircpio have had new releases; there have been a lot of minor changes; base is in a good state and ports work on Mac again (including mc).

Debian's cvs(1) must've smoked something weird… it formats the RCS ID timestamps yyyy-mm-dd instead of yyyy/mm/dd. For now instructed gecko2 to place a hand-crafted cvs binary from MirOS sources (plus Han Boetes' arc4random for GNU/Linux and hand-compiled libc ndbm) into the anoncvs home directory on hephaistos. That box is also ntp.mirbsd.org, IPv4, even though not running OpenNTPD, because the live CD gives some unfriendly messages at startup otherwise. (To prevent a phk-dlink like disaster, he's been informed though. I hope something else comes up in short terms, though.)

It could rain a little less.

28.05.2006 by tg@

Waldemar Brodkorb, a friend (and beer drinking mate) of mine, has had to leave the OpenWRT project in order to fork. Sounds familiar? Well, I am now a full FreeWRT developer as well. Just wanted to tell you, so you don't worry – I won't lessen working on MirOS. Rather, I may be able to impregnate the GNU-dominated world of embedded systems with a little BSD spirit. The reasons for him leaving have been outlined in his blog as well.

02.06.2006 by tg@

This is available under http://miros.unixforge.de/?wlog-8

MirOS now has I18N support. Totally untested. Please test whether it "works", the manual pages don't disagree with SUSv3 and ISO 9899:1999, the code adheres to the manual pages, the code is bug-free; write some more (missing) manual pages, etc.

03.06.2006 by tg@

Forking seems to be common against my Verpeiler mates; first wbx and OpenWRT/FreeWRT (and he's done an OpenBSD/WbxBSD split too, with MirOS stuff inside), after – of course – me OpenBSD/MirBSD; now, Angelo Laub (yeah, that MacOSX worm guy is a drinking mate of mine) does an OpenBSD fork as well (or, at least he's asked me for help).

Benny is never there when you need him except later, but the old and new fxp(4) codes both work on HERC, so what, I leave in the new "old", he'll test on monday, and I'll go snapshot now. Expect some surprises, if everything goes well.

TGEN and Tonnerre are interesting people. Sad they're usually quiet, in IRC (#bsd).

09.06.2006 by tg@

I finally got maou rebooted, I'm currently backing it up via serial, yes, 56kbps, console ;) and have already found a person who'll take it over so I'll be relieved of the payment soon. I'll just rent space, at gecko2s box for now.

gdb doesn't work with the J or Z malloc.conf(5) options…

Found some more annoying bugs in libc/i18n, should be all fixed now. Also, I removed a few unused programmes and libraries; no need for the year-old unmaintained and unaudited stuff to linger around.

The tries to update libncurses failed… see the commit message, if you really want to know more.

10.06.2006 by tg@

There was a soccer competition at my university – although ex, I participiated, and it wasn't even me playing badly that we lost, but the others (Economists, Mecha builders etc.) brought some professional players so we didn't stand a chance. 4:0 4:0 1:1 and out.

I didn't have much success trying to trace down my LCD issues. It is in both cases a low-voltage differential thingie with digital (serial) transfer, so no idea why green is missing. Looks like I have invest my first FreeWRT wage into an LCD, or rather, a laptop – or ask the local Arab whether he's got an idea.

Still haven't done much for FreeWRT, but tomorrow, wbx@ will show me how the system "usually" works under GNU/Lunox. Also, I will start by doing an mksh port, let him check it and then try a 'svn ci', in the hope I didn't do anything wrong, to test that.

Oh, the surprises are unveiled I guess. I've just cross-built a (not yet tested) GENERIC for sparc. More surprises to come.

11.06.2006 by tg@

I had some initial FreeWRT ci with wbx@ today and better would ask gmane and marc guys for archives, before it's too late.

I built a sparc bsd.net kernel (with elf2aout(1) on i386!) but can't netboot it... it's been too long since I did that (>2 years).

I had four Altbier (beer) and some Julishka and Krushkovac today, so I'm not really coherent... but it tastes delicious!

12.06.2006 by tg@

Not much success with sparc…– as if there were some bug, deep hidden inside the kernel. I will try building a #9-beta kernel on the box (natively on #7-stable) then. UPDATE: Didn't make a difference either. Can please someone tell me why it freezes in midst of a printf(9)?

Not much success with "real life" either and it's just too hot for real FreeWRT work. Also, I ought to add .gz read/write support to config(8) -e…

15.06.2006 by tg@

Yay! My laptop works again. Did cost me 50 € and lots of sweat, though.

As we have had a sendmüll update, I am to issue a first #9-beta snapshot (i386) to the people. It already comes with brk malloc, non-g libs, etc. as it's resembling the upcoming release. There is still few stuff missing:

  • Send out an eMail "status report"
  • Update ports: rsync, unzip, zip, mplayer, gmake, bison, maybe bind (assigned to bsiegert@)
  • Update SSH and similar stuff
  • Have a look at if there's a newer GNU Pascal (probably not)
  • Fix sparc
  • Add gzio support to config(8) -e

Markus Rosellen is sponsoring us a show-case Compaq Proliant 800 for the FROSCON, which to install is bsiegert@'s task, again. Thanks!

pkgsrc® on Interix sounds funny, MirPorts is easier or better in some regards, but lacks others. It's not used at the moment anyway.

Why must it always be so hot even while raining?

16.06.2006 by tg@

A shitty day. The weather was superb. Sunny, dry and not too hot due to the still resident rain remnants from yesterday, not sticky either. Yet I had noone to kill time with except my trusty laptop and sparc. I "forgot" to breakfast either, and apparently I'm too late to go shopping now as well. Doesn't matter though, I keep a few things at home for emergency hunger cases ;) and had bought a lot of beer 2 days ago because yesterday was national holiday anyway. I might have diner, no idea with whom though, in the city later.

On the western frontier… I've built myself a sparc kernel which does now boot (some delay(9) calls added), but doesn't cleanly execute any binary, save the following one:

	#include <fcntl.h>
	#include <stdio.h>
	#include <unistd.h>

		int fd;

		printf("Hello, World!\n");
		if ((fd = open("/dev/console", O_RDWR)) == -1) {
			fprintf(stderr, "cannot open /dev/console\n");
		} else {
			write(fd, "This is the console!\n",
			    strlen("This is the console!\n"));
		for (fd = 0; fd < 10; ++fd) {
		return 0;

This includes finding and fixing a few bugs in libc, building and installing csu, building and installing the static libc stuff, first, though. And I only get this line: "This is the console!" (Afterwards, I end up in ddb(4) which is sort of cool, really, as I can type "machine prom" to cleanly finish off the infantile operating system.

Due to the many recent fixes, I must build and release a snapshot to the public first though, afterwards I might tend to the pending issues (such as gzio support for config(8) and sparc userland). And of course the status report eMail.

Fun. I built (almost) the entire system with the cross compiler, and I wonder whether it works at all or what works. Discovered a few bugs, mostly Makefiles, in between – explains why macppc did not work. I could probably build lynx(1), mkisofs(8) and rcs(8) and its friends, but that's not worth the effort, and they can easily be made natively. Still, almost all non-GNU tools are built now.

17.06.2006 by tg@

It's warm, but still cold enough to not freeze my laptop during that all-night release build. It succeeded, even in less than 6 hours (at 1 GHz), and I invented the idea of gzip(1)'d ISO files in torrents which helps people with slow internet connections…

Now trying to get sparc going, and tomorrow there's a hacking + Jugo session with wbx@ again.

Except for a little TRAP 04 (fp instr while fp disabled) I've got my sparc running multiuser and starting to build ld.so, shared libraries, perl, all the stuff you can't cross-build, and ports.

I also gave up on the amd64, macppc and pmax ports. We're restricted to i386 and sparc for now, due to lack of resources.

still counts as 18.06.2006 by tg@

Today's entry is not a wlog but a blog entry, sorry people, but wbx@ prodded (provoked too) me after an 18-hour hacking session to write about FreeWRT been cross-built. Guess: Which host operating system, target OS editor, shell? (You probably already know without reading that blog entry.)

MirOS also profited from it – fixed a corner case in $PS1 home directory to tilde character (bash-like) expansion.

Now I have two operating systems to take care of at MARC, GMane, OSnews, DistroWatch, Freshmeat, Slashdot (no longer since they're not lynx-compatible any more), Symlink, and whatnot. Damn!

wbx@ will regret it some day to have me as core developer… I'm the first one to write an UTF-8 commit message and compiling an editor with UTF-8 support although that is globally disabled also goes to me. I also named patches "interestingly" and cursed almost every other project in the world, mostly Linux, but also GNU, OpenWrt, and a few other entities, as well as both hard- and software, in today's svn commit messages. And that only was the first day… I already have been thinking about evil plans with entropy, arcfour, openntpd, and an astonishing number of other things I already forgot.

Note to self: mksh's Build.sh is not designed for cross-compilations. Almost as evil as pppd(8). Fix it for the next major release.

À propos Subversion: It is as shitty as CVS, only slower. I'm serious. I really mean it. I mean, I've ranted a lot about svn before, but now that I've actually used it… it's not gotten better. It's really slow and sucks. Rather the contrary. Well, it can do renames or moves, right? Thanks, I'd rather have working $FreeWRT$ expansion than that (yes). Oh, and please, could we set that globally instead of have it being made a property of every single fucking file in existence and having to take special care for newly-added files? CVS rules seriously (I'm positive now).

23.06.2006 by tg@

This will be the last wlog entry, as we're preparing to go to the FrOSCon 2006 now. After exactly six months, this ends the life of MirOS #8 without prejudice.

agreed bsiegert@

Good luck, have fun, take care etc.pp

MirOS Logo