NSLU2-Linux
view · edit · print · history

HowTo.TestAnImageInRamUsingRedBoot History

Hide minor edits - Show changes to markup

March 25, 2006, at 03:08 PM by pepijn --
Changed lines 3-12 from:

Then you need to have either a TFTP server or HTTP server on the same LAN as the slug. (192.168.1.X for serial example, 192.168.0.X if using TelnetIntoRedBoot)

If you have an 8MB image file, then you need to SplitAnImageIntoPartsUsingSlugTool.

Once you have the vmlinuz and ramdisk.gz files, then you need to load them onto your TFTP server or HTTP server. How to do that is left as an exercise for the reader. The following assumes that you have put the files in the root directory of your TFTP server or HTTP server.

You should also note the checksum of each file using the cksum command.

The following assumes that the IP address of your slug is 192.168.1.77 and the IP address of your TFTP or HTTP server is 192.168.1.2 - change the addresses in the following command to suit your LAN IP address allocations.

to:

If you have an 8MB image file, then you need to SplitAnImageIntoPartsUsingSlugTool. When the ramdisk.gz comes from an image that uses a FIS directory, the procedure below will not work. It is however still possible to test an updated kernel by loading it into RAM before reflashing. A proper ramdisk.gz will have the following signature when classified by file:

Linux Compressed ROM File System data, big endian

Once you have the vmlinuz and ramdisk.gz files, you need to load them onto a TFTP server or HTTP server on the same LAN as the slug (192.168.1.X for serial example, 192.168.0.X if using TelnetIntoRedBoot). How to do that is left as an exercise for the reader.

You should also note the checksum of each file using the cksum command.

The following assumes that the IP address of your slug is 192.168.1.77 and the IP address of your TFTP or HTTP server is 192.168.1.2 - change the addresses in the following command to suit your LAN IP address allocations. It also assumes that you have put the files in the root directory of your TFTP server or HTTP server.

Changed lines 15-16 from:
 ip_address -l 192.168.1.77 -h 192.168.1.2
to:
ip_address -l 192.168.1.77 -h 192.168.1.2
Changed lines 21-22 from:
 load -r -v -b 0x01000000 ramdisk.gz
to:
load -r -v -b 0x01000000 ramdisk.gz
Changed lines 25-26 from:
 load -r -v -b 0x01000000 -m http /ramdisk.gz
to:
load -r -v -b 0x01000000 -m http /ramdisk.gz
Changed lines 31-32 from:
 cksum
to:
cksum
Changed lines 37-38 from:
 load -r -v -b 0x01d00000 vmlinuz
to:
load -r -v -b 0x01d00000 vmlinuz
Changed lines 41-42 from:
 load -r -v -b 0x01d00000 -m http /vmlinuz
to:
load -r -v -b 0x01d00000 -m http /vmlinuz
Changed lines 45-46 from:
 cksum
to:
cksum
Changed lines 49-50 from:
 exec 0x01d00000
to:
exec 0x01d00000
October 26, 2004, at 07:22 AM by peecock41 --
Added lines 27-28:

If you find that the system hangs during loading, then remove the -v option. Its only purpose is to show a 'rotating dash' during loading.

October 18, 2004, at 12:09 PM by tman --
Changed line 3 from:

Then you need to have either a tftp server or http server on the same LAN as the slug. (192.168.1.X for Serial example, 192.168.0.X if using TelnetIntoRedBoot)

to:

Then you need to have either a TFTP server or HTTP server on the same LAN as the slug. (192.168.1.X for serial example, 192.168.0.X if using TelnetIntoRedBoot)

Changed line 7 from:

Once you have the vmlinuz and ramdisk.gz files, then you need to load them onto your tftp server or http server. How to do that is left as an exercise for the reader. The following assumes that you have put the files in the root directory of your tftp server or http server.

to:

Once you have the vmlinuz and ramdisk.gz files, then you need to load them onto your TFTP server or HTTP server. How to do that is left as an exercise for the reader. The following assumes that you have put the files in the root directory of your TFTP server or HTTP server.

Changed line 9 from:

You should also note the checksum of each file using the "cksum" command.

to:

You should also note the checksum of each file using the cksum command.

Changed line 11 from:

The following assumes that the IP address of your slug is 192.168.1.77 and the IP address of your tftp or http server is 192.168.1.2 - change the addresses in the following command to suit your LAN IP address allocations.

to:

The following assumes that the IP address of your slug is 192.168.1.77 and the IP address of your TFTP or HTTP server is 192.168.1.2 - change the addresses in the following command to suit your LAN IP address allocations.

Changed line 15 from:
 ip_address -l 192.168.1.77 -h 192.168.1.2
to:
 ip_address -l 192.168.1.77 -h 192.168.1.2
Changed line 19 from:

If you have a tftp server, use this command:

to:

If you have a TFTP server, use this command:

Changed line 21 from:
 load -r -v -b 0x01000000 ramdisk.gz
to:
 load -r -v -b 0x01000000 ramdisk.gz
Changed line 23 from:

If you have a http server, use this command:

to:

If you have a HTTP server, use this command:

Changed line 25 from:
 load -r -v -b 0x01000000 -m http /ramdisk.gz
to:
 load -r -v -b 0x01000000 -m http /ramdisk.gz
Changed line 29 from:
 cksum
to:
 cksum
Changed line 31 from:

The you load the kernel into RAM at 0x01d00000 (this is where the bootloader expects to find it).

to:

Then you load the kernel into RAM at 0x01d00000 (this is where the bootloader expects to find it).

Changed line 33 from:

If you have a tftp server, use this command:

to:

If you have a TFTP server, use this command:

Changed line 35 from:
 load -r -v -b 0x01d00000 vmlinuz
to:
 load -r -v -b 0x01d00000 vmlinuz
Changed line 37 from:

If you have a http server, use this command:

to:

If you have a HTTP server, use this command:

Changed line 39 from:
 load -r -v -b 0x01d00000 -m http /vmlinuz
to:
 load -r -v -b 0x01d00000 -m http /vmlinuz
Changed line 43 from:
 cksum
to:
 cksum
Changed line 47 from:
 exec 0x01d00000
to:
 exec 0x01d00000
October 18, 2004, at 12:00 PM by snhenson --
Changed line 25 from:
 load -r -v -b 0x01000000 -m http ramdisk.gz
to:
 load -r -v -b 0x01000000 -m http /ramdisk.gz
Changed line 39 from:
 load -r -v -b 0x01d00000 vmlinuz
to:
 load -r -v -b 0x01d00000 -m http /vmlinuz
October 09, 2004, at 12:36 PM by ka6sox --
Changed line 3 from:

Then you need to have either a tftp server or http server on the same LAN as the slug. (192.168.1.X for Serial example, 192.168.0.X if using TelnetIntoRedBoot

to:

Then you need to have either a tftp server or http server on the same LAN as the slug. (192.168.1.X for Serial example, 192.168.0.X if using TelnetIntoRedBoot)

October 09, 2004, at 12:25 PM by ka6sox --
Changed line 3 from:

Then you need to have either a tftp server or http server on the same LAN as the slug.

to:

Then you need to have either a tftp server or http server on the same LAN as the slug. (192.168.1.X for Serial example, 192.168.0.X if using TelnetIntoRedBoot

October 09, 2004, at 09:34 AM by rwhitby --
Changed line 1 from:

First you need to have RedBoot access - you can either AddASerialPort or TelnetIntoRedBoot.

to:

First you need to have RedBoot access - you can either AddASerialPort or TelnetIntoRedBoot.

October 09, 2004, at 09:34 AM by rwhitby --
Changed lines 1-49 from:
to:

First you need to have RedBoot access - you can either AddASerialPort or TelnetIntoRedBoot.

Then you need to have either a tftp server or http server on the same LAN as the slug.

If you have an 8MB image file, then you need to SplitAnImageIntoPartsUsingSlugTool.

Once you have the vmlinuz and ramdisk.gz files, then you need to load them onto your tftp server or http server. How to do that is left as an exercise for the reader. The following assumes that you have put the files in the root directory of your tftp server or http server.

You should also note the checksum of each file using the "cksum" command.

The following assumes that the IP address of your slug is 192.168.1.77 and the IP address of your tftp or http server is 192.168.1.2 - change the addresses in the following command to suit your LAN IP address allocations.

First, you need to tell the slug about your LAN:

 ip_address -l 192.168.1.77 -h 192.168.1.2

Then you load the ramdisk into RAM at 0x01000000 (this is where the bootloader expects to find it).

If you have a tftp server, use this command:

 load -r -v -b 0x01000000 ramdisk.gz

If you have a http server, use this command:

 load -r -v -b 0x01000000 -m http ramdisk.gz

Then verify the checksum of the ramdisk:

 cksum

The you load the kernel into RAM at 0x01d00000 (this is where the bootloader expects to find it).

If you have a tftp server, use this command:

 load -r -v -b 0x01d00000 vmlinuz

If you have a http server, use this command:

 load -r -v -b 0x01d00000 vmlinuz

Then verify the checksum of the kernel:

 cksum

The last step is to start execution of the kernel:

 exec 0x01d00000

This should boot the kernel, which should load the ramdisk. Note that during this procedure you have not modified the flash memory at all, so you will have to do this all again if you cycle the power. This is a good thing if the image is broken (as the slug will just reboot from the good image in flash). It is strongly suggested that you always test an image in RAM before flashing it (unless you know for sure that the image is good).

view · edit · print · history · Last edited by pepijn.
Based on work by peecock41, tman, snhenson, ka6sox, and rwhitby.
Originally by rwhitby.
Page last modified on March 25, 2006, at 03:08 PM