DockStar

From FnordWiki
Jump to navigation Jump to search

What is a DockStar?

Seagate's Free Agent DockStar is a very cheap, nifty little Linux machine with the following features:

  • 1.2 GHz ARM processor
  • 4 powered USB 2.0 ports broken out like so:
    • 1 port with a USB mini A connector centered in the drive cradle section of the case allowing the user to just plug in a Seagate FreeAgent Go hard drive
    • 3 ports with type A connectors (as you'd find on a mouse, keyboard, or USB flash drive)
  • 1 Gigabit Ethernet NIC
  • $20 price tag
  • HiFN 795x crypto accelerator
  • User replacable firmware (it comes with PogoPlug from the factory — the device is intended as a NAS)

It does have a few small annoyances:

  • Only 128 Mbytes of RAM (256 or 512 would be so much nicer)
  • No battery backed clock (but that's what NTP is for, anyway)
  • Serial console is (somewhat) hard to get to (but the bootloader and Linux can use the normal Linux network console setup)
  • It runs PogoPlug instead of a general purpose OS.

But it costs $20. So these annoyances are overlookable.

DockStar OS options

There are a number of options for replacing the PogoPlug OS on a DockStar: OpenWRT supports them. Plugbox Linux does, too. But I'm a Debian fan, so that's what I'm running on mine.

Jeff Doozan has done much of the legwork making Debian an easy option on a Dockstar. He has a procedure for installing a new bootloader, kernel, and root filesystem into the Dockstar's flash and bootstrapping a Debian installation onto a USB mass storage device attached to the Dockstar (thumb drive, jump drive, FreeAgent Go, portable USB hard drive or whatever) without breaking open the case and fiddling with a serial console.

Before Installing Debian

Here's the procedure I used to used when putting mine together:

  1. buy a Dockstar (actually used some Amazon credits to buy three of them for $20 each a few months ago)
  2. get some USB flash drives (found some 4Gbyte Sandisk Cruzers for $8 each at a local office supply store. Wonder why the 8Gbyte USB drives cost 4 times more instead of 2 times more)
  3. unbox Dockstar, note Ethernet MAC address from sticker on bottom of the case
  4. pick an IP address to give it (internal home network is 172.16.0.0/24 and I don't want the Pogoplug firmware phoning home before I've replaced it with Debian)
  5. set it up with a static IP address on the home network (quick edit to /etc/dhcp/dhcpd.conf)
  6. prevent IP from the dockstar from reaching the internet (sudo iptables -I FORWARD -s 172.16.0.200 -j REJECT on the router)
  7. attach Dockstar to Ethernet switch, power it on, wait until it is pingable
  8. Make sure we can log in to it: ssh root@172.16.0.200 (password should be stxadmin)
  9. Kill the Pogoplug proprietary processes running on the machine: # killall -9 hbwd; killall -9 hbplug
  10. Make a backup of the factory firmware (instructions can be found at How to brick your Dockstar and void the warranty

Installing Debian

Jeff Doozan has done me a great service here. At his web site, you'll find instructions on getting Debian installed on a USB mass storage device (a 4Gbyte Sansisk Cruzer in my case). Here are some notes on my installation:

  • The Pogoplug OS is used to perform the installation on the Dockstar. It needs to be working first.
  • The Pogoplug OS needs internet access to download the Debian bits. But we still don't want Pogoplug phoning home, so be sure the hbwd and hbplug processes aren't running before allowing the device to have internet access.
  • Jeff Doozan recommends making the Debian filesystem at least 512Mbytes in size. The base OS installed by debootstrap consumes about 300 Mbytes of space. I made mine 512Mbytes, followed by 512Mbytes of swap partition. Later on, I'll make the swap partition into a backup root partition, turn the remaining free space into an LVM physical volume, and slice that up until I'm happy with it.
  • The installation target here is a 4Gbyte Sandisk Cruzer USB flash drive. It has been partitions like so:
# fdisk -lu /dev/sda

Disk /dev/sda: 4000 MB, 4000317440 bytes
64 heads, 32 sectors/track, 3815 cylinders, total 7813120 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
  Device Boot      Start         End      Blocks   Id  System 
/dev/sda1   *        2048     1050623      524288   83  Linux
/dev/sda2         1050624     2099199      524288   83  Linux
/dev/sda3         2099200     7813119     2856960   8e  Linux LVM
#

(Note that this partition layout does not show the sda2 device as being a swap partition. This was changed after the installation was done. Post-installation, sda2 was made into a regular filesystem with the backup insatllation on it. This allows me to specify that /dev/sda2 should be my kernel's root device (instead of /dev/sda1) and fix whatever brain damage I've inflicted on it.

  • Remove the iptables firewall rule that prevents the Dockstar from reaching the internet (Run sudo iptables -D FORWARD -s 172.16.0.200 -j REJECT on the router.)
  • After the USB flash drive has been partitioned, it's time to run Jeff Doozan's installer:
cd /tmp
wget http://jeff.doozan.com/debian/dockstar.debian-squeeze.sh
chmod +x dockstar.debian-squeeze.sh
export PATH=$PATH:/usr/sbin:/sbin # The Pogoplug OS doesn't include /usr/sbin or /sbin in root's PATH
./dockstar.debian-squeeze.sh

(The dockstar.debian.squeeze.sh script puts an ext2 filesystem in /dev/sda1, uses debootstrap to put a base Debian installation on it. It also puts an unlocked u-Boot bootloader, a Debian kernel image, and a tiny recovery filesystem into the Dockstar's NAND flash.)

Installation transcript

Here is a transcript of an installation being performed on canopus, a DockStar with Ethernet MAC address 00:10:75:1a:0e:a6:

-bash-3.2# dockstar.debian-squeeze.sh


!!!!!!  DANGER DANGER DANGER DANGER DANGER DANGER  !!!!!!

This script will replace the bootloader on /dev/mtd0.

If you lose power while the bootloader is being flashed,
your device could be left in an unusable state.


This script will configure your Dockstar to boot Debian Squeeze
from a USB device.  Before running this script, you should have
used fdisk to create the following partitions:

/dev/sda1 (Linux ext2, at least 400MB)
/dev/sda2 (Linux swap, recommended 256MB)


This script will DESTROY ALL EXISTING DATA on /dev/sda1
Please double check that the device on /dev/sda1 is the correct device.

By typing ok, you agree to assume all liabilities and risks
associated with running this installer.
If everything looks good, type 'ok' to continue: ok
Installing Bootloader
# checking for /usr/sbin/nandwrite...
# checking for /usr/sbin/nanddump...
# checking for /usr/sbin/flash_erase...
# checking for /usr/sbin/fw_printenv...
# checking for /etc/fw_env.config...

# Validating existing uBoot...
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00080000...
Connecting to jeff.doozan.com (69.163.187.226:80)
valid-uboot.md5      100% |*************************************************************************************************************|   756  --:--:-- ETA
## Valid uBoot detected: [dockstar jeff-2010-10-23-current ebd566de30c6521e65fb1255415c037f pogov1 jeff-2010-10-23-current]
## The newest uBoot is already installed on mtd0.

# uBoot installation has completed successfully.
# checking for /sbin/mke2fs...

# Installing /sbin/mke2fs...
Connecting to jeff.doozan.com (69.163.187.226:80)
mke2fs.md5           100% |*************************************************************************************************************|    41  --:--:-- ETA
Connecting to jeff.doozan.com (69.163.187.226:80)
mke2fs               100% |*************************************************************************************************************|   393k 00:00:00 ETA
# Successfully installed /sbin/mke2fs.
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
32768 inodes, 131072 blocks
6553 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=134217728
4 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
Setting up swapspace version 1, size = 536866816 bytes


# Starting debootstrap installation
I: Retrieving Release
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Found additional required dependencies: insserv libbz2-1.0 libdb4.8 libslang2
I: Found additional base dependencies: adduser cpio debian-archive-keyring devio gnupg gpgv initramfs-tools klibc-utils libbsd0 libcap2 libedit2 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libklibc libkrb5-3 libkrb5support0 libncursesw5 libreadline6 libssl0.9.8 libudev0 libusb-0.1-4 libuuid-perl libwrap0 linux-base linux-image-2.6.32-5-kirkwood openssh-blacklist openssh-client procps readline-common vim-common
I: Checking component main on http://cdn.debian.net/debian...
I: Retrieving libacl1
I: Validating libacl1
I: Retrieving adduser
I: Validating adduser
I: Retrieving apt
I: Validating apt
I: Retrieving libattr1
I: Validating libattr1
I: Retrieving base-files
I: Validating base-files
I: Retrieving base-passwd
I: Validating base-passwd
I: Retrieving bash
I: Validating bash
I: Retrieving libbz2-1.0
I: Validating libbz2-1.0
I: Retrieving coreutils
I: Validating coreutils
I: Retrieving cpio
I: Validating cpio
I: Retrieving dash
I: Validating dash
I: Retrieving libdb4.8
I: Validating libdb4.8
I: Retrieving debconf-i18n
I: Validating debconf-i18n
I: Retrieving debconf
I: Validating debconf
I: Retrieving debian-archive-keyring
I: Validating debian-archive-keyring
I: Retrieving debianutils
I: Validating debianutils
I: Retrieving devio
I: Validating devio
I: Retrieving dhcpcd
I: Validating dhcpcd
I: Retrieving diffutils
I: Validating diffutils
I: Retrieving dpkg
I: Validating dpkg
I: Retrieving e2fslibs
I: Validating e2fslibs
I: Retrieving e2fsprogs
I: Validating e2fsprogs
I: Retrieving libcomerr2
I: Validating libcomerr2
I: Retrieving libss2
I: Validating libss2
I: Retrieving libc-bin
I: Validating libc-bin
I: Retrieving libc6
I: Validating libc6
I: Retrieving findutils
I: Validating findutils
I: Retrieving flash-kernel
I: Validating flash-kernel
I: Retrieving gcc-4.4-base
I: Validating gcc-4.4-base
I: Retrieving libgcc1
I: Validating libgcc1
I: Retrieving libstdc++6
I: Validating libstdc++6
I: Retrieving gnupg
I: Validating gnupg
I: Retrieving gpgv
I: Validating gpgv
I: Retrieving grep
I: Validating grep
I: Retrieving gzip
I: Validating gzip
I: Retrieving hostname
I: Validating hostname
I: Retrieving ifupdown
I: Validating ifupdown
I: Retrieving initramfs-tools
I: Validating initramfs-tools
I: Retrieving insserv
I: Validating insserv
I: Retrieving iproute
I: Validating iproute
I: Retrieving iputils-ping
I: Validating iputils-ping
I: Retrieving libkeyutils1
I: Validating libkeyutils1
I: Retrieving klibc-utils
I: Validating klibc-utils
I: Retrieving libklibc
I: Validating libklibc
I: Retrieving libgssapi-krb5-2
I: Validating libgssapi-krb5-2
I: Retrieving libk5crypto3
I: Validating libk5crypto3
I: Retrieving libkrb5-3
I: Validating libkrb5-3
I: Retrieving libkrb5support0
I: Validating libkrb5support0
I: Retrieving linux-base
I: Validating linux-base
I: Retrieving linux-image-2.6.32-5-kirkwood
I: Validating linux-image-2.6.32-5-kirkwood
I: Retrieving linux-image-2.6-kirkwood
I: Validating linux-image-2.6-kirkwood
I: Retrieving lsb-base
I: Validating lsb-base
I: Retrieving libbsd0
I: Validating libbsd0
I: Retrieving libcap2
I: Validating libcap2
I: Retrieving libedit2
I: Validating libedit2
I: Retrieving liblocale-gettext-perl
I: Validating liblocale-gettext-perl
I: Retrieving libselinux1
I: Validating libselinux1
I: Retrieving libsepol1
I: Validating libsepol1
I: Retrieving libtext-charwidth-perl
I: Validating libtext-charwidth-perl
I: Retrieving libtext-iconv-perl
I: Validating libtext-iconv-perl
I: Retrieving libtext-wrapi18n-perl
I: Validating libtext-wrapi18n-perl
I: Retrieving libusb-0.1-4
I: Validating libusb-0.1-4
I: Retrieving libuuid-perl
I: Validating libuuid-perl
I: Retrieving mawk
I: Validating mawk
I: Retrieving module-init-tools
I: Validating module-init-tools
I: Retrieving libncurses5
I: Validating libncurses5
I: Retrieving libncursesw5
I: Validating libncursesw5
I: Retrieving ncurses-base
I: Validating ncurses-base
I: Retrieving ncurses-bin
I: Validating ncurses-bin
I: Retrieving net-tools
I: Validating net-tools
I: Retrieving netbase
I: Validating netbase
I: Retrieving ntpdate
I: Validating ntpdate
I: Retrieving openssh-blacklist
I: Validating openssh-blacklist
I: Retrieving openssh-client
I: Validating openssh-client
I: Retrieving openssh-server
I: Validating openssh-server
I: Retrieving libssl0.9.8
I: Validating libssl0.9.8
I: Retrieving libpam-modules
I: Validating libpam-modules
I: Retrieving libpam-runtime
I: Validating libpam-runtime
I: Retrieving libpam0g
I: Validating libpam0g
I: Retrieving perl-base
I: Validating perl-base
I: Retrieving procps
I: Validating procps
I: Retrieving libreadline6
I: Validating libreadline6
I: Retrieving readline-common
I: Validating readline-common
I: Retrieving sed
I: Validating sed
I: Retrieving sensible-utils
I: Validating sensible-utils
I: Retrieving login
I: Validating login
I: Retrieving passwd
I: Validating passwd
I: Retrieving libslang2
I: Validating libslang2
I: Retrieving initscripts
I: Validating initscripts
I: Retrieving sysv-rc
I: Validating sysv-rc
I: Retrieving sysvinit-utils
I: Validating sysvinit-utils
I: Retrieving sysvinit
I: Validating sysvinit
I: Retrieving tar
I: Validating tar
I: Retrieving libwrap0
I: Validating libwrap0
I: Retrieving libudev0
I: Validating libudev0
I: Retrieving bsdutils
I: Validating bsdutils
I: Retrieving libblkid1
I: Validating libblkid1
I: Retrieving libuuid1
I: Validating libuuid1
I: Retrieving mount
I: Validating mount
I: Retrieving liblzma2
I: Validating liblzma2
I: Retrieving tzdata
I: Validating tzdata
I: Retrieving uboot-envtools
I: Validating uboot-envtools
I: Retrieving uboot-mkimage
I: Validating uboot-mkimage
I: Retrieving udev
I: Validating udev
I: Retrieving util-linux
I: Validating util-linux
I: Retrieving vim-common
I: Validating vim-common
I: Retrieving vim-tiny
I: Validating vim-tiny
I: Retrieving wget
I: Validating wget
I: Retrieving xz-utils
I: Validating xz-utils
I: Retrieving zlib1g
I: Validating zlib1g
I: Chosen extractor for .deb packages: ar
I: Extracting libacl1...
I: Extracting libattr1...
I: Extracting base-files...
I: Extracting base-passwd...
I: Extracting bash...
I: Extracting libbz2-1.0...
I: Extracting coreutils...
I: Extracting dash...
I: Extracting libdb4.8...
I: Extracting debconf-i18n...
I: Extracting debconf...
I: Extracting debianutils...
I: Extracting diffutils...
I: Extracting dpkg...
I: Extracting e2fslibs...
I: Extracting e2fsprogs...
I: Extracting libcomerr2...
I: Extracting libss2...
I: Extracting libc-bin...
I: Extracting libc6...
I: Extracting findutils...
I: Extracting gcc-4.4-base...
I: Extracting libgcc1...
I: Extracting libstdc++6...
I: Extracting grep...
I: Extracting gzip...
I: Extracting hostname...
I: Extracting insserv...
I: Extracting lsb-base...
I: Extracting liblocale-gettext-perl...
I: Extracting libselinux1...
I: Extracting libsepol1...
I: Extracting libtext-charwidth-perl...
I: Extracting libtext-iconv-perl...
I: Extracting libtext-wrapi18n-perl...
I: Extracting mawk...
I: Extracting libncurses5...
I: Extracting ncurses-base...
I: Extracting ncurses-bin...
I: Extracting libpam-modules...
I: Extracting libpam-runtime...
I: Extracting libpam0g...
I: Extracting perl-base...
I: Extracting sed...
I: Extracting sensible-utils...
I: Extracting login...
I: Extracting passwd...
I: Extracting libslang2...
I: Extracting initscripts...
I: Extracting sysv-rc...
I: Extracting sysvinit-utils...
I: Extracting sysvinit...
I: Extracting tar...
I: Extracting bsdutils...
I: Extracting libblkid1...
I: Extracting libuuid1...
I: Extracting mount...
I: Extracting liblzma2...
I: Extracting tzdata...
I: Extracting util-linux...
I: Extracting xz-utils...
I: Extracting zlib1g...
I: Installing core packages...
I: Unpacking required packages...
I: Unpacking libacl1...
I: Unpacking libattr1...
I: Unpacking base-files...
I: Unpacking base-passwd...
I: Unpacking bash...
I: Unpacking libbz2-1.0...
I: Unpacking coreutils...
I: Unpacking dash...
I: Unpacking libdb4.8...
I: Unpacking debconf-i18n...
I: Unpacking debconf...
I: Unpacking debianutils...
I: Unpacking diffutils...
I: Unpacking dpkg...
I: Unpacking e2fslibs...
I: Unpacking e2fsprogs...
I: Unpacking libcomerr2...
I: Unpacking libss2...
I: Unpacking libc-bin...
I: Unpacking libc6...
I: Unpacking findutils...
I: Unpacking gcc-4.4-base...
I: Unpacking libgcc1...
I: Unpacking libstdc++6...
I: Unpacking grep...
I: Unpacking gzip...
I: Unpacking hostname...
I: Unpacking insserv...
I: Unpacking lsb-base...
I: Unpacking liblocale-gettext-perl...
I: Unpacking libselinux1...
I: Unpacking libsepol1...
I: Unpacking libtext-charwidth-perl...
I: Unpacking libtext-iconv-perl...
I: Unpacking libtext-wrapi18n-perl...
I: Unpacking mawk...
I: Unpacking libncurses5...
I: Unpacking ncurses-base...
I: Unpacking ncurses-bin...
I: Unpacking libpam-modules...
I: Unpacking libpam-runtime...
I: Unpacking libpam0g...
I: Unpacking perl-base...
I: Unpacking sed...
I: Unpacking sensible-utils...
I: Unpacking login...
I: Unpacking passwd...
I: Unpacking libslang2...
I: Unpacking initscripts...
I: Unpacking sysv-rc...
I: Unpacking sysvinit-utils...
I: Unpacking sysvinit...
I: Unpacking tar...
I: Unpacking bsdutils...
I: Unpacking libblkid1...
I: Unpacking libuuid1...
I: Unpacking mount...
I: Unpacking liblzma2...
I: Unpacking tzdata...
I: Unpacking util-linux...
I: Unpacking xz-utils...
I: Unpacking zlib1g...
I: Configuring required packages...
I: Configuring ncurses-base...
I: Configuring sensible-utils...
I: Configuring libc-bin...
I: Configuring gcc-4.4-base...
I: Configuring libc6...
I: Configuring debianutils...
I: Configuring bsdutils...
I: Configuring libsepol1...
I: Configuring libgcc1...
I: Configuring libncurses5...
I: Configuring libattr1...
I: Configuring e2fslibs...
I: Configuring base-passwd...
I: Configuring libcomerr2...
I: Configuring mawk...
I: Configuring libdb4.8...
I: Configuring hostname...
I: Configuring libacl1...
I: Configuring libslang2...
I: Configuring libss2...
I: Configuring liblzma2...
I: Configuring insserv...
I: Configuring gzip...
I: Configuring libbz2-1.0...
I: Configuring libselinux1...
I: Configuring libstdc++6...
I: Configuring coreutils...
I: Configuring ncurses-bin...
I: Configuring diffutils...
I: Configuring tar...
I: Configuring zlib1g...
I: Configuring base-files...
I: Configuring xz-utils...
I: Configuring dpkg...
I: Configuring sysvinit-utils...
I: Configuring dash...
I: Configuring perl-base...
I: Configuring libtext-iconv-perl...
I: Configuring sed...
I: Configuring grep...
I: Configuring findutils...
I: Configuring liblocale-gettext-perl...
I: Configuring bash...
I: Configuring libtext-charwidth-perl...
I: Configuring libtext-wrapi18n-perl...
I: Configuring lsb-base...
I: Configuring debconf-i18n...
I: Configuring debconf...
I: Configuring libpam0g...
I: Configuring sysv-rc...
I: Configuring libpam-modules...
I: Configuring tzdata...
I: Configuring passwd...
I: Configuring libpam-runtime...
I: Configuring initscripts...
I: Configuring login...
I: Configuring libuuid1...
I: Configuring sysvinit...
I: Configuring libblkid1...
I: Configuring util-linux...
I: Configuring mount...
I: Configuring e2fsprogs...
I: Unpacking the base system...
I: Unpacking adduser...
I: Unpacking apt...
I: Unpacking cpio...
I: Unpacking debian-archive-keyring...
I: Unpacking devio...
I: Unpacking dhcpcd...
I: Unpacking flash-kernel...
I: Unpacking gnupg...
I: Unpacking gpgv...
I: Unpacking ifupdown...
I: Unpacking initramfs-tools...
I: Unpacking iproute...
I: Unpacking iputils-ping...
I: Unpacking libkeyutils1...
I: Unpacking klibc-utils...
I: Unpacking libklibc...
I: Unpacking libgssapi-krb5-2...
I: Unpacking libk5crypto3...
I: Unpacking libkrb5-3...
I: Unpacking libkrb5support0...
I: Unpacking linux-base...
I: Unpacking linux-image-2.6.32-5-kirkwood...
I: Unpacking linux-image-2.6-kirkwood...
I: Unpacking libbsd0...
I: Unpacking libcap2...
I: Unpacking libedit2...
I: Unpacking libusb-0.1-4...
I: Unpacking libuuid-perl...
I: Unpacking module-init-tools...
I: Unpacking libncursesw5...
I: Unpacking net-tools...
I: Unpacking netbase...
I: Unpacking ntpdate...
I: Unpacking openssh-blacklist...
I: Unpacking openssh-client...
I: Unpacking openssh-server...
I: Unpacking libssl0.9.8...
I: Unpacking procps...
I: Unpacking libreadline6...
I: Unpacking readline-common...
I: Unpacking libwrap0...
I: Unpacking libudev0...
I: Unpacking uboot-envtools...
I: Unpacking uboot-mkimage...
I: Unpacking udev...
I: Unpacking vim-common...
I: Unpacking vim-tiny...
I: Unpacking wget...
I: Configuring the base system...
I: Configuring uboot-envtools...
I: Configuring module-init-tools...
I: Configuring libusb-0.1-4...
I: Configuring libssl0.9.8...
I: Configuring vim-common...
I: Configuring netbase...
I: Configuring libudev0...
I: Configuring adduser...
I: Configuring libklibc...
I: Configuring libuuid-perl...
I: Configuring libkeyutils1...
I: Configuring iproute...
I: Configuring devio...
I: Configuring klibc-utils...
I: Configuring libkrb5support0...
I: Configuring wget...
I: Configuring net-tools...
I: Configuring uboot-mkimage...
I: Configuring libbsd0...
I: Configuring linux-base...
I: Configuring libncursesw5...
I: Configuring openssh-blacklist...
I: Configuring iputils-ping...
I: Configuring libedit2...
I: Configuring udev...
I: Configuring cpio...
I: Configuring vim-tiny...
I: Configuring readline-common...
I: Configuring libcap2...
I: Configuring libwrap0...
I: Configuring initramfs-tools...
I: Configuring procps...
I: Configuring dhcpcd...
I: Configuring flash-kernel...
I: Configuring libk5crypto3...
I: Configuring ifupdown...
I: Configuring libreadline6...
I: Configuring linux-image-2.6.32-5-kirkwood...
I: Configuring ntpdate...
I: Configuring libkrb5-3...  
I: Configuring gpgv...
I: Configuring linux-image-2.6-kirkwood...
I: Configuring libgssapi-krb5-2...
I: Configuring gnupg...
I: Configuring debian-archive-keyring...
I: Configuring openssh-client...
I: Configuring apt...
I: Configuring openssh-server...
I: Configuring initramfs-tools...
I: Base system installed successfully.
Image Name:   Linux-2.6.32-5-kirkwood
Created:      Fri Dec 31 17:58:41 2010
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    1434156 Bytes = 1400.54 kB = 1.37 MB
Load Address: 0x00008000
Entry Point:  0x00008000
Image Name:   initramfs-2.6.32-5-kirkwood
Created:      Fri Dec 31 17:58:42 2010
Image Type:   ARM Linux RAMDisk Image (gzip compressed)
Data Size:    4736810 Bytes = 4625.79 kB = 4.52 MB
Load Address: 0x00000000
Entry Point:  0x00000000




Installation complete

You can now reboot your device into Debian.
If your device does not start Debian after rebooting,
you may need to restart the device by disconnecting the power.

The new root password is 'root'  Please change it immediately after
logging in.

Reboot now? [Y/n]

After rebooting, this machine will have a different SSH host key. You'll have to remove the old one from your ~/.ssh/known_hosts file before connecting to it again. As the installer notes, the password for root is now root.