Presentation on theme: "Linux on commodity network H/W Josh Parsons LUGOD talk August 15 th 2005."— Presentation transcript:
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 / 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 MHz 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.