NSLU2-Linux
view · edit · print · history

Info.LastBlockMemoryMap History

Hide minor edits - Show changes to markup

May 10, 2008, at 03:01 PM by rwhitby --
Changed line 18 from:
0x507FC0000x03000 (12K)Proprietary microcode storage area
to:
0x507FC0000x03FE0 (12K)Proprietary microcode storage area
February 15, 2007, at 03:49 AM by rwhitby --
Changed lines 9-10 from:
  • Storage for the environment to support a second stage boot loader (e.g. APEX).
to:
February 15, 2007, at 03:47 AM by rwhitby --
Changed lines 18-19 from:
0x507E10000x1B000 (108K)Proprietary microcode storage area (with 16 byte length header)
0x507FC0000x03FF0 (16K - 16B)Second stage boot loader environment area
to:
0x507E10000x1B000 (108K)Unused
0x507FC0000x03000 (12K)Proprietary microcode storage area
September 29, 2006, at 10:14 AM by rwhitby --
Changed line 18 from:
0x507E10000x1B000 (108K)Proprietary microcode storage area
to:
0x507E10000x1B000 (108K)Proprietary microcode storage area (with 16 byte length header)
September 17, 2006, at 08:21 PM by rwhitby --
Changed lines 9-10 from:
to:
  • Storage for the environment to support a second stage boot loader (e.g. APEX).
Changed lines 18-19 from:
0x507E10000x1EFF0 (124K - 16B)Payload storage area
to:
0x507E10000x1B000 (108K)Proprietary microcode storage area
0x507FC0000x03FF0 (16K - 16B)Second stage boot loader environment area
September 14, 2006, at 12:36 PM by rwhitby --
Changed lines 8-12 from:
  • a payload area for storing kernel modules used by the SwitchBox initial ramdisk
  • Main/Switchbox boot preferences

To enable these uses, we have to modify the SwitchBox linuxrc to deploy the payload, and act upon the boot preferences.

to:
  • Storage for the proprietary Intel NPE microcode, which is provided to the open source IXP NPE driver.
Changed lines 16-18 from:
0x507E0F020x00006 (6B)Magic Number ('sLuGmK')
0x507E0F080x000F8 (248B)SwitchBox parameter area (TBD)
0x507E10000x1EFF0 (124K - 16B)Payload storage area (a length of 0xFFFFFFFF means no payload)
to:
0x507E0F020x000FE (254B)Unused (part of the flash partition map terminator)
0x507E10000x1EFF0 (124K - 16B)Payload storage area
Changed lines 20-23 from:

The existence of the RedBoot FIS directory is determined by looking of the null-terminated string "RedBoot" at locations 0x507E0000, 0x507E0100, or 0x507E0200. This enables the RedBoot MTD map parser to identify a valid RedBoot FIS directory. SlugImage restricts the size of the FIS directory to a maximum of 15 entries (plus the terminator entry, which is overlayed with other information).

The existence of the 'sLuGmK' denotes valid additional information in the last block (in particular, the SwitchBox parameter area, and the payload storage area). If the 'sLuGmK' is not present, then the other information cannot be assumed to be valid, and must not be used.

to:

The existence of the RedBoot FIS directory is determined by looking of the null-terminated string "RedBoot" at locations 0x507E0000, 0x507E0100, or 0x507E0200. This enables the RedBoot MTD map parser to identify a valid RedBoot FIS directory. SlugImage restricts the size of the FIS directory to a maximum of 15 entries (plus the terminator entry).

Changed line 24 from:

We were intending to use this area for storage of the memory size (for FatSlug support), and kernel command line arguments. Unfortunately, it is not possible to read from the flash memory before the kernel initialises the memory subsystem and parses the kernel command line arguments. So these plans have had to be dropped.

to:

We were also intending to use this area for storage of the memory size (for FatSlug support), and kernel command line arguments. Unfortunately, it is not possible to read from the flash memory before the kernel initialises the memory subsystem and parses the kernel command line arguments. So these plans have had to be dropped.

December 09, 2004, at 09:50 AM by rwhitby --
Changed line 24 from:

The existence of the RedBoot FIS directory is determined by looking of the null-terminated string "RedBoot" at locations 0x507E0000, 0x507E0100, or 0x507E0200. This enables the RedBoot MTD map parser to identify a valid RedBoot FIS directory. SlugImage? restricts the size of the FIS directory to a maximum of 15 entries (plus the terminator entry, which is overlayed with other information).

to:

The existence of the RedBoot FIS directory is determined by looking of the null-terminated string "RedBoot" at locations 0x507E0000, 0x507E0100, or 0x507E0200. This enables the RedBoot MTD map parser to identify a valid RedBoot FIS directory. SlugImage restricts the size of the FIS directory to a maximum of 15 entries (plus the terminator entry, which is overlayed with other information).

December 09, 2004, at 09:50 AM by rwhitby --
Changed line 26 from:

The existence of the 'sLuGmArK' denotes valid additional information in the last block (in particular, the SwitchBox parameter area, and the payload storage area). If the 'sLuGmArK' is not present, then the other information cannot be assumed to be valid, and must not be used.

to:

The existence of the 'sLuGmK' denotes valid additional information in the last block (in particular, the SwitchBox parameter area, and the payload storage area). If the 'sLuGmK' is not present, then the other information cannot be assumed to be valid, and must not be used.

December 09, 2004, at 09:45 AM by rwhitby --
Changed line 6 from:

Because it has to be there anyway, we have decided to use it for a number of other things too:

to:

Because it has to be there anyway, we have decided to use it for a couple of other things too:

Changed line 9 from:
  • boot preferences (only if they can't be expressed as kernel command arguments)
to:
  • Main/Switchbox boot preferences
Changed line 11 from:

To enable these uses, we would have to modify the nslu2 arch-specific kernel files to read stuff from the last block, and modify the SwitchBox linuxrc to deploy the payload.

to:

To enable these uses, we have to modify the SwitchBox linuxrc to deploy the payload, and act upon the boot preferences.

December 09, 2004, at 09:43 AM by rwhitby --
Deleted line 8:
  • kernel command arguments
Deleted line 9:
  • memory size (for http://www.nslu2-linux.org/wiki/HowTo/FattenYourSlug FatSlug support)
Changed lines 19-25 from:
0x507E0F020x00002 (2B)Firmware Family (Unslung (standard/able), OpenSlug, etc) (0xFFFF means undefined)
0x507E0F040x00002 (2B)Firmware Version (in BCD, e.g. 03, 08) (0xFFFF means undefined)
0x507E0F060x00002 (2B)Memory Size (in M, defaults to 32) (0xFFFF means default to 32M)
0x507E0F080x00008 (8B)Magic Number ('sLuGmArK')
0x507E0F100x000F0 (240B)Kernel command line args (null-terminated string) (a zero-length string means use the default)
0x507E10000x1EC00 (123K)Payload storage area (a length of 0xFFFFFFFF means no payload)
0x507FFC000x003F0 (1K - 16B)SwitchBox parameter area (TBD)
to:
0x507E0F020x00006 (6B)Magic Number ('sLuGmK')
0x507E0F080x000F8 (248B)SwitchBox parameter area (TBD)
0x507E10000x1EFF0 (124K - 16B)Payload storage area (a length of 0xFFFFFFFF means no payload)
Changed lines 26-30 from:

The existence of the 'sLuGmArK' denotes valid additional information in the last block (in particular, the information directly after the FIS directory terminator, the kernel command line args, the payload storage area, and the SwitchBox parameter area). If the 'sLuGmArK' is not present, then the other information cannot be assumed to be valid, and must not be used.

to:

The existence of the 'sLuGmArK' denotes valid additional information in the last block (in particular, the SwitchBox parameter area, and the payload storage area). If the 'sLuGmArK' is not present, then the other information cannot be assumed to be valid, and must not be used.

Historical Info:

We were intending to use this area for storage of the memory size (for http://www.nslu2-linux.org/wiki/HowTo/FattenYourSlug FatSlug support), and kernel command line arguments. Unfortunately, it is not possible to read from the flash memory before the kernel initialises the memory subsystem and parses the kernel command line arguments. So these plans have had to be dropped.

December 05, 2004, at 11:38 PM by ka6sox --
Changed line 11 from:
to:
  • memory size (for http://www.nslu2-linux.org/wiki/HowTo/FattenYourSlug FatSlug support)
December 05, 2004, at 01:21 PM by ka6sox --
Changed line 32 from:

The existence of the 'sLuGmArK' denotes denotes valid additional information in the last block (in particular, the information directly after the FIS directory terminator, the kernel command line args, the payload storage area, and the SwitchBox parameter area). If the 'sLuGmArK' is not present, then the other information cannot be assumed to be valid, and must not be used.

to:

The existence of the 'sLuGmArK' denotes valid additional information in the last block (in particular, the information directly after the FIS directory terminator, the kernel command line args, the payload storage area, and the SwitchBox parameter area). If the 'sLuGmArK' is not present, then the other information cannot be assumed to be valid, and must not be used.

December 05, 2004, at 01:00 PM by rwhitby --
Changed lines 21-23 from:
0x507E0F020x00002 (2B)Firmware Family (Unslung (standard/able), OpenSlug, etc)
0x507E0F040x00002 (2B)Firmware Version (in BCD, e.g. 03, 08)
0x507E0F060x00002 (2B)Memory Size (in M, defaults to 32)
to:
0x507E0F020x00002 (2B)Firmware Family (Unslung (standard/able), OpenSlug, etc) (0xFFFF means undefined)
0x507E0F040x00002 (2B)Firmware Version (in BCD, e.g. 03, 08) (0xFFFF means undefined)
0x507E0F060x00002 (2B)Memory Size (in M, defaults to 32) (0xFFFF means default to 32M)
Changed lines 25-26 from:
0x507E0F100x000F0 (240B)Kernel command line args (null-terminated string)
0x507E10000x1EC00 (123K)Payload storage area
to:
0x507E0F100x000F0 (240B)Kernel command line args (null-terminated string) (a zero-length string means use the default)
0x507E10000x1EC00 (123K)Payload storage area (a length of 0xFFFFFFFF means no payload)
December 02, 2004, at 01:30 PM by rwhitby --
Changed line 27 from:
0x507FFC000x003F0 (1K - 16B)Main/Switchbox parameter area (TBD)
to:
0x507FFC000x003F0 (1K - 16B)SwitchBox parameter area (TBD)
December 02, 2004, at 12:45 PM by rwhitby --
Changed line 21 from:
0x507E0F020x00002 (2B)Firmware Family (Unslung, OpenSlug, etc)
to:
0x507E0F020x00002 (2B)Firmware Family (Unslung (standard/able), OpenSlug, etc)
December 02, 2004, at 12:38 PM by rwhitby --
Changed line 32 from:

The existence of the 'sLuGmArK' denotes denotes valid additional information in the last block (in particular, the information directly after the FIS directory terminator, the kernel command line args, the payload storage area, and the SwitchBox parameter area). If the 'sLuGmArK' is not present, then the other information cannot be assumed to be present.

to:

The existence of the 'sLuGmArK' denotes denotes valid additional information in the last block (in particular, the information directly after the FIS directory terminator, the kernel command line args, the payload storage area, and the SwitchBox parameter area). If the 'sLuGmArK' is not present, then the other information cannot be assumed to be valid, and must not be used.

December 02, 2004, at 12:36 PM by rwhitby --
Changed line 8 from:
  • a payload area for storing kernel modules used by the SwitchBox? initial ramdisk
to:
  • a payload area for storing kernel modules used by the SwitchBox initial ramdisk
December 02, 2004, at 12:34 PM by rwhitby --
Changed line 32 from:

The existence of the 'sLuGmArK' denotes denotes valid additional information in the last block (in particular, the information directly after the FIS directory terminator, the kernel command line args, the payload storage area, and the SwitchBox parameter area).

to:

The existence of the 'sLuGmArK' denotes denotes valid additional information in the last block (in particular, the information directly after the FIS directory terminator, the kernel command line args, the payload storage area, and the SwitchBox parameter area). If the 'sLuGmArK' is not present, then the other information cannot be assumed to be present.

December 02, 2004, at 12:33 PM by rwhitby --
Changed line 13 from:

To enable these uses, we would have to modify the nslu2 arch-specific kernel files to read stuff from the last block, and modify the SwitchBox? linuxrc to deploy the payload.

to:

To enable these uses, we would have to modify the nslu2 arch-specific kernel files to read stuff from the last block, and modify the SwitchBox linuxrc to deploy the payload.

Changed line 15 from:

SlugImage? has been upgraded to support the payload already - other additions will come as they are prototyped and proven to work.

to:

SlugImage has been upgraded to support the payload already - other additions will come as they are prototyped and proven to work.

Changed line 23 from:
0x507E0F060x00002 (2B)Memory Size (in K, defaults to 32)
to:
0x507E0F060x00002 (2B)Memory Size (in M, defaults to 32)
Changed line 27 from:
0x507FFC000x003F0 (1K - 16B)Switchbox parameter area (TBD)
to:
0x507FFC000x003F0 (1K - 16B)Main/Switchbox parameter area (TBD)
Added line 30:

The existence of the RedBoot FIS directory is determined by looking of the null-terminated string "RedBoot" at locations 0x507E0000, 0x507E0100, or 0x507E0200. This enables the RedBoot MTD map parser to identify a valid RedBoot FIS directory. SlugImage? restricts the size of the FIS directory to a maximum of 15 entries (plus the terminator entry, which is overlayed with other information).

Added line 32:

The existence of the 'sLuGmArK' denotes denotes valid additional information in the last block (in particular, the information directly after the FIS directory terminator, the kernel command line args, the payload storage area, and the SwitchBox parameter area).

December 02, 2004, at 12:20 PM by rwhitby --
Changed lines 20-21 from:
0x507E0F000x00004 (4B)Flash partition map terminator ('0xFF','0xFF','0xFF','0xFF')
0x507E0F040x000FC (252B)Kernel command line args (null-terminated string)
to:
0x507E0F000x00002 (2B)Flash partition map terminator ('0xFF','0xFF')
0x507E0F020x00002 (2B)Firmware Family (Unslung, OpenSlug, etc)
0x507E0F040x00002 (2B)Firmware Version (in BCD, e.g. 03, 08)
0x507E0F060x00002 (2B)Memory Size (in K, defaults to 32)
0x507E0F080x00008 (8B)Magic Number ('sLuGmArK')
0x507E0F100x000F0 (240B)Kernel command line args (null-terminated string)
Changed line 27 from:
0x507FFC000x003F0 (1K - 16B)Switchbox parameter area
to:
0x507FFC000x003F0 (1K - 16B)Switchbox parameter area (TBD)
December 02, 2004, at 11:46 AM by rwhitby --
Changed line 19 from:
0x507E00000x00F00 (4K - 256B)Flash partition map
to:
0x507E00000x00F00 (4K - 256B)RedBoot FIS directory (flash partition map)
December 02, 2004, at 11:40 AM by rwhitby --
Added line 8:
  • a payload area for storing kernel modules used by the SwitchBox? initial ramdisk
Changed line 13 from:

To enable these uses, we would have to modify the nslu2 arch-specific kernel files to read stuff from the last block.

to:

To enable these uses, we would have to modify the nslu2 arch-specific kernel files to read stuff from the last block, and modify the SwitchBox? linuxrc to deploy the payload.

Changed line 15 from:

We need a tool which can modify the contents of this block without disturbing anything else in the block.

to:

SlugImage? has been upgraded to support the payload already - other additions will come as they are prototyped and proven to work.

Added lines 17-24:
Start mem addrLengthDescription
0x507E00000x00F00 (4K - 256B)Flash partition map
0x507E0F000x00004 (4B)Flash partition map terminator ('0xFF','0xFF','0xFF','0xFF')
0x507E0F040x000FC (252B)Kernel command line args (null-terminated string)
0x507E10000x1EC00 (123K)Payload storage area
0x507FFC000x003F0 (1K - 16B)Switchbox parameter area
0x507FFFF00x00010 (16B)SercommFlashTrailer
November 23, 2004, at 01:02 AM by rwhitby --
Changed lines 10-12 from:
to:

To enable these uses, we would have to modify the nslu2 arch-specific kernel files to read stuff from the last block.

Added lines 15-16:
November 23, 2004, at 01:00 AM by rwhitby --
Changed line 10 from:
to:
November 20, 2004, at 01:04 PM by rwhitby --
Added lines 4-12:
  • It holds the 16 byte SercommFlashTrailer which is checked by the Redboot boot script commands.

Because it has to be there anyway, we have decided to use it for a number of other things too:

  • kernel command arguments
  • boot preferences (only if they can't be expressed as kernel command arguments)

We need a tool which can modify the contents of this block without disturbing anything else in the block.

Deleted line 13:
  • It holds the 16 byte SercommFlashTrailer which is checked by the Redboot boot script commands.
November 20, 2004, at 12:55 PM by rwhitby --
Changed lines 1-5 from:

Describe LastBlockMemoryMap here.

to:

The last erase block in the internal flash memory has a number of dedicated uses:

  • It holds the RedBoot FIS directory, which is read by the kernel to define the MTD partitions.
  • It holds the 16 byte SerComm Trailer which is checked by the Redboot boot script commands.
November 20, 2004, at 12:55 PM by rwhitby --
Changed line 5 from:
  • It holds the 16 byte SerComm Trailer which is checked by the Redboot boot script commands.
to:
  • It holds the 16 byte SercommFlashTrailer which is checked by the Redboot boot script commands.
view · edit · print · history · Last edited by rwhitby.
Based on work by rwhitby and ka6sox.
Originally by rwhitby.
Page last modified on May 10, 2008, at 03:01 PM