Michael Still Google Inc. October, 2006

advertisement
Michael Still
Google Inc.
October, 2006
Linux on the Linksys NSLU2
Solving all your problems
with little NAS boxes
Michael Still
Google, Inc.
October, 2006
2
Who is this guy and what does he do at Google?
3
Linksys NSLU2 NAS boxes
Consumer grade network attached storage
• 2 USB 2.0 ports
• 100 Mbit Wired Ethernet
• 133 Mhz processor
• 32 MB of RAM
• Cheap ($60 USD+)
• Linux
4
Agenda
I want to cover:
• How to run your own
Linux
• How to rescue
yourself from a bad
flash attempt
• Some ideas for
projects involving
NSLU2s
5
How to run your own Linux
The process
• Download new firmware and upslug2 (the uploader)
– http://www.slug-firmware.net/s-dls.php
– http://sourceforge.net/project/showfiles.php?group_id=116564&pack
age_id=164337
• Build upslug2
• Use the upgrade button pressing process
– http://www.nslu2-linux.org/wiki/SlugOS/UsingTheBinary
– You'll need a third arm here
• Run upslug2 with the new image, and watch it download
– sudo ./upslug2 -i path to firmware image from before
6
Demo
7
What did that give us?
DebianSlug
• A Debian install based on OpenSlug
– ipkg for package management
– Very small
– More limited package options
• Use turnup to bless a new root file system
– That can be a USB thumb drive or a USB hard disk
8
Debian Unstable
The next step is Debian Unstable
• Use the bootstrap process defined at:
– http://www.nslu2-linux.org/wiki/DebianSlug/Bootstrap
– Very slow
• Use turnup to bless the new root file system
9
Demo
10
Kernel modules
There don't appear to be any Debian ARM kernel modules
• You need to use the pre-compiled ones from:
– http://www.student-zw.fh-kl.de/~pasc0010/debianslug/kernelmodules/kernel-2.6.16_preempt/
– Extract the package, grab the kernel module, and install it
wget URL to download
ar -x download.ipk
tar xvzf data.tar.gz
cd lib/modules/2.6.16/kernel/...
• Copy that to the slug, and don't forget to run depmod -a
11
Recovering from a bad flash
My first attempt at flashing resulted in a brick
• It's really easy to recover though
• Download the Linksys firmware, and put it on a web server
sudo arping -f 192.168.0.1;
telnet 192.168.0.1 9000
• Now power cycle the slug
• You have two seconds to hit control-c to stop a normal boot
• You end up in RedBoot
– A network aware boot loader
12
Recovering from a bad flash continued
My first attempt at flashing resulted in a brick
• Now download the firmware from the web server
ip_address -h 192.168.1.100
load -r -v -b 0x01000000 -h 192.168.0.100
-m http /NSLU2_V23R25.bin
fis write -f 0x50060000 -b 0x01060000
-l 0x7a0000
reset
• The slug will power cycle
• You're back at the Linksys firmware, and ready to try again
13
Demo
14
Over clocking
The slug's CPU is intended to run at 266MHz
• Remove a single resistor to over clock the device
15
Completely un-scientific testing
I am mainly interested in slugs as ATA over Ethernet NAS devices
• Compare performance of various firmware options
• Methodology
– Use postmark
set size 1000 9000
set number 2000
set transactions 50000
set location /mnt
set report verbose
run
16
Postmark results
postmark will give you back results like this:
Time:
149 seconds total
148 seconds of transactions (337 per second)
Files:
27170 created (182 per second)
Creation alone: 2000 files (2000 per second)
Mixed with transactions: 25170 files (170 per second)
24986 read (168 per second)
24697 appended (166 per second)
27170 deleted (182 per second)
Deletion alone: 2340 files (2340 per second)
Mixed with transactions: 24830 files (167 per second)
Data:
149.53 megabytes read (1.00 megabytes per second)
161.85 megabytes written (1.09 megabytes per second)
17
Permutations tested
USB2 connection to desktop PC
SMB using the Linksys firmware
SMB using DebianSlug
SMB using Debian Unstable
ATA over Ethernet using Debian Unstable
USB2 using Debian Unstable
USB2 using Debian Unstable on an over clocked device
SMB using Debian Unstable on an over clocked device
ATA over Ethernet using Debian Unstable on an over clocked device
18
Results: Total time for bench mark run (seconds)
19
Results: Operations per second
20
Results: Operations per second
21
Results: Throughput (megabytes per second)
22
Using a NSLU2 for storage
It would seem that the fastest option is ATA over Ethernet on an over
clocked NSLU2
• Even running Samba on your own version of the firmware is going to
give significant performance improvements
23
Other project ideas
There are lots of things you can do with low powered Linux machines
with USB
• Car computing (with a USB wireless card)
• GPS data logging (USB GPS)
• Small sound player (with USB sound card and USB remote control)
• Many other things you can think of...
24
Questions?
Any questions?
25
One final note
Google is hiring, both domestically within Australia, and Internationally.
Talk to me or one of the other Googlers we have at the conference if you
want to know more.
26
Oh yeah, another final note
I don't really want to take all these NSLUs back to the US, so I should
negotiate with the conference organizers the best way to give two of
them away...
27
Michael Still
Google, Inc.
michaelstill@google.com
Download