You are not logged in.

sprezzatech blog #0011

Dirty South Supercomputers and Waffles
UNIX, HPC, cyberwarfare, and chasing perf in Atlanta.

SprezzOS Weeklyish Oblations, Objections, and News (SWOON) Vol. 1 Issue 2.
Thu, 07 Feb 2013 01:43:05 -0500

SprezzOS Weeklyish Oblations, Objections, and News (SWOON)

Volume I, Issue 2. 2013-02-07. Editor: Nick Black.


“...better not to do than to do, better to meditate than to act, better his astrophysics, the threshold of the Unkowable, than my chemistry, a mess compounded of stenches, explosions and small futile mysteries. I thought of another moral, more down to earth and concrete, and I believe that every militant chemist can confirm it: that one must distrust the almost-the-same (sodium is almost he same as potassium, but with sodium nothing would have happened), the practically identical, the approximate, the or-even, all surrogates, and all patchwork. The differences can be small, but they can lead to radically different consequences, like a railroad's switch points; the chemist's trade consists in good part in being aware of these differences, knowing them close up, and foreseeing their effects. And not only the chemist's trade.”
—Primo Levi, The Periodic Table
A few days ago, I somehow broke the debian package generation tools in a subtle way. After several hours' investigation (how I do hate perl), the breakage manifests itself as the Depends: line being left out of the control file of those packages which do not install a shared library (and no, it has nothing to do with multiarch) but do install multiple binaries, but not for all such packages. I can manually walk through the debhelper steps, and everything works. Infuriating! I'll get it knocked out this weekend, most likely. Until then, I have to be very careful not to upload packages missing their dependencies, lest we slip into a chaos of linker failures and broken Using directives. Frustrating! Things were easier before we had users and I could do things knowing I'd only break my own machine, and only until I got sick of it.

I wouldn't trade that slack, however, for last week's 1731 downloads of the 1.0.x installer, nor the ~700 or so machines that seem to be running SprezzOS 1 (derived from web server access logs). It's hugely exciting and affirming. Thanks everyone who has tried out SprezzOS! It's gonna get better and better.

Κύριε, ἐλέησον.


Early this week I released the 1.0.4 installer, which as promised added ZFS support back into the install process. I posted a G+ album featuring the 1.0.4 installer; here're some money shots (click for original size):

SprezzOS 1.0.4 installer GRUB boot screen
GRUB 2.00 bootloader
SprezzOS 1.0.4 installer Growlight details
Details view of EXT4+GPT
SprezzOS 1.0.4 installer aggregate type selection
So many aggregate types!
SprezzOS 1.0.4 installer aggregate device selection
Selecting devices for an aggregate

As I said in last week's SWOON, this week would primarily be about fixing services up to run under systemd, beginning with networking. I am pleased and proud to announce that, to the best of my knowledge, Bug 596 (failure to bring up network under systemd) and all its dependencies have been resolved. This required changes to the systemd, udev, netbase, ifupdown, and netcfg packages, but it all works now, and naming of devices is performed the same way in the installer as it is the installed system. Systemd 197 does this via biosdevname when applicable, and otherwise via the sysfs ID_NET_NAME_PATH attribute. Names are thus invariant across device changes, but not machine topology changes. I personally think topology invariance (i.e., names associated with MACs) is likely preferable, but this does, I suppose, lead to better names than one would otherwise have while also eliminating most possibility for collisions. Either way, I'm pleased that the old kernel-style naming is gone, and people won't grow up thinking that “eth” and “wlan” are the only valid prefixes for a network device's name.

The Linux kernel was upgraded to 3.7.6 in both the installer and default system. Its changes relative to 3.7.5 are described here; of particular interest is resolution of the dreaded “Samsung firmware” bug related to the UEFI implementation on some Samsung laptops. Xorg was rolled out, and with it X Video API 14; I've rebuilt the most popular video servers (Intel, NVIDIA, Nouveau, Radeon, Cirrus, modesetting, fbdev, vesa, and vmware), but if you need a niche one, just mail the sprezzos-dev mailing list. Upgrades were processed for nginx, colord, libdrm, isc-dhcp, Make, Apache 2.4, GIMP, several XFCE4 components, Cairo, beets, and many other packages. The ongoing, unceasing rebuilds of the Haskell and Perl worlds continue unabated.

καὶ εἰς ἕνα Κύριον Ἰησοῦν Χριστὸν τὸν υἱὸν τοῦ Θεοῦ τὸν Μονογενῆ.


I realized while writing installer documentation that, if I can make a CD that boots on both BIOS and UEFI machines, then I can certainly make a hard drive installation which does the same. Well, there's one complication, of course -- the target hard drive might already be arranged so as to make this impossible. That won't usually be the case, though, and thus when I'm adding guided partitioning via recipes to Growlight, I'm going to make sure this is included. That way, people can set up and finalize their disks without knowing whether they use BIOS or UEFI, or switch their boot disk between two machines using different firmwares, or install in BIOS mode and then boot in UEFI mode later, or whatever. This ties in nicely with our initiative to install bootloaders to all disks, and when these two are combined with UUID/label-based device selection, you'll be able to arbitrarily replace, remove, and add disks without making any changes to your setup (the UUID/labels in question are filesystem, not device/partition, UUIDs).

We're at the point now where most changes can be made strictly within the repo and its packages, rather than requiring new installation media. I'll thus drop 1.0.5 after having tested the networking fixes a bit more, and it'll hopefully be the last ISO of the 1.0 series.

I bundled up Ubuntu's old “brug” bootloader, and am going to play with it a bit. Much theming remains to be done, especially the core X theming — artists, please contact me if you've got time and talent to spare!

Mysterium fidei.


SprezzOS patches were accepted to the following upstream projects this week: Also, I started agitating for growlight's replacement of partman in the Debian installer. This led to my filing of an ITP for Growlight, which will hopefully go through smoothly. If it does, growlight will of course also be inducted into Ubuntu and other Debian derivatives, which will be great for exposure and testing.

Agnus Dei, qui tollis peccata mundi, miserere nobis.


Sharp-eyed SWOON readers will notice that our source package count went down from last week's. That's because I was counting wrong last week -- I was looking at the number of directories in world/, but not all of those are yet being built. Our binary package count likewise went down, because I was counting both binary and source packages in the repo. Sorry!

Ite, missa est.

Rock over London, Rock over Atlanta
Wheaties: Breakfast of Champions.

Per ardua ad astra.
SprezzOS logo