NSLU2-Linux
view · edit · print · history

The old upslug does not work on Mac OS X. Of course, neither does the SerComm utility.
So what is a poor Mac user to do? Use UpSlug2. Below is another a solution:
(Note: The author has only second-hand knowledge of OS X. If you're unsure about anything, feel free to ask)

Flash with TFTP or HTTP under MacOS X

  1. Install a TFTP or HTTP Server
    The first thing you will need to do is set up a TFTP or HTTP server, if you do not already have one installed. You should set up the server with a directory to serve from; this will need to be world-readable, *as will any files you place in it* if you want them to be served.
  2. Obtain the firmware and place it in the TFTP serving directory, or somewhere on the HTTP-server.
    Getting the original Linksys firmware is recommended, but you can try using the release-versions of Unslung or OpenSlug as well.
  3. Connect to RedBoot via Telnet or Serial.
    Using the perl script from TelnetIntoRedBoot with a crossover cable has worked for me, replacing the upslug and arping commands with:
    system("ping -oqi .1 $host");
    printf("NSLU2 ping response\n");
    Then run the perl script via sudo ie sudo ./perlScript.pl
  4. Tell the NSLU2 where the TFTP/HTTP server is.
    At the RedBoot prompt, type the following command:
    ip_address -h 192.168.0.99
    where 192.168.0.99 is the IP of the TFTP/HTTP server. This tells RedBoot where to download the data from. You should get your prompt back after each command; I've occasionally had it hang, in which case restart and start over.
  5. Load the firmware
    Now type:
    If you're using TFTP: load -r -v -b 0x01000000 NSLU2_V23R29.bin
    If you're using HTTP: load -r -m http -v -b 0x01000000 /path/to/firmware/NSLU2_V23R29.bin
    (assuming, of course, that you're using the R29 firmware).
    If you're using OpenSlug / Unslung, load the flashdisk.bin, not the rootfs.bin.
    This will load the firmware into the slug's RAM over the network.
  6. Verify the firmware.
    For safety's sake, you can now do a checksum on the file to ensure it didn't get corrupted in transit. Simply type:
    cksum
    and you should get a set of numbers calculated from the file. Do this on your OS X box as well, and compare the numbers.
    If the numbers match, the transfer was successfull and errorfree. If not, reboot the slug and start over.
  7. Write the firmware to the flash.
    Cross your fingers and type:
    fis write -f 0x50060000 -b 0x01060000 -l 0x7a0000
    This will write the kernel, ramdisk and trailer portions of the firmware to the right position in the flash. This may take up to 5 minutes. When it's finished and you get your Redboot prompt back, your slug should be fixed.
    Because you didn't overwrite the SysConf? part of the flash, your slug will still be using the same IP address as before. Remember to set your subnets appropriately, and ensure you're looking for it in the right place. If you wish to erase the SysConf? as well then follow the instructions to reset the SysConf?
  8. Restart the slug.
    With fingers still crossed, type:
    reset
    Be ready to celebrate when you hear that strangled little beep it makes as it finishes booting and is ready to be used.
view · edit · print · history · Last edited by MarkHu.
Based on work by MarkHu, Theodore Campbell, barrym, Homer, and repvik.
Originally by repvik.
Page last modified on September 20, 2008, at 02:17 AM