A fusion of technology, music, and geekyness.

Music Spotlight: Gareth Emery

Gareth Emery released a new track that will be on his upcoming September 2010 album. The album name is to be “Northern Lights.”

Gareth Emery feat. Lucy Saunders – Sanctuary


Linux Disk Imaging with Clonezilla and PXE

Now that I finally have a file server at home I got curious again with disk imaging solutions. After doing some research I found a pretty awesome tool called Clonezilla. After downloading the live CD and playing around for a while the first thing I wanted to do was test it out in a PXE boot fashion. Here was my quick and hackish approach. My test run was on a VirtualBox VM in Xubuntu 10.04 with a bridged adapter.

1. Install TFTP server

sudo apt-get install tftpd-hpa
sudo start tftpd-hpa

Ensure /var/lib/tftpboot exists. If it does not:

mkdir -p /var/lib/tftpboot

Ensure that the values in /etc/defaults/tftpd-hpa match.

2. Install DHCP server

sudo apt-get install dhcp3-server
sudo vim /etc/dhcp3/dhcpd.conf

Add something similar to the following…

default-lease-time 86400;
max-lease-time 604800;
authoritative;

subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.10 192.168.1.15;
        filename "pxelinux.0";
        next-server 192.168.1.121;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.1.255;
        option routers 192.168.1.1;
}
sudo service dhcp3-server start

The next-server option needs to be the IP of the TFTP server. Everything else should be self explanatory.

Before proceeding verify both services are listening.

sudo netstat -upan | awk  '{print $6}'
2008/dhcpd3
582/dhclient
3627/in.tftpd

3. Install syslinux if it is not already (it should be). Copy over pxelinux.0 into the appropriate location.

sudo apt-get install syslinux
sudo cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot

4. Download latest clonezilla zip from SourceForge.

sudo unzip clonezilla-live-*.zip
sudo cp live/vmlinuz /var/lib/tftpboot/
sudo cp live/initrd.img /var/lib/tftpboot/
sudo cp live/filesystem.squashfs /var/lib/tftpboot/
cd /var/lib/tftpboot
sudo touch boot.txt
sudo mkdir pxelinux.cfg
sudo touch pxelinux.cfg/default

Your tree should end up looking something like this in the end:

├── boot.txt
├── filesystem.squashfs
├── initrd.img
├── pxelinux.0
├── pxelinux.cfg
│   └── default
└── vmlinuz

5. Create configs

sudo vim boot.txt

I made my menu look something like the following…


========================================================================

 .d8888b.  888                                    d8b 888 888
d88P  Y88b 888                                    Y8P 888 888
888    888 888                                        888 888
888        888  .d88b.  88888b.   .d88b. 88888888 888 888 888  8888b.
888        888 d88""88b 888 "88b d8P  Y8b   d88P  888 888 888     "88b
888    888 888 888  888 888  888 88888888  d88P   888 888 888 .d888888
Y88b  d88P 888 Y88..88P 888  888 Y8b.     d88P    888 888 888 888  888
 "Y8888P"  888  "Y88P"  888  888  "Y8888 88888888 888 888 888 "Y888888 

======== Boot Options: ================================================

>> clonezilla ......... Regular Boot
>> clonezilla_safe .... Failsafe Mode

=======================================================================

And finally the pxe config…

sudo vim pxelinux.cfg/default

Looked something like this:

DISPLAY boot.txt

LABEL clonezilla
	kernel vmlinuz
	append initrd=initrd.img boot=live union=aufs noswap noprompt vga=788 fetch=tftp://192.168.1.121/filesystem.squashfs

LABEL clonezilla_safe
	kernel vmlinuz
	append initrd=initrd.img boot=live union=aufs noswap noprompt vga=normal nomodeset nosplash fetch=tftp://192.168.1.121/filesystem.squashfs

PROMPT 1
TIMEOUT 0

Please note that the IP address should be the IP of the TFTP server!

Now testing with a Dell Latitude E6410 I hit F12 on the BIOS screen, Select Network Adapter, and SUCCESS! You should see your boot.txt with a “boot:” prompt. Please share your experiences and alternative implementations on how you solved this issue. I would love to hear them!

My Test results:
250 GB (239.9 GB after formatting)
67.7 GB in use
175.2 GB free
Transfer Rate: Started at 900 MB/min at first, peaked at 1.91 GB/min, ended at 1.72GB/min, average 1.7 GB/min
Time elapsed: 37 minutes, 41 seconds


Disabling Pulseaudio in Ubuntu 9.10

I have been having a great deal of trouble with sound in World of Warcraft. I then found out after searching around that my issues were related with Pulseaudio. I found a useful forum post that gave perfect instructions on disabling pulseaudio from restarting automatically.

touch ~/.pulse-a11y-nostart
echo autospawn = no|tee -a ~/.pulse/client.conf
killall pulseaudio

With pulseaudio killed sound in WoW is flawless!


World of Warcraft: X-53 Touring Rocket and Geeky Names!

The picture says it all!

WoWScrnShot_050810_174651


Possible Migration from Ubuntu to Gentoo Linux (Nope, Arch!)

I have been giving it a lot of thought recently. I have been using Ubuntu for a couple years now and I think I am ready to move on. I haven’t tried Gentoo since college and I thought that tonight was a good night to check in on it. I was worried that it may be somewhat dead and that no one used it anymore so I decided to see if they had a chat room on irc.freenode.net – boy was I suprised! The channel was booming! I am currently installing a test drive VM right now. The installation process is so refreshing. Tonight made me realize that I have really let myself go since college. I am sick of Ubuntu and how it constantly wipes my ass for me, but fails sometimes anyway. I currently am running Ubuntu 9.10 with Gnome and the plan is to migrate to Gentoo and Xfce. The following information illustrates my reasons for wanting to switch. Ones that weigh more for me are in bold.

Ubuntu 9.10 Pros:
Just works
Apt package management is speedy
Well supported
Attractive
I know it

Ubuntu 9.10 Cons:
Does too much
Gnome is bloated
Deb package dependencies are crazy sometimes
Can be slow at times

Gentoo Pros:
Very trim and lightweight
Forces you to learn and maintain general linux knowledge
Very flexible

Gentoo Cons:
Takes FOREVER to compile packages and dependencies
Emerge can have issues
Not for lazy people (and im pretty lazy)

As I write this post I am on step 9/10 of the install. I will provide updates as time goes on.


Update 1:
I encountered three problems and got them all resolved. I am currently installing Xfce and xdm right now. The problems I faced:
1. Changed password for root user for install, not chrooted gentoo environment.
2. The install CD loads out of date drivers so hard drives show up as hda during install but sda during initial boot. This screwed up both GRUB and /etc/fstab.
3. I forgot to compile my network card drivers into the kernel so my eth0 device didn’t exist.

I also found this quite interesting and hilarious (click on it to read):
gentoo_lol


Update 2:
Gentoo compiles are taking WAY too long and the installation takes 4+ hours to complete. This is just not an option these days, especially for my work laptop. I decided to give Arch + Xfce a shot and it was a breeze. I still feel like I get way more control than I did in Ubuntu without all of the bloat. I am going to try this out for a while and see how I like it. If for whatever reason I dislike it, I will be switching to Xubuntu and call it a day.

Selling points on Arch:
The Arch Build System – Amazing!
The Arch User Repositories, for must haves like my beloved google-chrome!
Minimalistic approach

Kris I hope you are happy…


Startup Script for Rails with WEBrick

I finally started playing with rails again. I decided to play around and start the basics of a billing application. I was initially debating web app versus a desktop app (rails vs ruby-gtk). I wanted a reason to finally start using rails so I decided to make it a web app. I then realized I may be able to simulate a desktop app with rails. I pulled in the base ruby packages, manually compiled RubyGems and installed necessary gems, and decided to script a startup routine so I could create a launcher on my desktop. This solution is far from perfect but it manages to fulfill my needs. My “desktop rails app” uses the built in standalone webserver WEBrick and sqlite3 for its backend.

#!/bin/bash
cd /home/jesse/rails/billing

if [ ! -f tmp/pids/server.pid ]; then
	script/server -d
fi

while [ `netstat -tan | grep 0.0.0.0:3000 | wc -l` != 1 ]; do
	echo "Server not started yet..."
	sleep 1
done

google-chrome http://localhost:3000/customers &
tail -f log/development.log

# Server can be killed with:
# kill -INT `cat tmp/pids/server.pid`

I then created a launcher simliar to this:

launcher

When I double click on the icon the first time it pauses for about 5-6 seconds while WEBrick initializes and binds to port 3000. As soon as it detects the webserver listening, I launch google-chrome to the default view. Each time I click the icon there after, the webserver is already running so the google-chrome tab kicks off instantly.


« Previous Entries Next Entries »

Powered by Wordpress | Designed by Elegant Themes