Developers’ Weblog

Sponsored by
HostEurope Logo

Developers’ Weblog

⚠ 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

one (lonely) day at work

2009-02-23 by tg@
Tags: bug grml

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 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 “” 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.

MirBSD Logo