Building a DKMS package of the latest Intel e1000e driver

This is a continuation to my earlier blogpost about hacking initrd.gz. After it’s installed with the modified installer kernel, and finished building, the installed kernel doesn’t have the e1000e driver. This is because the netboot installer pulls in a kernel and it’s wherewithall from apt. It also gets a new initrd. As a result, I’ve decided to build an e1000e-dkms module, and we’ll specify the preseed installer to install that, along with linux-headers-generic, linux-headers-2....

March 1, 2012

Hacking initrd.gz on Ubuntu's Netboot Installer

This morning, I did something unquestionably naughty, and totally got away with it. A little background. We just had some brand new workstations delivered.. They turned up yesterday afternoon. They’re high performance 3d workstations with an Intel DX79TO mainboard. This mainboard has the intel 87529 Gigabit Ethernet controller. I wouldn’t normally pay so much attention to the controllers and so on that are actually on a board, but in future, I will....

March 1, 2012

That DMG ate my System Preferences

Well, that’s certainly another strange problem. We have a tendency to build our own DMG images for certain bits of software we roll out here. Sometimes we’ll incorporate our own patches, other times it’s just to make the application structure more FHS compliant, and stop it “shitting all over the filesystem”, as we so charmingly term it. In the past, we’ve used InstallEase to build a DMG and PKG installer for OSX....

February 22, 2012

Puppet, apt, and a Thundering Herd

Puppet really is great. Don’t ever get me wrong there. It’s saved me masses of time and money over the last few years, and allowed me to do my job quickly and efficiently. That said, it really does have issues with scalability. After about 20-30 clients using WEBBrick, everything kinda falls over a bit. We had this problem at Baseblack. We’ve now got ~60 workstations and rendernodes all using Puppet for configuration management and software deployment....

February 21, 2012

Not Storing Files in Databases

Originally a comment here In the above article, Bhumi gives a method for storing files in the database, using MySQL and PHP. My personal distaste for PHP aside, I don’t think I could ever find a reason to store files in the database, rather than on the filesystem. I’m also primarily talking about RDBMS type databases, not NoSQL, which tend to have a mechanism for storing files a little bit more sanely than “old-fashioned” databases....

January 29, 2012

Building Updated Packages for Sun-Java6 on Ubuntu

Firstly, welcome back. It’s now 2012, and there’s lots more to write about. Recently, Oracle withdrew the ability for Linux distributions to repackage Java and distribute their own packages. This has been widely regarded as a bad idea. I tend to agree. So, let’s re-roll an old sun-java6 deb file, with a new content to contain the latest 6u30 java release. You will need: A set of build packages (I’ve got a set for lucid, so if this goes away, I’ll find some way to host them....

January 5, 2012

Twitter and their REST blunder

Hah. So it’s New Year’s Eve. Twitter is down, and has been for about 3-4 hours. That’s because the NYE celebrations have already started. Somewhere on the other side of the world. I include Twitter on my personal website. The one you’re reading. There’s a template tag that displays my five latest tweets. About 2-3 hours ago, I got some error reports about XML parse errors on that template tag. I use api....

December 31, 2011

Low Level Infrastructure: Puppet, DNS and DHCP

Right. Let’s have a look at the massive technical implications of the Fix Puppet idea. As I mentioned in my earlier blogpost, in order to fix puppet in a sensible way, we’ll have to review all, and overhaul some of the underlying infrastructure that allows it all to run. The interlinks and dependencies between all the parts are a little tricky to visualise. So, here’s a picture. Anything in red needs attention, and the stuff in green just works....

December 20, 2011

A manifest for Agile Devops

I’ve decided. We need to start doing points poker here at Baseblack if we’re going to carry on this Agile DevOps thing. I’ve got to admit, the first time I came across the Agile methodology was quite late in my career. In the past, prioritisation of “operations” projects was reasonably first come first serve, or by order of priority (frequently, business need, and seldom operational requirement). For software development teams, Agile is a pretty good, native fit....

December 20, 2011

Postgres Replication on 9.1

Our new PowerDNS cluster (of 2 nodes, so far).. Is backed by Postgresql. In the past, I’ve found that Postgres performs far better for a PowerDNS backend, than MySQL, and certainly better than the BIND, LDAP or SQLite backends. Until version 9.x, Postgres replication was a pretty sorry state of affairs. There were a few options for replication. Slony was commonly used, if not very good.. You’d tend to get a horrific SPoF around the single master....

December 20, 2011