NSLU2-Linux
view · edit · print · history

Redboot Port 9000 access is confirmed:

$ telnet 192.168.21.249 9000
Trying 192.168.21.249...
Connected to 192.168.21.249.
Escape character is '^]'.
RedBoot> 

but the below log is from the serial port:

+Ethernet eth0: MAC address 00:18:39:a7:92:f2
IP: 192.168.21.249/255.255.254.0, Gateway: 192.168.20.254
Default server: 0.0.0.0

RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version v2_0 - built 16:52:38, Nov 30 2006

Platform: PC (I386) 
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0x00000000-0x000f0000, 0x000720b0-0x000a0000 available
R3210    00:0012 11-01-2006
<press Ctrl+C to enter prompt mode>

RedBoot> ^C
RedBoot> ^C
RedBoot> ^C

RedBoot> fconfig
** Error: Illegal command: "fconfig"
RedBoot> fis list
** Error: Illegal command: "fis"
RedBoot> help
assign mac
   assign 
Manage machine caches
   cache [ON | OFF]
Display/switch console channel
   channel [<channel number>]
Compute a 32bit checksum [POSIX algorithm] for a range of memory
   cksum -b <location> -l <length>
Display (hex dump) a range of memory
   dump -b <location> [-l <length>] [-s] [-1|2|4]
Execute code at a location
   go [-w <timeout>] [entry]
Help about help?
   help [<topic>]
Set/change IP addresses
   ip_address [-l <local_ip_address>] [-h <server_address>]
Execute a Linux image
   linux [-w timeout] [-b <base address> [-l <image length>]]
        [-r <ramdisk addr> [-s <ramdisk length>]]
        [-c "kernel command line"]
Load a file
   load [-r] [-v] [-h <host>] [-m <varies>] [-c <channel_number>] 
        [-b <base_address>] <file_name>
Compare two blocks of memory
   mcmp -s <location> -d <location> -l <length> [-1|-2|-4]
Fill a block of memory with a pattern
   mfill -b <location> -l <length> -p <pattern> [-1|-2|-4]
Network connectivity test
   ping [-v] [-n <count>] [-l <length>] [-t <timeout>] [-r <rate>]
        [-i <IP_addr>] -h <IP_addr>
Reset the system
   reset 
upgrade
   upgrade 
Display RedBoot version information
   version 
Display (hex dump) a range of memory
   x -b <location> [-l <length>] [-s] [-1|2|4]
flash program
   test 
flash program
   flash 
RedBoot>
RedBoot> version

RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version v2_0 - built 16:52:38, Nov 30 2006

Platform: PC (I386) 
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0x00000000-0x000f0000, 0x000720b0-0x000a0000 available
R3210    00:0012 11-01-2006
<press Ctrl+C to enter prompt mode>

The FLASH command will brick your NAS200!

There is no fconfig and no fis command: they have been disabled.

Instead of the "fis" command, the NAS200 has a "flash" command. This command copies whatever is in memory locations 0x400000-0x41FFFF (128K) to the upper 128K of Flash memory to update Redboot. The flash command will overwrite your Redboot without warning and will brick your NAS200! You will have to use a JTAG connection and RDC Loader to make it work again.

It's virtually impossible to accidentally overwrite the Linux kernel and the rom disk part of the Flash ROM with Redboot commands, so even if you brick your box, chances are that your Linux installation is undamaged and will boot as soon as you can revive Redboot. If not, you will have to find a version of UGUTIL.EXE that allows you to use the redboot "upgrade" command. Unfortunately, although the UGUTIL.EXE program that's mentioned in the NSLU2 section of this website will recognize the NAS200 when it's running in upgrade mode, it won't be able to download an image file: it will say that the hardware is incompatible. However, depending on circumstances, it should be possible to build a modified RedBoot or a modified UGUTIL to perform the task.

view · edit · print · history · Last edited by Jac Goudsmit.
Based on work by Jac Goudsmit and dyoung.
Originally by dyoung.
Page last modified on February 14, 2008, at 04:27 PM