containerization containers gentoo Linux lxc

Running 512 containers on a laptop

As an exercise on how lightweight and extensible LXC can be I decided to create a large installation of LXC containers on my laptop.  I wanted to see if LXC would allow me to create large-scale testing environments often needed for testing software with several moving parts.

android irssi Linux push notifications screen ssh

IRSSI Push notifications to GNOME desktop and Android device

Several people have asked me recently how I forward IRSSI notifications to my desktop and Android devices. The solution could be basically described as follows:

IRSSI configuration

Install these scripts into $HOME/.irssi/scripts (and symlink it in $HOME/.irssi/scripts/autorun) to have them autoloaded when IRSSI starts.

Android configuration

Sign up for a notifo account, download the android app, and sign in with it. Make note of the username and API key, as you’ll be configuring irssi to use them.

You’ll be loading the scripts in IRSSI and setting 2 notifo parameters:

/script load
/script load
/script load
/set notifo_username $USER_NAME
/set notifo_api_secret $API_KEY

Now receiving highlights while you’re away (detached from the screen) will send them to your android device.

Desktop configuration

Add an entry similar to this in your $HOME/.ssh/config file (creating it if it doesn’t exist yet). This will forward your traffic being received by the IRC server (on localhost) on port 4443 to your SSH client on port 4443 (IE: your laptop):

ControlMaster Yes
ControlPath $HOME/.ssh/irc.control
RemoteForward 4443 localhost:4443

Now all we need is a daemon running on your client to listen on localhost:4443 and receive the messages, then insert them into some sort of notification service. My method for doing this is to have a script in $HOME/bin run in a screen and display them using pynotify.

I’ve written a script that I call notifywatch that does exactly that. Save it to $HOME/bin/ and mark it executable.

Add screen -d -m $HOME/bin/notifywatch into your startup scripts, and desktop notifications should work as well (even while connected to your IRSSI screen)!

ganeti kvm Linux maverick ubuntu ubuntu 10.10

Ganeti, dealing with node failure

This morning at Mozilla, we had out first ganeti node failure, which meant we got to learn how to deal with a node failure! So far all of our ganeti clusters have been 2 node clusters, so while relatively simple, it meant an extra quirk in bringing everything up. Thankfully we used the iallocator so as to not overallocate nodes on the cluster. Here’s how the process went.

ARM Linux lucid netwalker sharp netwalker smartbook ubuntu 10.04 ubuntu lucid

Sharp Netwalker, new Lucid Image

I’ve updated the lucid image. It should be a lot more stable since I compiled the kernel on the native platform. Right now I’m devising a way to install it to the NAND to make it a lot faster. And of course, Maverick images.

Links to the new download are here, and here.

10.04 Linux sharp netwalker smartbook ubuntu lucid

Updated mirror for Netwalker Lucid Image

Some folks in the comments section told me that the download did not work for them, so I added several mirrors. Please see the below post to find the links.

Additionally, I will be adding the Maverick images as soon as I’ve uploaded it, and have an updated Lucid image to improve stability.

10.04 ARM Linux lucid netwalker osuosl sharp netwalker smartbook ubuntu ubuntu 10.04 ubuntu lucid

Sharp Netwalker Ubuntu Lucid Image

I recently bought a Sharp Netwalker netbook for daily use in class and on the go. One of the parts that I didn’t like was the crusty old Ubuntu 9.04 install that came with it. Thankfully that’s not the only option available to me. I read some reports online that booting from the MicroSD card is possible. I also found a really cool tool in Ubuntu called rootstock. There’s even an android port for it.

I wanted a recent Ubuntu distribution though, which I couldn’t find provided for me online. So I rolled my own, and am reasonably pleased with the results. All of the hardware works, although there are some annoyances, such as no battery meter in the GNOME notification area, and the wireless card isn’t supported by NetworkManager, although still works with iwconfig and wpasupplicant. Additionally, the hotkeys on the top are not bound to any programs.

So here it is.

UPDATE: Commenters brought it to my attention that the link I posted may not work for some people. If that is the case, please try downloading from here, or here. Thank you.

To install this guy, format an SD card with one big ext3 partition and untar the tarball to it.

$ wget
$ sudo fdisk /dev/mmcblk0 # Make a big partition
$ sudo mkfs.ext3 /dev/mmcblk0p1
$ sudo mount /dev/mmcblk0p1 /mnt
$ cd /mnt
$ sudo tar xvjpf ~/netwalker-lucid.0.1.tar.bz2
$ cd ~
$ sudo umount /mnt

Afterwards, eject it and insert it into the Netwalker(unless you’re doing all this FROM the netwalker). Then shut the system completely off. To boot off of the MicroSD card, hold both mouse buttons down, then press and hold the power button for 2 seconds. Continue holding the mouse buttons down until black text bleeds through the white ‘SHARP’ splash screen. The first boot should take noticeably longer than other boots. The default username and password are both ‘ubuntu’.

I’m currently updating the image to use Ubuntu Maverick, and will publish a new post once I have a working image.

embedded hardware installation Linux nightly openwrt osuosl router routerstation routerstation pro

Routerstation Pro Backfire Nightlies!

That’s right boys and girls. I’ve started compiling RouterStation Pro OpenWRT nightly builds for all punks who like to live on the edge. From my testing these images are rather stable, and aren’t prone to consistent or serious issues. Since this changes nightly your mileage may vary.

Go get your nightly builds here.

ARM debian embedded guruplug hardware installation Linux osuosl u-boot

Upgrading GuruPlug Kernels

I recently had more time to investigate my earlier problems with the GuruPlug.  The problem was discovered by some people on the forum.  The problem stock U-Boot is that is incorrectly reports the arcNumber.  The solution then, is to upgrade U-boot!

After a failed flashing attempt(don’t attempt to tftp flash u-boot.kwb from within U-Boot!) I needed to use JTAG combined with the included JTAG adapter.  To do this, make sure that the UART cable is unplugged, and the JTAG cable is plugged in(unplug/replug the USB adapter just to be safe). First grab the guruplug-installer package, then grab a known-good copy of U-Boot.


Defcon Badge Hackery


Some of the OSUOSL employees attended the recent DefCon 18 conference.  One of the more uncommon features was the conference badge.

In addition to being a ticket for entry into the conference,  it’s also a hackable piece of hardware complete with 128×32 LCD screen, and microprocessor.  The source code for the badge is available online.

Corbin Simpson, a developer at the OSU Open Source Lab spent a large portion of his time at the conference developing and uploading new software onto his badge.  His first badge hacking project was to upload new images to show his appreciation for the lab.

ARM hack hardware Linux u-boot

Restoring GuruPlugs

I’ve recently taken ownership of a GuruPlug, and naturally the first thing I tried to do when I got it was to install Gentoo on it.  I first went to build a kernel using the GuruPlug patches on a vanilla 2.6.34 kernel, which ended up disasterous.  I applied the patches, however the kernel ended up not booting.

At which point I decided I wanted to try to restore the original kernel, so that I would at least have a working system with which to test.  Therein lied the rub.  The files posted here are completely broken.