⚠ This page contains old, outdated, obsolete, … historic or WIP content! No warranties e.g. for correctness!
All 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Bulk builds revisited
Even though I had added a “mmake bulk-build” target to MirPorts’ top-level Makefile some time ago, one thing has always been broken: if one port in a bulk build fails to build, we do not want to abort the whole thing. Using mmake -k however leads to 0-byte packages and corresponding bulk cookies being created erroneously. This seems to be a consequence of the “indirect” inter-target dependencies used by MirPorts.
The fix turned out easier than I thought: there is a REPORT_PROBLEM variable that can be set to a command run when mmake fails. The default is exit 1. For bulk builds (i.e. when BULK is set), we now default to a new failedport script, which records the directory and flavour in ${PORTSDIR}/Failed and exits with status 0. Thus, the build continues at the next port, as is should.
The next thing I want to do is a HTML report of a finished bulk build with links to all build reports. I saw this in Rodrigo Osorio's “Porting applications in FreeBSD” talk on FOSDEM 2009, and thought it was quite nice.
Today is Rosenmontag, so we were only four people in total today. Anyway, we tried to use Mondo to back up and, subsequently, clone a Gemeinschaft system with CentOS/amd64.
We learned a few lessions:
- a grml CD is handy, even if it’s just a grml-mir
- CentOS sucks, RPM sucks, YUM sucks
- Very few software is available for CentOS
- Upstream software sucks (RPM and DEB versions differ)
- Mondo sucks, it can’t deliver what it promises, has a shitload of bugs and is very hard to use
- You’ll have to install a bootloader yourself after a rescue
- The GNU GRUB-legacy from CentOS cannot access (even read-only!) a filesystem created with mke2fs -j /dev/sda1 on grml-mir. Neither can ports/sysutils/pxegrub from MirBSD.
- Debian Lenny/amd64 comes with a working GRUB1, but not with a pxegrub image… anyway, copy ldbsd.com to pxebsd.0 on the netboot server we already have, enter it into pxelinux.cfg/default and use boot> machine exec grub tftp:/stage2 to chain to it. Then copy all the stuff from /usr/lib/grub/… and the binary /usr/sbin/grub to it, remove /boot/grub/stage* first, copy the Debian stuff over, and install (./grub). Voilá.
- GNU bash sucks. Especially with a foreign keyboard layout where the ‘-’ key produces a ‘ß’, which inserts a multibyte UTF-8 character. Of course, “yum install mksh” worked, thanks to rsc.
- Any kind of vi(1) sucks. Just some, like vim, suck more.
In the end, we got what we wanted, with a combination of the MirGRML ISO, stock Debian packages, a call to rsync after mondorestore, and my cool bootloader. By the way, this means that both using boot(8/i386) as direct boot image and as “pxebsd.0” image chained(!) from PXELINUX are tested now. (Do not chain to “ldbsd.com” as PXELINUX will unload the PXE/UNDI stack before calling it, possibly. It insists that PXE boot images¹ are called *.0…)
① which, according to hpa’s FOSDEM talk, must be smaller than 32 KiB… the hell… but if such a situation should ever arise, PXELINUX is, in fact, smaller. I haven’t yet such a pedantic NIC yet, though.
Too bad that cost me almost the entire afternoon, since I had planned on beginning to cross-compile Java™ 6 to MirBSD™ using Robert’s IcedTea patches, and hack some more on FreeWRT. But at least, we have achieved something (the second server is running just fine now) and learned a lot in the progress.
In unrelated news, mikap has integrated bsd4grml into the new grml-live version. Although a few commits to the bootloader (cd9660), getextent_cd9660(1), kernel, installer, tpmrng(8) are still pending; he will be provided with a new version of bsd4grml then.
History lesson
Today I read “The unknown hackers”, a piece about Bill and Lynne Jolitz, the creators of the 386BSD operating system.
On exhibitions and conferences, we are often asked by visitors why the hell we forked form OpenBSD. The same argument, namely that we should have been content with submitting patches instead of forking, is sometimes brought forward by OpenBSD devs. But here is the thing: We did this at the beginning but nobody wanted them—not even a reply to the mail in most cases. What is funny is that according to the article, the situation was very similar in the early 1990s, when FreeBSD and later NetBSD forked from 386BSD:
“The Jolitzes [...] seem to have tried to control quality by doing most of the work themselves. This inevitably made their release cycle slow, but it was also an implied snub to would-be collaborators – who took their contributions elsewhere. [...] By the time 1.0 was released, the x86BSD user community had fragmented. Some developers had moved to the more active and open NetBSD and FreeBSD teams. [The Jolitzes] were criticized for their autocratic style. The strength of their convictions did not endear them to people who wanted to do things differently.”
Funny how history repeats itself, isn't it?
The MirOS Project News in the upcoming February issue of the BSD magazine contains a mention of mksh R37 with a new memory allocator. This will, however, be postponed, because I could not get it right in time (even though I learned from the first tries — and wish I could write it in i386 assembly) and lost interest for now, as the current one still does work. I may revisit that at a later date.
Fixing the PS1 bug, maybe changing the echo builtin to SUSv3 (and nothing more), maybe porting, are on the list, besides continuing the Coverity Scan fixes.
still recovering
I admit I hacked a little for leisure tonight, but I’m still recovering from a rather bad case of the “common cold” (grippaler Infekt) so I’ll yet have to do some catch-up on my duties, read and respond to mails and other communiques, etc. So don’t get your hopes up too soon. But I could go to my dayjob again today, which my doctor gave me a permit to not do for the end of last week. Paid about 50 € for remedies and the health insurance *grml…*
Not exactly sure where my priorities lie at the moment. The computer related things will come a little short in the next while; I’ll probably hack some more entropy and bootloader related stuff for fun, do another snapshot, while trying to get tear finally done, but that’s about it. The debs are postponed, no matter how much a decent lynx-secure package (linked against OpenSSL!) is needed; other MirOS work probably too. (Except little things here and there; helping the users which give actual feedback, especially for mksh; maybe, once we have enough Qs, put up a FAQ.)
I guess I have some catching up on sleep, life duties, and non-computer-related activities to do, considering how much the new job and the FOSDEM preparations strained.
(picture courtesy of Christian “taleon” Ruesch from #pcc)
FOSDEM 2009 is over, we are all sober again (I hope), any spotted bugs are getting fixed. I tended to the disklabel sector size issue, although that has yet to be tested, and we might want to see what upstream does about it. mksh changes will be coded when I get to it, and we’re looking forward towards the next event(s).
Is there anyone interested in making a Virtual Appliance (for qemu, VMware, Parallels, you name it) out of MirOS? I could, of course, do a standard install one, maybe add some packages, like with the live CDs, but I’m not good for desktop style ones. Maybe we want a server and a desktop appliance. Benny could bake a GNOME version, just to show off (note that I still quite dislike it… and expressed it with one of these yellow stickers at the “GNOME HATE” side at FOSDEM ☺).
MirOS/sparc users, show yourselves, if you want snapshots to be built and provided more often. Talk to us, so we see the effort to support a second platform is not in vain.
Alle englischen Flyer weg, alle CDs heute Vormittag weg. Die (alten) deutschen sowie die französischen Flyer gehen okay, aber die Mengen und Verhältnisse sind echt nicht planbar.
Die Vorträge sind okay, aber leider für mich nichts dabei zum rausziehen. Pläne schmieden geht aber.
mksh hingegen ist mehr als nur ein Erfolg, auch wenn mir gruselt, wenn Leute eine ohne den emacs-Modus haben wollen.
Hm, irgendwie läßt sich das Event nicht gut in Worte fassen. Es hat sich auf jeden Fall für uns alle gelohnt. Das Hotel war spaßig (insbesondere der Versuch, eine Rechnung zu erhalten); gestern Abend gabs Couscous Merguez + Lamm in einer verdammt kleinen aber gemütlichen Bude (mit Couch!), wo wir frischen Minztee getrunken haben (fünf Kannen; ich alleine zwei oder so).
Das Aufbauen verpaßt, aber wir haben ein „m“ (Bild wird später nachgereicht, sollte smultron freuen), viele Kontakte, und die englischen Flyer sind jetzt schon alle, die CDs runter auf ¼ oder so.
Der Unicode-syscons-Vortrag war für mich leider nicht so ertragreich; dadurch, daß wir vt100 wscons(4) haben, und durch meinen script(1) -lns Hack, haben wir schon mehr Probleme gelöst und Wissen angebaut als er. Ed Schouten ist aber anscheinend ein vielversprechender talentierter Jungentwickler.
Cool, ich habe ein bißchen WLAN! Mal schnell ein bißchen wlog Einträge verfassen, Benny und gecko2 wollen ja nicht.
Jetzt nur noch den NetBSD®-Kollegen neben uns zum Installieren des RANDEX-Plugins verlassen…
Wer setzt uns eigentlich direkt neben OpenBSD? Zum Glück gibts eine große Barriere, daher ist bislang, außer Laserpointerattacken (sogar direkt in Bennys Auge) noch nichts passiert…
Gestern, Freitag Abend, war der Tag 0 der FOSDEM. Natürlich waren wir — Fabian Köster und der Vortragende Robert Schuster, gecko2@ und ich — beim Beer Event, später auch mit bsiegert@. Das Bier war lecker, allerdings habe ich zwar nicht zu viel aber wohl zu varietätenreich getrunken, sodaß es mir in der Nacht nicht so wirklich gut ging und ich noch Bauchschmerzen habe. Also keinen mit dem Debian Projektleiter trinken.
Benny hat lustige Sympathiën von Leuten aus anderen Projekten bekommen, aber ich darf leider nicht drüber schreiben.
MirOS heartbeat protocol implementation: abuse as NTP monitoring
I’ve started trying to use the mircvs://contrib/code/heartbeat/ stuff to monitor NTP timedeltas between my boxen and a reference box (some random Stratum 2 pool server I do not use as server in any of the boxen, otherwise I might have used the PTB servers). Add rrdtool and rrdgraph output. Maybe mail when the boxen are down, until we have company monitoring set up?
I wonder if I should do it the “right” way instead of the “little effort” way, then commit it? Including cleaning up the age-old code. Is there any interest?
On a side note, we need a monitoring and management system, either one tool or integrating a few. It should have a command line interface and a WUI, different web pages for admins and (read-only) users who can look there for the general system state before complaining. Also, we need configuration management. A few keywords: nagios, cacti, puppet, cfengine. These were thrown into the room. Does anyone have a complete solution, possibly with VM management (how much does OpenCRM do?), for which we currently use a homegrown Jabber bot (don’t ask…) which does the template cloning (zfs, iSCSI) and other setup. Other suggestions, tools to avoid, success stories, links, documentation welcome.
Deutsche Bahn verschenkt BahnCard 25
Leute, kauft euer Nahverkehrsfahrkartenabonnement bei der Deutschen Bahn. Nicht nur nerven sie täglich weniger, sind ihre Züge in der Regel pünktlicher, sondern sie überfahren einen auch nicht fast… wie bei gewissen Stadtwerken vorkommt. Und in der Regel halten sie sogar da, wo sie sollen.
Auf jeden Fall habe ich meine innerstädtische Monatskarte bei der DB gekauft und hatte heute einen Gutschein für ein Jahr BahnCard 25 im Briefkasten. Nett…
k?buntu cheats (remember cheaterinterview.mp3? think Shuttleworth)
kdm starts while (Ctrl-Alt-F8) the system is still booting. I only noticed it because we log in against LDAP (UCS), and since I have two NICs in there now (due to FreeWRT stuff), the Network Manager takes more time in bringing the network up. Gah. I do not even want to log in before /etc/rc.local has run, because it contains calls to rdate and starts an egd (entropy gathering dæmon), among other things… these cheaters are worse than Microsoft®!
Oh, and when I wanted to unlock it to write about it, it hung (as if it didn’t like me). Alt-SysRq to the rescue (we need it in MirBSD too). Crapware.
All 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40