February 26, 2007, at 04:41 AM by--
Added lines 33-34:
(:table border=0 width=40% bgcolor=#ddeedd:) (:cell:)
Changed lines 64-65 from:
February 26, 2007, at 04:40 AM by--
Added lines 1-62:
The DSMG600 Redboot Bootloader
This article pertains to:
(:table border=0 width=40% bgcolor=#ffdddd:) (:cell:) This article is preliminary. (:tableend:)
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 ^C 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 RedBoot>