My MIPv6 testbed

Oh yeah, just got “my” MIPv6 testbed up and running. It’s a work task actually, but some material is mine like the Asus EeePC and the Nokia N810. Well, just wanted to share with the world how wonderful it is :-p

Super-cool MIPv6 testbed

Super-cool MIPv6 testbed

Enjoy you geeks!

Advertisements

Defining multiple IPv6 addresses in one single NIC in Linux

While on my MIPv6 quest, I needed to define two IP addresses to a single ethernet card. Well, I thought the usual aliases thing would suffice, but I guess I was wrong since that didn’t work, complaining something like:

SIOCSIFFLAGS: Cannot assign requested address

So I remembered that, at least in Linux, you can have multiple IPv6 addresses in one single NIC just by issuing the command:

ip -6 addr add 2001:db8:a::1/64 dev eth0

This worked out! But now I wanted to add it to my /etc/network/interfaces so that the changes would be permanent. After some googling I found out that all I had to do was to add the previous command like follows:

auto eth0
iface eth0 inet6 static
address 2001:db8:f:1::1/64
netmask 64
up ip -6 addr add 2001:db8:a::1/64 dev eth0

Then just reboot or execute:

sudo ifconfig eth0 down
sudo /etc/init.d/networking restart

And there you go! Multiple IPv6 in one single NIC the easy way 🙂

Custom kernel for Asus Eee PC

Recently a relative of mine bought an Asus Eee PC 4G (I believe it’s aka 701) with Windows XP. It’s a sweet device for any geek to have around, btw 🙂

Oh well, some cola over the keyboard made it unusable.. at least for the previous owner. That’s right, “previous”! Why? Well, there it was, this beautiful black toy, thrown to a dark and cold corner as if dead and I couldn’t resist to ask for a look. We agreed that if I got it to work, it would be mine. And so it was.. Now I only need to test if the built-in keyboard is really dead or if it’s a controller problem. Anyway, I’m using my Apple USB keyboard for home fun.

Asus EEE PC 701

Asus EEE PC 701

After the hardware issues I got to the software part aka replacing the bundled Windows XP with Linux. As I was in a hurry I looked for the default Linux distro that comes with these babies, Xandros Linux, just to find out that it’s not freely available. Oh well, it actually sucks anyway compared to the distro I’m using right now, eeeubuntu. As a strong Ubuntu user and supporter for some years now, I am biased here of course, but it truly suits my needs without any hacks. First of all you have to select and download one of three versions: standard – a full blown desktop; nbr – Netbook Remix says it all; base – for disk space paranoids. I went for the nbr flavour and I’m quite happy with it!

The .iso file can be then processed into a CD that you’ll read using an external CD/DVD drive or simply by going the Ubuntu way, building and using a bootable USB stick. And so, after something like fifteen minutes I had my shiny new operating system up and running 🙂

After some adding/removing software, I wanted to start hacking this little bitch to get MIPv6 working on it, meaning I had to recompile the kernel which in this distro is obviously compiled with some external modules. I once tried it in a Xandros installation, and it was quite trivial, but now I wanted to package my changes into a .deb file I could replicate for others, like eventually yourself. I found out that there are already very good instructions to do so, and not wanting to add more noise to the web, I’ll just document the steps I took.

First, you’ll need some packages. I believe the following command package “list” is incomplete as I’ve used this machine before for compiling other stuff like OpenWRT. Still, you should be able to easily identify the missing parts 🙂

sudo apt-get install build-essential debhelper fakeroot git-core

Update (thanks to _trine @ freenode):From now on, I assume your user has got write-permission for /opt.
Get the tailored kernel source from array.org git repository (in my case I’m using Intrepid Ibex).

cd /opt
git clone git://git.array.org/array/ubuntu-intrepid.git

Now, manage a .config file which in this case is a bundle of default config and config.eeepc:

cd ubuntu-intrepid
cat debian/config/i386/config debian/config/i386/config.eeepc > .config

Define your kernel options as you see fit:

make menuconfig

Prepare things and package up:

cp .config debian/config/i386/config.eeepc
debian/rules updateconfigs
make mrproper
fakeroot debian/rules binary-eeepc binary-headers
cd ..

Now copy the packages into your machine and install them. Reboot and be happy 🙂

Update: I’ve received hundreds of thousands of billions screenshot requests from all over the World, the ISS and even someone who I believe is from Mars. Well, you didn’t have to wait much, now did you?

megatron running eeeubuntu

megatron running eeeubuntu