Transcript www.otago.ac.nz
Linux on commodity network H/W
Josh Parsons LUGOD talk August 15 th 2005
What's this all about?
● If you have a small office / home network, chances are you are using a router made by Linksys, ASUS, D-Link, or Motorola.
– Your router is probably already running Linux!
– (And a lot of other free software).
– You can use the
firmware upgrade
feature of your router to install a more open version of the firmware onto it. And then...
Advantages of a more open firmware
● Get more control over the device's existing functionality.
– e.g. set up more sophisticated firewall rules with iptables; override firmware limitations on wireless power / frequency; remote administration with ssh ● Install new software to add new functionality.
– e.g. run a web server / wiki / blog / proxy / irc logger / P2P / email server / webcam / telephony server / etc...
How does it all work? (1)
● Hardware: what's inside a typical SoHo router?
– A specialized “embedded systems” processor – (ARM or MIPS architecture) – about 100-300MHz clock.
– Some RAM (between 8 and 32MB) – Flash ROM containing the firmware (2-8MB) – (Wireless) / (USB) / ethernet interfaces via PCI bus.
– (Specialized network hardware - a managed switch).
– i.e. comparable to a late 1990s-era PC!
How does it all work? (2)
● These devices treat their ROMs like a disk: – The ROM is
partitioned
into several areas: ● The
boot loader
(like LILO or GRUB).
● A re-writable
configuration area
.
● The Linux
kernel
.
● A
ramdisk image
(containing a normal linux filesystem) – When you switch the device on, the boot loader copies the kernel and ramdisk into RAM, and starts the kernel. From there, it's like any gnu/linux system.
How does it all work? (3)
● Reflashing the firmware: – The manufacturers thoughtfully provide the ability to flash a new copy of the kernel and ramdisk image into the ROM. (So they can fix bugs) – Because of the partitioning scheme, you can do this without touching the boot loader or configuration.
– Which is good, because it means that even if you screw up, you can still reflash using the boot loader.