NSLU2-Linux
view · edit · print · history

This Wiki assumes that you know how to get into RedBoot, how to set up a TFTP server , and have either Cygwin or some Linux machine available.

The purpose of this Wiki is to test the SDRAM of the NSLU2. This is done as follows:

  • Creating a (nearly) 32MiB file with random contents with dd
  • Doing a cksum of the file
  • Get into RedBoot
  • TFTP the file into the NSLU2 RAM
  • Verify the checksum of the transferred file
  • Verify again (just to be sure!)

First, telnet into RedBoot. Once you're in RedBoot, type "version" as shown below.

 RedBoot> version

 RedBoot(tm) bootstrap and debug environment [ROMRAM]
 Red Hat certified release, version 1.92 - built 15:16:07, Feb  3 2004

 Platform: IXDP425 Development Platform (XScale)
 Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

 RAM: 0x00000000-0x02000000, 0x000723a0-0x01ff3000 available
 FLASH: 0x50000000 - 0x50800000, 64 blocks of 0x00020000 bytes each.

From the available RAM space (shown above), 0x01ff3000 - 0x000723a0 = 0x01F80C60 in decimal, the result is: 33033312

in Linux or Cygwin, do this:

 dd if=/dev/urandom of=RamTest.bin bs=32 count=1032291
 (do a "ls -la RamTest.bin" if you want to verify size)
 cksum RamTest.bin
 (output for me showed: "163853644 33033312 RamTest.bin")

Copy the file to your TFTP server. Now in RedBoot, do this: (assume your TFTP server is 192.168.0.99)

 RedBoot> load -r -v -b 0x000723a0 -h 192.168.0.99 RamTest.bin

output shows:

 Raw file loaded 0x000723a0-0x01ff2fff, assumed entry at 0x000723a0

(below should do a checksum of the previously transferred file)

 RedBoot> cksum
 Computing cksum for area 0x000723a0-0x01ff3000
 POSIX cksum = 163853644 33033312 (0x09c4354c 0x01f80c60)

Just to be sure, I did it again, manually, as follows:

 RedBoot> cksum -b 0x000723a0 -l 0x01f80c60
 POSIX cksum = 163853644 33033312 (0x09c4354c 0x01f80c60)

This is the same as the checksum produced above when we generated the file. So the slug's SDRAM memory must be good. :-)

Note that for some reason, I couldn't access (from within RedBoot) the entire 32MiB RAM. Perhaps some env vars or such are stored there and are in-use?

view · edit · print · history · Last edited by fcarolo.
Based on work by sdhip and Rob Lockhart.
Originally by Rob Lockhart.
Page last modified on May 19, 2007, at 09:39 PM