I have two SheevaPlugs. I recently used Martin Michelmayr's procedure to upgrade them to Debian Squeeze. ARP worked on the original network but both absolutely refuse to ARP when simply moved to another network (see separate thread if you're interested). Since no solution has emerged from my experiments or responses to my original post, I decided to try to cross build the kernel, get it running, and then put kprintf's in the ARP code to try to debug the problem. I used the instructions from here (may be slightly stale but they're the best I could find) to build the latest stable kernel: http://computingplugs.com/index.php/Building_a_custom_kernel#Getting_U-Boot.27s_mkimage
I cross built the kernel with the CodeSourcery tool chain and then copied uImage and lib/modules to the plug's SD card. Here is the interesting output from the not-so-excellent results. Any suggestions? Note: I can switch the SD card to one that I didn't copy the newly build components to and then the plug boots fine. This fact should resolve any suspicions about my u-boot boot parameters.
Root-NFS: no NFS server address
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "(null)" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00 1024 mtdblock0 (driver?)
1f01 4096 mtdblock1 (driver?)
1f02 519168 mtdblock2 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[<c002b5e4>] (unwind_backtrace+0x0/0xe0) from [<c034245c>] (panic+0x68/0x18c)
[<c034245c>] (panic+0x68/0x18c) from [<c0008ec0>] (mount_block_root+0x1bc/0x1fc)
[<c0008ec0>] (mount_block_root+0x1bc/0x1fc) from [<c0008fa0>] (mount_root+0xa0/0xc0)
[<c0008fa0>] (mount_root+0xa0/0xc0) from [<c00090e0>] (prepare_namespace+0x120/0x174)
[<c00090e0>] (prepare_namespace+0x120/0x174) from [<c0008b18>] (kernel_init+0x108/0x148)
[<c0008b18>] (kernel_init+0x108/0x148) from [<c0027550>] (kernel_thread_exit+0x0/0x8)