view · edit · print · history

The DSMG600 Redboot Bootloader

This article pertains to:

  • DSM-G600 Rev A Hardware only

This article is preliminary.

The DSM-G600 Rev-A suffers from a particularly weak implementation of the Redboot bootloader. In particular, it has no support at all for the network chip, and thus there is no network access to the device until the device has booted.

On the positive side, the implementation of Redboot does have the ability (unlike the NSLU2) to pass command-line arguments to the operating system that it boots. This feature means that there's no real reason to run the second-stage bootloader (APEX) on the dsmg600 -- there's no features to be gained by doing so. But just because fate has a sense of humor, the dsmg600's flash memory is allocated in such a fashion that is has unallocated space, that fits APEX and the APEX environment perfectly. Perhaps a future release of APEX will support the built-in IDE controller (making booting direct from the internal disk possible), or (very unlikely) perhaps even offer network support for the built-in NIC. Until then, there's no reason to use APEX if one doesn't wish to use it.

Refer to the standard Redboot documentation. An on-line copy can be found here.

Below is the output from the bootloader at power-up, and the fis listing. Note that the fis directory from the system below has the empty space referred to above defined as the "loader" partition. That line will be missing on stock DSM-G600 units.

+Flag is 3ffa
2--Flag is 8

RedBoot(tm) bootstrap and debug environment [ROM]
Red Hat certified release, version 1.92p1 - built 22:09:37, Jul 15 2005

Platform: IXDP425 Development Platform (XScale)
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0x00000000-0x04000000, 0x00415070-0x03fd1000 available
FLASH: 0x50000000 - 0x51000000, 128 blocks of 0x00020000 bytes each.
script is fis load filesystem -b 0x00B00000
fis load kernel -b 0x00600000
exec 0x00600000

== Executing boot script in 5.000 seconds - enter ^C to abort
RedBoot> 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  0x00000000
filesystem        0x50240000  0x50240000  0x00600000  0x00000000
usr               0x50840000  0x50840000  0x00680000  0x00000000
sysconfig         0x50F00000  0x50F00000  0x000C0000  0x00000000
loader            0x50EC0000  0x50EC0000  0x00040000  0x00200000
view · edit · print · history · Last edited by mwester.
Originally by mwester.
Page last modified on February 25, 2007, at 08:41 PM