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.
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:
Install these scripts into $HOME/.irssi/scripts (and symlink it in $HOME/.irssi/scripts/autorun) to have them autoloaded when IRSSI starts.
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 screen_away.pl
/script load socketnotify.pl
/script load notifonotify.pl
/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.
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):
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/notifywatch.py 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)!
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.
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.
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.
To install this guy, format an SD card with one big ext3 partition and untar the tarball to it.
$ wget http://files.blueheaven.ws/netwalker/netwalker-lucid-0.1.tar.bz2
$ 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.
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.
I recently had more time to investigate my earlier problems with the GuruPlug. The problem was discovered by some people on the plugcomputer.org 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.
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.
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.