Here are my notes on installing Debian 6.0 to the Guruplug Plus.
None of this is original or my own work, but I found that I needed to refer to several different sources of information to get the job done.
I hope this is helpful, but the usual disclaimers apply: don't blame me if this doesn't work, or if it destroys your device.
Here we are installing to a microSD disk.  If you are using a USB stick, the 
usb address will be different in the boot_cmd line 
below. 
Update to a recent u-boot using this reference:
 
http://www.cyrius.com/debian/kirkwood/sheevaplug/uboot-upgrade.html. 
From USB, do something like this:
 
Marvell>> usb start
 
Marvell>> fatload usb 2:1 0x0800000 uboot.bin
 
Marvell>> nand erase 0x0 0xa0000
 
Marvell>> nand write 0x0800000 0x0 0xa0000
 
Marvell>> reset
 
Or if you have no u-boot (you're in a bricked state), see the section 
"Flashing U-Boot on Bricked Plug" here:
 
http://plugcomputer.org/plugwiki/index.php/Reflashing_images_on_the_GuruPlug. 
Main reference for installation, but note that some things are different here, because this page refers to SheevaPlug:
 
http://www.cyrius.com/debian/kirkwood/sheevaplug/install.html. 
The Debian unstable installer for Guruplug is available here:
 
ftp://ftp.debian.org/debian/dists/testing/main/installer-armel/current/images/kirkwood/netboot/marvell/guruplug/. 
Copy the uImage and uInitrd from that location to a 
DOS formatted USB stick. 
Connect to the Guruplug with:
 
# screen /dev/ttyUSB0 115200 
Then:
 
Marvell>> usb start
 
Marvell>> fatload usb 2:1 0x00800000 /uImage
 
reading /uImage
 
1434220 bytes read
 
Marvell>> fatload usb 2:1 0x01100000 /uInitrd
 
reading /uInitrd
 
3172851 bytes read
 
Marvell>> setenv bootargs console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most
 
Marvell>> bootm 0x00800000 0x01100000
 
The installer boots, and you go through the installation.
Then:
 
Marvell>> setenv bootargs_console console=ttyS0,115200
 
Marvell>> setenv bootcmd_usb 'usb start; ext2load usb 1:1 0x00800000 /uImage; ext2load usb 1:1 0x01100000 /uInitrd'
 
Marvell>> setenv bootcmd 'setenv bootargs $(bootargs_console); run bootcmd_usb; bootm 0x00800000 0x01100000'
 
Marvell>> saveenv
 
Saving Environment to NAND...
 
Erasing Nand...
 
Erasing at 0x60000 -- 100% complete.
 
Writing to Nand... done
 
Marvell>> boot
 
Now install emacs, isc-dhcp-server, linux-source-2.6.32, module-assistant, rsync, etc... 
Create a suitable /etc/dhcp/dhcpd.conf. 
Edit /etc/default/isc-dhcp-server to include the right interfaces (eth1 and uap0). 
Now we need to get the wireless working.
Reference: http://lists.debian.org/debian-arm/2010/05/msg00081.html.
Now:
 
module-assistant prepare 
(This command installs the necessary tools and headers).
Download the necessary source from:
 
http://lair.fifthhorseman.net/~dkg/machines/moo/libertas_uap.tgz. 
Then:
 
mkdir /root/build-uap 
Copy libertas_uap.tgz to /root/build-uap. 
Unpack it.
In /root/build-uap/libertas_uap:
 
make CONFIG_LIBERTAS_UAP=m -C /lib/modules/$(uname -r)/build M=$(pwd)
 
mkdir /lib/modules/$(uname -r)/kernel/drivers/net/wireless/libertas_uap
 
cp uap8xxx.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/libertas_uap
 
Get the firmware blobs helper_sd.bin and sd8688_ap.bin 
from the original image:
 
http://www.newit.co.uk/files-guruplug/guruplug-rootfs/. 
mkdir -p /lib/firmware/mrvl/ 
Copy the firmware blobs to /lib/firmware/mrvl/. 
Create a file /etc/modprobe.d/libertas_uap.conf:
 
# blacklist competing modules for the same hardware
 
# used by libertas_uap (uap8xxx.ko)
 
blacklist libertas_sdio
 
blacklist libertas 
Now reboot.
Now sort out IP addresses for eth1 and uap0. 
Add them to /etc/network/interfaces. 
For example - add these lines:
 
auto eth1
 
iface eth1 inet static
 
  address 192.168.10.254
 
  netmask 255.255.255.0
 
  broadcast 192.168.10.255
 
# 
 
auto uap0
 
iface uap0 inet static
 
  address 192.168.9.254
 
  netmask 255.255.255.0
 
  broadcast 192.168.9.255
 
Now we need /usr/bin/uaputl from an original Guruplug install, again from:
 
http://www.newit.co.uk/files-guruplug/guruplug-rootfs/. 
Then we need a script to start the access point. Here's a very simple one:
#! /bin/bash
 
/usr/bin/uaputl bss_stop
 
/usr/bin/uaputl sys_cfg_ssid bellman
 
/usr/bin/uaputl sys_cfg_protocol 32
 
/usr/bin/uaputl sys_cfg_wpa_passphrase "mypassowrd"
 
/usr/bin/uaputl sys_cfg_cipher 8 8
 
/usr/bin/uaputl bss_start
 
/etc/init.d/isc-dhcp-server restart
 
iptables -F
 
modprobe ip_tables
 
modprobe iptable_filter
 
echo 1 > /proc/sys/net/ipv4/ip_forward
 
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 
For accessing the internal storage if you want to do that later: 
apt-get install mtd-utils 
Reference:
 
http://www.plugcomputer.org/plugwiki/index.php/Installing_Debian_To_Flash. 
Then you can do something like:
 
ubiformat /dev/mtd2 -s 512
 
ubiattach /dev/ubi_ctrl -m 2
 
ubimkvol /dev/ubi0 -N internal -m
 
mount -t ubifs ubi0:internal /mnt
 
Have a lot of fun... (although it's not openSUSE...)
