NSLU2-Linux
view · edit · print · history

NAS100d.FisList History

Hide minor edits - Show changes to markup

January 13, 2009, at 06:41 AM by rwhitby -- Removed unused firmware layouts.
Deleted lines 14-127:

Proposed layout to allow for a 256KB Loader partition and separate 128KB npe_ucode microcode area

This allows us to "chain boot" from RedBoot to Apex to the replacement kernel. Set the RedBoot boot script to "fis load Loader ; go".

 fis list
 Name              FLASH addr  Mem addr    Length             Entry point
 RedBoot           0x50000000  0x50000000  0x00040000 (256KB) 0x00000000
 kernel            0x50040000  0x50040000  0x00200000 (  2MB) 0x01008000
 filesystem        0x50240000  0x50240000  0x00D00000 ( 13MB) 0x00000000
 sysconfig         0x50F40000  0x50F40000  0x00080000 (256KB) 0x00000000
 Loader            0x50F80000  0x50F80000  0x00040000 (256KB) 0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000 (128KB) 0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000 (128KB) 0x00000000
 RedBoot>

Proposed layout to allow for a 512KB LudeBoot partition and separate LudeBoot config area

This allows us to "chain boot" from RedBoot to LudeBoot to the replacement kernel. Set the RedBoot boot script to "fis load Ludeboot ; go" and set the LudeBoot boot script to "fis load kernel ; exec".

 Name              FLASH addr  Mem addr    Length             Entry point
 RedBoot           0x50000000  0x50000000  0x00040000 (256KB) 0x00000000
 kernel            0x50040000  0x00400000  0x00200000 (2.0MB) 0x00400000
 filesystem        0x50240000  0x00B00000  0x00600000 (6.0MB) 0x00000000
 usr               0x50840000  0x50840000  0x006C0000 (6.8MB) 0x00000000
 sysconfig         0x50F00000  0x50F00000  0x00040000 (256KB) 0x00000000
 LudeBoot          0x50F40000  0x00100000  0x00060000 (384KB) 0x00100040
 LudeBoot config   0x50FA0000  0x50FA0000  0x00001000 (128KB) 0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000 (128KB) 0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000 (128KB) 0x00000000

Steps required to transition from stock partitioning to LudeBoot partitioning

  • Move the sysconfig partition up by 256KB and reduce it's size by 384KB
 > fis load -b 0x01000000 -c sysconfig
 > fis delete sysconfig
 > fis create -f 0x50F00000 -l 0x00040000 -b 0x01000000 sysconfig

 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
 kernel            0x50040000  0x00400000  0x00200000  0x00400000
 filesystem        0x50240000  0x00B00000  0x00600000  0x00000000
 usr               0x50840000  0x50840000  0x00680000  0x00000000
 unallocated space 0x50EC0000  0x50EC0000  0x00080000  0x00000000
 sysconfig         0x50F00000  0x50F00000  0x00040000  0x00000000
 unallocated space 0x50F40000  0x50F40000  0x00080000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
  • Load a new RedBoot[RAM] image into memory (transfer redboot.srec)
 > load -m xmodem
 (transfer redboot.srec via xmodem)
  • Create a new LudeBoot partition
 > fis create -f 0x50F40000 -l 0x00060000 -r 0x00100000 -e 0x00100040 LudeBoot

 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
 kernel            0x50040000  0x00400000  0x00200000  0x00400000
 filesystem        0x50240000  0x00B00000  0x00600000  0x00000000
 usr               0x50840000  0x50840000  0x00680000  0x00000000
 unallocated space 0x50EC0000  0x50EC0000  0x00080000  0x00000000
 sysconfig         0x50F00000  0x50F00000  0x00040000  0x00000000
 LudeBoot          0x50F40000  0x00100000  0x00060000  0x00100040
 unallocated space 0x50FA0000  0x50FA0000  0x00020000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
  • Create a new LudeBoot config partition
 > fis create -f 0x50FA0000 -l 0x00001000 -n LudeBoot config

 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
 kernel            0x50040000  0x00400000  0x00200000  0x00400000
 filesystem        0x50240000  0x00B00000  0x00600000  0x00000000
 usr               0x50840000  0x50840000  0x00680000  0x00000000
 unallocated space 0x50EC0000  0x50EC0000  0x00080000  0x00000000
 sysconfig         0x50F00000  0x50F00000  0x00040000  0x00000000
 LudeBoot          0x50F40000  0x00100000  0x00060000  0x00100040
 LudeBoot config   0x50FA0000  0x50FA0000  0x00001000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
  • Test the new LudeBoot image
 > fis load LudeBoot
 > go
  • Initialise the LudeBoot config area
 > fis init
  • To flash a new version of LudeBoot
 > load -m xmodem
 (transfer redboot.srec via xmodem)
 > fis create LudeBoot

Proposed layout to allow for a 512KB LudeBoot partition (including a LudeBoot config area) and a maximum size JFFS2 partition.

This allows us to "chain boot" from RedBoot to LudeBoot to the replacement kernel. Set the RedBoot boot script to "fis load Ludeboot ; go" and set the LudeBoot boot script to "fis load kernel ; exec".

 Name              FLASH addr  Mem addr    Length             Entry point
 RedBoot           0x50000000  0x50000000  0x00040000 (256KB) 0x00000000
 kernel            0x50040000  0x00400000  0x00200000 (  2MB) 0x00400000
 filesystem        0x50240000  0x00B00000  0x00CC0000 (12+MB) 0x00000000
 sysconfig         0x50F00000  0x50F00000  0x00040000 (256KB) 0x00000000
 LudeBoot          0x50F40000  0x00100000  0x00060000 (384KB) 0x00100040
 LudeBoot config   0x50FA0000  0x50FA0000  0x00020000 (128KB) 0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000 (128KB) 0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000 (128KB) 0x00000000
November 26, 2006, at 09:24 AM by rwhitby --
Changed lines 24-26 from:
 sysconfig         0x50F40000  0x50F40000  0x00020000 (128KB) 0x00000000
 Loader            0x50F60000  0x50F60000  0x00040000 (256KB) 0x00000000
 npe_ucode         0x50FA0000  0x50FA0000  0x00020000 (128KB) 0x00000000
to:
 sysconfig         0x50F40000  0x50F40000  0x00080000 (256KB) 0x00000000
 Loader            0x50F80000  0x50F80000  0x00040000 (256KB) 0x00000000
November 20, 2006, at 03:44 AM by rwhitby --
Changed lines 15-18 from:

Proposed layout to allow for a 512KB LudeBoot partition and separate LudeBoot config area

This allows us to "chain boot" from RedBoot to LudeBoot to the replacement kernel. Set the RedBoot boot script to "fis load Ludeboot ; go" and set the LudeBoot boot script to "fis load kernel ; exec".

to:

Proposed layout to allow for a 256KB Loader partition and separate 128KB npe_ucode microcode area

This allows us to "chain boot" from RedBoot to Apex to the replacement kernel. Set the RedBoot boot script to "fis load Loader ; go".

 fis list
Changed lines 22-27 from:
 kernel            0x50040000  0x00400000  0x00200000 (2.0MB) 0x00400000
 filesystem        0x50240000  0x00B00000  0x00600000 (6.0MB) 0x00000000
 usr               0x50840000  0x50840000  0x006C0000 (6.8MB) 0x00000000
 sysconfig         0x50F00000  0x50F00000  0x00040000 (256KB) 0x00000000
 LudeBoot          0x50F40000  0x00100000  0x00060000 (384KB) 0x00100040
 LudeBoot config   0x50FA0000  0x50FA0000  0x00001000 (128KB) 0x00000000
to:
 kernel            0x50040000  0x50040000  0x00200000 (  2MB) 0x01008000
 filesystem        0x50240000  0x50240000  0x00D00000 ( 13MB) 0x00000000
 sysconfig         0x50F40000  0x50F40000  0x00020000 (128KB) 0x00000000
 Loader            0x50F60000  0x50F60000  0x00040000 (256KB) 0x00000000
 npe_ucode         0x50FA0000  0x50FA0000  0x00020000 (128KB) 0x00000000
Changed lines 29-45 from:
to:
 RedBoot>

Proposed layout to allow for a 512KB LudeBoot partition and separate LudeBoot config area

This allows us to "chain boot" from RedBoot to LudeBoot to the replacement kernel. Set the RedBoot boot script to "fis load Ludeboot ; go" and set the LudeBoot boot script to "fis load kernel ; exec".

 Name              FLASH addr  Mem addr    Length             Entry point
 RedBoot           0x50000000  0x50000000  0x00040000 (256KB) 0x00000000
 kernel            0x50040000  0x00400000  0x00200000 (2.0MB) 0x00400000
 filesystem        0x50240000  0x00B00000  0x00600000 (6.0MB) 0x00000000
 usr               0x50840000  0x50840000  0x006C0000 (6.8MB) 0x00000000
 sysconfig         0x50F00000  0x50F00000  0x00040000 (256KB) 0x00000000
 LudeBoot          0x50F40000  0x00100000  0x00060000 (384KB) 0x00100040
 LudeBoot config   0x50FA0000  0x50FA0000  0x00001000 (128KB) 0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000 (128KB) 0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000 (128KB) 0x00000000
April 25, 2006, at 12:04 PM by rwhitby --
Changed lines 23-25 from:
 usr               0x50840000  0x50840000  0x00680000 (6.5MB) 0x00000000
 LudeBoot          0x50EC0000  0x00100000  0x00080000 (512KB) 0x00100040
 sysconfig         0x50F40000  0x50F40000  0x00060000 (384KB) 0x00000000
to:
 usr               0x50840000  0x50840000  0x006C0000 (6.8MB) 0x00000000
 sysconfig         0x50F00000  0x50F00000  0x00040000 (256KB) 0x00000000
 LudeBoot          0x50F40000  0x00100000  0x00060000 (384KB) 0x00100040
Changed lines 36-37 from:
 > fis create -f 0x50F40000 -l 0x00060000 -b 0x01000000 sysconfig
to:
 > fis create -f 0x50F00000 -l 0x00040000 -b 0x01000000 sysconfig
Changed lines 44-45 from:
 sysconfig         0x50F40000  0x50F40000  0x00060000  0x00000000
 unallocated space 0x50FA0000  0x50FA0000  0x00020000  0x00000000
to:
 sysconfig         0x50F00000  0x50F00000  0x00040000  0x00000000
 unallocated space 0x50F40000  0x50F40000  0x00080000  0x00000000
Changed lines 56-57 from:
 > fis create -f 0x50EC0000 -l 0x00080000 -r 0x00100000 -e 0x00100040 LudeBoot
to:
 > fis create -f 0x50F40000 -l 0x00060000 -r 0x00100000 -e 0x00100040 LudeBoot
Changed lines 63-64 from:
 LudeBoot          0x50EC0000  0x00100000  0x00080000  0x00100040
 sysconfig         0x50F40000  0x50F40000  0x00080000  0x00000000
to:
 unallocated space 0x50EC0000  0x50EC0000  0x00080000  0x00000000
 sysconfig         0x50F00000  0x50F00000  0x00040000  0x00000000
 LudeBoot          0x50F40000  0x00100000  0x00060000  0x00100040
Changed lines 79-80 from:
 LudeBoot          0x50EC0000  0x00100000  0x00080000  0x00100040
 sysconfig         0x50F40000  0x50F40000  0x00080000  0x00000000
to:
 unallocated space 0x50EC0000  0x50EC0000  0x00080000  0x00000000
 sysconfig         0x50F00000  0x50F00000  0x00040000  0x00000000
 LudeBoot          0x50F40000  0x00100000  0x00060000  0x00100040
Changed lines 108-109 from:
 filesystem        0x50240000  0x00B00000  0x00D00000 ( 13MB) 0x00000000
to:
 filesystem        0x50240000  0x00B00000  0x00CC0000 (12+MB) 0x00000000
 sysconfig         0x50F00000  0x50F00000  0x00040000 (256KB) 0x00000000
Deleted line 113:
April 25, 2006, at 11:52 AM by rwhitby --
Changed lines 105-106 from:
 Kernel            0x50040000  0x00400000  0x00200000 (  2MB) 0x00400000
 Flashdisk         0x50240000  0x00B00000  0x00D00000 ( 13MB) 0x00000000
to:
 kernel            0x50040000  0x00400000  0x00200000 (  2MB) 0x00400000
 filesystem        0x50240000  0x00B00000  0x00D00000 ( 13MB) 0x00000000
November 17, 2005, at 04:03 AM by rwhitby --
Changed lines 107-108 from:
 LudeBoot          0x50F40000  0x00100000  0x00080000 (512KB) 0x00100040
to:
 LudeBoot          0x50F40000  0x00100000  0x00060000 (384KB) 0x00100040
 LudeBoot config   0x50FA0000  0x50FA0000  0x00020000 (128KB) 0x00000000
November 17, 2005, at 03:23 AM by rwhitby --
Changed line 105 from:
 kernel            0x50040000  0x00400000  0x00200000 (  2MB) 0x00400000
to:
 Kernel            0x50040000  0x00400000  0x00200000 (  2MB) 0x00400000
November 17, 2005, at 03:22 AM by rwhitby --
Added lines 99-110:

Proposed layout to allow for a 512KB LudeBoot partition (including a LudeBoot config area) and a maximum size JFFS2 partition.

This allows us to "chain boot" from RedBoot to LudeBoot to the replacement kernel. Set the RedBoot boot script to "fis load Ludeboot ; go" and set the LudeBoot boot script to "fis load kernel ; exec".

 Name              FLASH addr  Mem addr    Length             Entry point
 RedBoot           0x50000000  0x50000000  0x00040000 (256KB) 0x00000000
 kernel            0x50040000  0x00400000  0x00200000 (  2MB) 0x00400000
 Flashdisk         0x50240000  0x00B00000  0x00D00000 ( 13MB) 0x00000000
 LudeBoot          0x50F40000  0x00100000  0x00080000 (512KB) 0x00100040
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000 (128KB) 0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000 (128KB) 0x00000000
November 15, 2005, at 12:31 AM by rwhitby --
Changed lines 40-41 from:
 kernel            0x50040000  0x50040000  0x00200000  0x01008000
 filesystem        0x50240000  0x50240000  0x00600000  0x00000000
to:
 kernel            0x50040000  0x00400000  0x00200000  0x00400000
 filesystem        0x50240000  0x00B00000  0x00600000  0x00000000
Changed lines 60-61 from:
 kernel            0x50040000  0x50040000  0x00200000  0x01008000
 filesystem        0x50240000  0x50240000  0x00600000  0x00000000
to:
 kernel            0x50040000  0x00400000  0x00200000  0x00400000
 filesystem        0x50240000  0x00B00000  0x00600000  0x00000000
Changed lines 75-76 from:
 kernel            0x50040000  0x50040000  0x00200000  0x01008000
 filesystem        0x50240000  0x50240000  0x00600000  0x00000000
to:
 kernel            0x50040000  0x00400000  0x00200000  0x00400000
 filesystem        0x50240000  0x00B00000  0x00600000  0x00000000
November 15, 2005, at 12:29 AM by rwhitby --
Changed line 24 from:
 LudeBoot          0x50EC0000  0x00100000  0x00080000 (512KB) 0x00000000
to:
 LudeBoot          0x50EC0000  0x00100000  0x00080000 (512KB) 0x00100040
November 14, 2005, at 11:29 PM by rwhitby --
Changed lines 17-18 from:

This allows us to "chain boot" from RedBoot to LudeBoot? to the replacement kernel. Set the RedBoot boot script to "fis load Ludeboot ; go" and set the LudeBoot? boot script to "fis load kernel ; exec".

to:

This allows us to "chain boot" from RedBoot to LudeBoot to the replacement kernel. Set the RedBoot boot script to "fis load Ludeboot ; go" and set the LudeBoot boot script to "fis load kernel ; exec".

November 14, 2005, at 11:28 PM by rwhitby --
Added lines 17-18:

This allows us to "chain boot" from RedBoot to LudeBoot? to the replacement kernel. Set the RedBoot boot script to "fis load Ludeboot ; go" and set the LudeBoot? boot script to "fis load kernel ; exec".

November 14, 2005, at 11:19 PM by rwhitby --
Changed lines 15-16 from:

Proposed layout to allow for a 512KB LudeBoot partition

to:

Proposed layout to allow for a 512KB LudeBoot partition and separate LudeBoot config area

Changed lines 23-24 from:
 sysconfig         0x50F40000  0x50F40000  0x00080000 (512KB) 0x00000000
to:
 sysconfig         0x50F40000  0x50F40000  0x00060000 (384KB) 0x00000000
 LudeBoot config   0x50FA0000  0x50FA0000  0x00001000 (128KB) 0x00000000
Changed lines 30-31 from:
  • Move the sysconfig partition up by 256KB and reduce it's size by 256KB
to:
  • Move the sysconfig partition up by 256KB and reduce it's size by 384KB
Changed lines 34-35 from:
 > fis create -f 0x50F80000 -l 0x00040000 -b 0x01000000 sysconfig
to:
 > fis create -f 0x50F40000 -l 0x00060000 -b 0x01000000 sysconfig
Changed lines 41-43 from:
 sysconfig         0x50F80000  0x50F80000  0x00040000  0x00000000
to:
 unallocated space 0x50EC0000  0x50EC0000  0x00080000  0x00000000
 sysconfig         0x50F40000  0x50F40000  0x00060000  0x00000000
 unallocated space 0x50FA0000  0x50FA0000  0x00020000  0x00000000
Added line 63:
 unallocated space 0x50FA0000  0x50FA0000  0x00020000  0x00000000
Added lines 67-81:
  • Create a new LudeBoot config partition
 > fis create -f 0x50FA0000 -l 0x00001000 -n LudeBoot config

 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
 kernel            0x50040000  0x50040000  0x00200000  0x01008000
 filesystem        0x50240000  0x50240000  0x00600000  0x00000000
 usr               0x50840000  0x50840000  0x00680000  0x00000000
 LudeBoot          0x50EC0000  0x00100000  0x00080000  0x00100040
 sysconfig         0x50F40000  0x50F40000  0x00080000  0x00000000
 LudeBoot config   0x50FA0000  0x50FA0000  0x00001000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
Added lines 87-90:
  • Initialise the LudeBoot config area
 > fis init
November 14, 2005, at 11:00 PM by rwhitby --
Changed lines 72-73 from:
 > fis create LudeBoot?
to:
 > fis create LudeBoot
November 11, 2005, at 10:26 PM by dyoung --
Changed lines 51-52 from:
 > fis create -f 0x50F00000 -l 0x00080000 -r 0x00100000 -e 0x00100040 LudeBoot
to:
 > fis create -f 0x50EC0000 -l 0x00080000 -r 0x00100000 -e 0x00100040 LudeBoot
November 10, 2005, at 02:02 AM by rwhitby --
Changed lines 51-52 from:
 > fis create -f 0x50F00000 -l 0x00080000 -r 0x00100000 -e 0x00100000 LudeBoot
to:
 > fis create -f 0x50F00000 -l 0x00080000 -r 0x00100000 -e 0x00100040 LudeBoot
November 10, 2005, at 02:01 AM by rwhitby --
Changed lines 51-52 from:
 > fis create -f 0x50F00000 -l 0x00080000 -r 0x00100000 LudeBoot
to:
 > fis create -f 0x50F00000 -l 0x00080000 -r 0x00100000 -e 0x00100000 LudeBoot
Added lines 67-73:
  • To flash a new version of LudeBoot
 > load -m xmodem
 (transfer redboot.srec via xmodem)
 > fis create LudeBoot?
November 07, 2005, at 05:25 AM by rwhitby --
Changed line 22 from:
 LudeBoot?          0x50EC0000  0x00100000  0x00080000 (512KB) 0x00000000
to:
 LudeBoot          0x50EC0000  0x00100000  0x00080000 (512KB) 0x00000000
Changed lines 27-28 from:

Steps required to transition from stock partitioning to LudeOS partitioning

to:

Steps required to transition from stock partitioning to LudeBoot partitioning

Changed lines 49-52 from:
 > fis create -f 0x50F00000 -l 0x00080000 -r 0x00100000 LudeBoot?
to:
  • Create a new LudeBoot partition
 > fis create -f 0x50F00000 -l 0x00080000 -r 0x00100000 LudeBoot
Changed line 58 from:
 LudeBoot?          0x50EC0000  0x00100000  0x00080000  0x00100040
to:
 LudeBoot          0x50EC0000  0x00100000  0x00080000  0x00100040
Changed lines 63-65 from:
 > fis load LudeBoot?
to:
  • Test the new LudeBoot image
 > fis load LudeBoot
November 07, 2005, at 05:24 AM by rwhitby --
Added line 9:
 unallocated space 0x50EC0000  0x50EC0000  0x00040000 (256KB) 0x00000000
Changed lines 15-16 from:

Proposed LudeOS layout to allow two 512KB RedBoot partitions

to:

Proposed layout to allow for a 512KB LudeBoot partition

Changed lines 18-23 from:
 RedBoot           0x50000000  0x50000000  0x00080000 (512KB) 0x00000000
 kernel            0x50080000  0x00400000  0x00200000 (2.0MB) 0x00400000
 filesystem        0x50280000  0x00B00000  0x00600000 (6.0MB) 0x00000000
 usr               0x50880000  0x50880000  0x00680000 (6.5MB) 0x00000000
 RedBoot[RAM]      0x50F00000  0x00100000  0x00080000 (512KB) 0x00000000
 sysconfig         0x50F80000  0x50F80000  0x00040000 (256KB) 0x00000000
to:
 RedBoot           0x50000000  0x50000000  0x00040000 (256KB) 0x00000000
 kernel            0x50040000  0x00400000  0x00200000 (2.0MB) 0x00400000
 filesystem        0x50240000  0x00B00000  0x00600000 (6.0MB) 0x00000000
 usr               0x50840000  0x50840000  0x00680000 (6.5MB) 0x00000000
 LudeBoot?          0x50EC0000  0x00100000  0x00080000 (512KB) 0x00000000
 sysconfig         0x50F40000  0x50F40000  0x00080000 (512KB) 0x00000000
Changed lines 29-30 from:
  • Move the sysconfig partition up by 512KB and reduce it's size by 512KB
to:
  • Move the sysconfig partition up by 256KB and reduce it's size by 256KB
Changed lines 49-52 from:
  • Create a new RedBoot[RAM] partition
 > fis create -f 0x50F00000 -l 0x00080000 -r 0x00100000 RedBoot[RAM]
to:
 > fis create -f 0x50F00000 -l 0x00080000 -r 0x00100000 LudeBoot?
Changed lines 58-59 from:
 RedBoot[RAM]      0x50F00000  0x00100000  0x00080000  0x00100040
 sysconfig         0x50F80000  0x50F80000  0x00040000  0x00000000
to:
 LudeBoot?          0x50EC0000  0x00100000  0x00080000  0x00100040
 sysconfig         0x50F40000  0x50F40000  0x00080000  0x00000000
Changed lines 63-65 from:
  • Test the new RedBoot[RAM] image
 > fis load RedBoot[RAM]
to:
 > fis load LudeBoot?
Deleted lines 66-137:
  • Move the user partition up by 256KB
 > fis load -b 0x01000000 -c usr
 > fis delete usr
 > fis create -f 0x50880000 -l 0x00680000 usr

 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
 kernel            0x50040000  0x50040000  0x00200000  0x01008000
 filesystem        0x50240000  0x50240000  0x00600000  0x00000000
 usr               0x50880000  0x50880000  0x00680000  0x00000000
 RedBoot[RAM]      0x50F00000  0x00100000  0x00080000  0x00100040
 sysconfig         0x50F80000  0x50F80000  0x00040000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
  • Move the filesystem partition up by 256KB
 > fis load -b 0x01000000 -c filesystem
 > fis delete filesystem
 > fis create -f 0x50280000 -l 0x00600000 -r 0x00b00000 filesystem

 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
 kernel            0x50040000  0x50040000  0x00200000  0x01008000
 filesystem        0x50280000  0x00b00000  0x00600000  0x00000000
 usr               0x50880000  0x50880000  0x00680000  0x00000000
 RedBoot[RAM]      0x50F00000  0x00100000  0x00080000  0x00100040
 sysconfig         0x50F80000  0x50F80000  0x00040000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
  • Move the kernel partition up by 256KB
 > fis load -b 0x01000000 -c kernel
 > fis delete kernel
 > fis create -f 0x50080000 -l 0x00200000 -r 0x00400000 -e 0x00400000 kernel

 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
 kernel            0x50080000  0x00400000  0x00200000  0x00400000
 filesystem        0x50280000  0x00b00000  0x00600000  0x00000000
 usr               0x50880000  0x50880000  0x00680000  0x00000000
 RedBoot[RAM]      0x50F00000  0x00100000  0x00080000  0x00100040
 sysconfig         0x50F80000  0x50F80000  0x00040000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
  • Expand the RedBoot partition

(Do not go past this point at the moment)

 > fis load RedBoot[RAM]
 > go
 (The RAM-based Redboot image boots)
 > fis load -b 0x01000000 -c RedBoot
 > fis delete RedBoot (this doesn't work, cause RedBoot is a reserved partition)
 > fis create -f 0x50000000 -l 0x00080000 RedBoot

 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00080000  0x00000000
 kernel            0x50080000  0x00400000  0x00200000  0x00400000
 filesystem        0x50280000  0x00b00000  0x00600000  0x00000000
 usr               0x50880000  0x50880000  0x00680000  0x00000000
 RedBoot[RAM]      0x50F00000  0x00100000  0x00080000  0x00100040
 sysconfig         0x50F80000  0x50F80000  0x00040000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
  • Test the final results.
November 07, 2005, at 05:05 AM by rwhitby --
Changed lines 46-47 from:
 > (transfer redboot.srec via xmodem)
to:
 (transfer redboot.srec via xmodem)
Added lines 117-121:

(Do not go past this point at the moment)

 > fis load RedBoot[RAM]
 > go
 (The RAM-based Redboot image boots)
Changed line 123 from:
 > fis delete RedBoot
to:
 > fis delete RedBoot (this doesn't work, cause RedBoot is a reserved partition)
November 07, 2005, at 04:58 AM by rwhitby --
Changed line 122 from:
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
to:
 RedBoot           0x50000000  0x50000000  0x00080000  0x00000000
November 07, 2005, at 04:57 AM by rwhitby --
Deleted lines 114-117:
  • Test the results so far by rebooting the system

(Note that this will completely wipe the hard disk in the Lude)

Changed lines 117-118 from:
 > [This is the tricky bit - we will need to run RedBoot from RAM to rewrite the copy in flash.]
to:
 > fis load -b 0x01000000 -c RedBoot
 > fis delete RedBoot
 > fis create -f 0x50000000 -l 0x00080000 RedBoot

 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
 kernel            0x50080000  0x00400000  0x00200000  0x00400000
 filesystem        0x50280000  0x00b00000  0x00600000  0x00000000
 usr               0x50880000  0x50880000  0x00680000  0x00000000
 RedBoot[RAM]      0x50F00000  0x00100000  0x00080000  0x00100040
 sysconfig         0x50F80000  0x50F80000  0x00040000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
November 07, 2005, at 04:42 AM by rwhitby --
Changed lines 103-104 from:
 > fis create -f 0x50080000 -l 0x00200000 -r 0x00400000 -e 0x00400000 filesystem
to:
 > fis create -f 0x50080000 -l 0x00200000 -r 0x00400000 -e 0x00400000 kernel
November 07, 2005, at 04:41 AM by rwhitby --
Deleted lines 68-69:

(Don't go past this point yet)

Changed lines 85-86 from:
 > ...
to:
 > fis load -b 0x01000000 -c filesystem
 > fis delete filesystem
 > fis create -f 0x50280000 -l 0x00600000 -r 0x00b00000 filesystem

 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
 kernel            0x50040000  0x50040000  0x00200000  0x01008000
 filesystem        0x50280000  0x00b00000  0x00600000  0x00000000
 usr               0x50880000  0x50880000  0x00680000  0x00000000
 RedBoot[RAM]      0x50F00000  0x00100000  0x00080000  0x00100040
 sysconfig         0x50F80000  0x50F80000  0x00040000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
Changed lines 101-102 from:
 > ...
to:
 > fis load -b 0x01000000 -c kernel
 > fis delete kernel
 > fis create -f 0x50080000 -l 0x00200000 -r 0x00400000 -e 0x00400000 filesystem

 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
 kernel            0x50080000  0x00400000  0x00200000  0x00400000
 filesystem        0x50280000  0x00b00000  0x00600000  0x00000000
 usr               0x50880000  0x50880000  0x00680000  0x00000000
 RedBoot[RAM]      0x50F00000  0x00100000  0x00080000  0x00100040
 sysconfig         0x50F80000  0x50F80000  0x00040000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
Added lines 117-118:

(Note that this will completely wipe the hard disk in the Lude)

November 07, 2005, at 04:28 AM by rwhitby --
Added lines 75-84:
 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
 kernel            0x50040000  0x50040000  0x00200000  0x01008000
 filesystem        0x50240000  0x50240000  0x00600000  0x00000000
 usr               0x50880000  0x50880000  0x00680000  0x00000000
 RedBoot[RAM]      0x50F00000  0x00100000  0x00080000  0x00100040
 sysconfig         0x50F80000  0x50F80000  0x00040000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
November 07, 2005, at 04:13 AM by rwhitby --
Added lines 69-76:

(Don't go past this point yet)

 > fis load -b 0x01000000 -c usr
 > fis delete usr
 > fis create -f 0x50880000 -l 0x00680000 usr
  • Move the filesystem partition up by 256KB
Deleted lines 78-81:
  • Move the filesystem partition up by 256KB
 > ...
November 07, 2005, at 03:47 AM by rwhitby --
Changed lines 16-25 from:
 Name              FLASH addr  Mem addr    Length             Entry point Load addr
 RedBoot           0x50000000  0x50000000  0x00080000 (512KB) 0x00000000  0x00000000
 kernel            0x50080000  0x50080000  0x00200000 (2.0MB) 0x01008000  0x00400000
 filesystem        0x50280000  0x50280000  0x00600000 (6.0MB) 0x00000000  0x00B00000
 usr               0x50880000  0x50880000  0x00680000 (6.5MB) 0x00000000  0x00000000
 RedBoot[RAM]      0x50F00000  0x50F00000  0x00080000 (512KB) 0x00000000  0x00000000
 sysconfig         0x50F80000  0x50F80000  0x00040000 (256KB) 0x00000000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000 (128KB) 0x00000000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000 (128KB) 0x00000000  0x00000000
to:
 Name              FLASH addr  Mem addr    Length             Entry point
 RedBoot           0x50000000  0x50000000  0x00080000 (512KB) 0x00000000
 kernel            0x50080000  0x00400000  0x00200000 (2.0MB) 0x00400000
 filesystem        0x50280000  0x00B00000  0x00600000 (6.0MB) 0x00000000
 usr               0x50880000  0x50880000  0x00680000 (6.5MB) 0x00000000
 RedBoot[RAM]      0x50F00000  0x00100000  0x00080000 (512KB) 0x00000000
 sysconfig         0x50F80000  0x50F80000  0x00040000 (256KB) 0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000 (128KB) 0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000 (128KB) 0x00000000
Changed line 57 from:
 RedBoot[RAM]      0x50F00000  0x50F00000  0x00080000  0x00000000
to:
 RedBoot[RAM]      0x50F00000  0x00100000  0x00080000  0x00100040
November 07, 2005, at 03:32 AM by rwhitby --
Changed lines 43-44 from:
  • Load a new RedBoot[RAM] image into memory
to:
  • Load a new RedBoot[RAM] image into memory (transfer redboot.srec)
Changed lines 46-47 from:
to:
 > (transfer redboot.srec via xmodem)
November 07, 2005, at 03:31 AM by rwhitby --
Added lines 43-46:
  • Load a new RedBoot[RAM] image into memory
 > load -m xmodem
Changed lines 49-50 from:
 > fis create -f 0x50F00000 -l 0x00080000 -n RedBoot[RAM]
to:
 > fis create -f 0x50F00000 -l 0x00080000 -r 0x00100000 RedBoot[RAM]
Added lines 61-65:
  • Test the new RedBoot[RAM] image
 > fis load RedBoot[RAM]
 > go
November 06, 2005, at 09:33 PM by rwhitby --
Changed lines 28-29 from:
  • Move the sysconfig partition up by 512KB
to:
  • Move the sysconfig partition up by 512KB and reduce it's size by 512KB
November 06, 2005, at 09:29 PM by rwhitby --
Changed lines 16-25 from:
 Name              FLASH addr  Mem addr    Length             Entry point
 RedBoot           0x50000000  0x50000000  0x00080000 (512KB) 0x00000000
 kernel            0x50080000  0x50080000  0x00200000 (2.0MB) 0x01008000
 filesystem        0x50280000  0x50280000  0x00600000 (6.0MB) 0x00000000
 usr               0x50880000  0x50880000  0x00680000 (6.5MB) 0x00000000
 RedBoot[RAM]      0x50F00000  0x50F00000  0x00080000 (512KB) 0x00000000
 sysconfig         0x50F80000  0x50F80000  0x00040000 (256KB) 0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000 (128KB) 0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000 (128KB) 0x00000000
to:
 Name              FLASH addr  Mem addr    Length             Entry point Load addr
 RedBoot           0x50000000  0x50000000  0x00080000 (512KB) 0x00000000  0x00000000
 kernel            0x50080000  0x50080000  0x00200000 (2.0MB) 0x01008000  0x00400000
 filesystem        0x50280000  0x50280000  0x00600000 (6.0MB) 0x00000000  0x00B00000
 usr               0x50880000  0x50880000  0x00680000 (6.5MB) 0x00000000  0x00000000
 RedBoot[RAM]      0x50F00000  0x50F00000  0x00080000 (512KB) 0x00000000  0x00000000
 sysconfig         0x50F80000  0x50F80000  0x00040000 (256KB) 0x00000000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000 (128KB) 0x00000000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000 (128KB) 0x00000000  0x00000000
November 06, 2005, at 09:26 PM by rwhitby --
Changed lines 4-11 from:
 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
 kernel            0x50040000  0x50040000  0x00200000  0x01008000
 filesystem        0x50240000  0x50240000  0x00600000  0x00000000
 usr               0x50840000  0x50840000  0x00680000  0x00000000
 sysconfig         0x50F00000  0x50F00000  0x000C0000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
to:
 Name              FLASH addr  Mem addr    Length             Entry point
 RedBoot           0x50000000  0x50000000  0x00040000 (256KB) 0x00000000
 kernel            0x50040000  0x50040000  0x00200000 (2.0MB) 0x01008000
 filesystem        0x50240000  0x50240000  0x00600000 (6.0MB) 0x00000000
 usr               0x50840000  0x50840000  0x00680000 (6.5MB) 0x00000000
 sysconfig         0x50F00000  0x50F00000  0x000C0000 (768KB) 0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000 (128KB) 0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000 (128KB) 0x00000000
Added lines 16-33:
 Name              FLASH addr  Mem addr    Length             Entry point
 RedBoot           0x50000000  0x50000000  0x00080000 (512KB) 0x00000000
 kernel            0x50080000  0x50080000  0x00200000 (2.0MB) 0x01008000
 filesystem        0x50280000  0x50280000  0x00600000 (6.0MB) 0x00000000
 usr               0x50880000  0x50880000  0x00680000 (6.5MB) 0x00000000
 RedBoot[RAM]      0x50F00000  0x50F00000  0x00080000 (512KB) 0x00000000
 sysconfig         0x50F80000  0x50F80000  0x00040000 (256KB) 0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000 (128KB) 0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000 (128KB) 0x00000000

Steps required to transition from stock partitioning to LudeOS partitioning

  • Move the sysconfig partition up by 512KB
 > fis load -b 0x01000000 -c sysconfig
 > fis delete sysconfig
 > fis create -f 0x50F80000 -l 0x00040000 -b 0x01000000 sysconfig
Changed lines 35-39 from:
 RedBoot           0x50000000  0x50000000  0x00080000  0x00000000
 kernel            0x50080000  0x50080000  0x00200000  0x01008000
 filesystem        0x50280000  0x50280000  0x00600000  0x00000000
 usr               0x50880000  0x50880000  0x00680000  0x00000000
 RedBoot[RAM]      0x50F00000  0x50F00000  0x00080000  0x00000000
to:
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
 kernel            0x50040000  0x50040000  0x00200000  0x01008000
 filesystem        0x50240000  0x50240000  0x00600000  0x00000000
 usr               0x50840000  0x50840000  0x00680000  0x00000000
Changed lines 43-50 from:

Steps required to transition from stock partitioning to LudeOS partitioning

  • Move the sysconfig partition up by 512KB
 > fis load -b 0x01000000 -c sysconfig
 > fis delete sysconfig
 > fis create -f 0x50F80000 -l 0x00040000 -b 0x01000000 sysconfig
to:
  • Create a new RedBoot[RAM] partition
 > fis create -f 0x50F00000 -l 0x00080000 -n RedBoot[RAM]
Added line 52:
 RedBoot[RAM]      0x50F00000  0x50F00000  0x00080000  0x00000000
Deleted lines 56-69:
  • Create a new RedBoot[RAM] partition
 > fis create -f 0x50F00000 -l 0x00080000 -n RedBoot[RAM]

 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
 kernel            0x50040000  0x50040000  0x00200000  0x01008000
 filesystem        0x50240000  0x50240000  0x00600000  0x00000000
 usr               0x50840000  0x50840000  0x00680000  0x00000000
 RedBoot[RAM]      0x50F00000  0x50F00000  0x00080000  0x00000000
 sysconfig         0x50F80000  0x50F80000  0x00040000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
November 06, 2005, at 09:06 PM by rwhitby --
Changed lines 14-15 from:

Proposed LudeOS? layout to allow two 512KB RedBoot partitions

to:

Proposed LudeOS layout to allow two 512KB RedBoot partitions

Changed lines 26-27 from:

Steps required to transition from stock partitioning to LudeOS? partitioning

to:

Steps required to transition from stock partitioning to LudeOS partitioning

November 06, 2005, at 09:05 PM by rwhitby --
Changed lines 28-29 from:
  1. Move the sysconfig partition up by 512KB
to:
  • Move the sysconfig partition up by 512KB
Changed lines 43-44 from:
  1. Create a new RedBoot[RAM] partition
to:
  • Create a new RedBoot[RAM] partition
Changed lines 57-58 from:
  1. Move the user partition up by 256KB
to:
  • Move the user partition up by 256KB
Changed lines 61-62 from:
  1. Move the filesystem partition up by 256KB
to:
  • Move the filesystem partition up by 256KB
Changed lines 65-66 from:
  1. Move the kernel partition up by 256KB
to:
  • Move the kernel partition up by 256KB
Changed lines 69-72 from:
  1. Test the results so far by rebooting the system
  2. Expand the RedBoot partition
to:
  • Test the results so far by rebooting the system
  • Expand the RedBoot partition
Changed lines 75-76 from:
  1. Test the final results.
to:
  • Test the final results.
November 06, 2005, at 09:04 PM by rwhitby --
Changed lines 14-15 from:

Proposed layout to allow two 512KB RedBoot partitions

to:

Proposed LudeOS? layout to allow two 512KB RedBoot partitions

Added lines 26-76:

Steps required to transition from stock partitioning to LudeOS? partitioning

  1. Move the sysconfig partition up by 512KB
 > fis load -b 0x01000000 -c sysconfig
 > fis delete sysconfig
 > fis create -f 0x50F80000 -l 0x00040000 -b 0x01000000 sysconfig

 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
 kernel            0x50040000  0x50040000  0x00200000  0x01008000
 filesystem        0x50240000  0x50240000  0x00600000  0x00000000
 usr               0x50840000  0x50840000  0x00680000  0x00000000
 sysconfig         0x50F80000  0x50F80000  0x00040000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
  1. Create a new RedBoot[RAM] partition
 > fis create -f 0x50F00000 -l 0x00080000 -n RedBoot[RAM]

 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
 kernel            0x50040000  0x50040000  0x00200000  0x01008000
 filesystem        0x50240000  0x50240000  0x00600000  0x00000000
 usr               0x50840000  0x50840000  0x00680000  0x00000000
 RedBoot[RAM]      0x50F00000  0x50F00000  0x00080000  0x00000000
 sysconfig         0x50F80000  0x50F80000  0x00040000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
  1. Move the user partition up by 256KB
 > ...
  1. Move the filesystem partition up by 256KB
 > ...
  1. Move the kernel partition up by 256KB
 > ...
  1. Test the results so far by rebooting the system
  2. Expand the RedBoot partition
 > [This is the tricky bit - we will need to run RedBoot from RAM to rewrite the copy in flash.]
  1. Test the final results.
November 06, 2005, at 04:25 PM by rwhitby --
Added lines 1-2:

Stock firmware layout

Changed lines 14-15 from:

Proposal

to:

Proposed layout to allow two 512KB RedBoot partitions

November 06, 2005, at 04:24 PM by rwhitby --
Deleted lines 3-4:
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
Changed lines 8-23 from:
 RedBoot>
to:
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
 RedBoot>

Proposal

 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00080000  0x00000000
 kernel            0x50080000  0x50080000  0x00200000  0x01008000
 filesystem        0x50280000  0x50280000  0x00600000  0x00000000
 usr               0x50880000  0x50880000  0x00680000  0x00000000
 RedBoot[RAM]      0x50F00000  0x50F00000  0x00080000  0x00000000
 sysconfig         0x50F80000  0x50F80000  0x00040000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
October 18, 2005, at 05:48 PM by rwhitby --
Added lines 1-10:
 fis list
 Name              FLASH addr  Mem addr    Length      Entry point
 RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
 RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
 FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
 kernel            0x50040000  0x50040000  0x00200000  0x01008000
 filesystem        0x50240000  0x50240000  0x00600000  0x00000000
 usr               0x50840000  0x50840000  0x00680000  0x00000000
 sysconfig         0x50F00000  0x50F00000  0x000C0000  0x00000000
 RedBoot>
view · edit · print · history · Last edited by rwhitby.
Based on work by rwhitby and dyoung.
Originally by rwhitby.
Page last modified on January 13, 2009, at 06:41 AM