The Wayback Machine - https://web.archive.org/web/20070928161823/http://www.nslu2-linux.org/wiki/HowTo/ObeseSlug
NSLU2-Linux
view · edit · print · history

An ObeseSlug is an NSLU2 that has been modified with 16MB of flash and 256MB of RAM. These are the maximum sizes we believe to be possible (or at least practical).

We are aware of one ObeseSlug in existence (TBD: ask the creator if he wants his name credited here or not - he may not want everyone asking him if he can do one for them ...).

For the 16MB flash, an Intel 28F128J3A chip was used. For the 256MB RAM, .... (TBD)

Use the following modifications to redboot to make it support 16MB flash:

 bash-3.2$ diff -a stockredboot.hex newredboot.hex
 1534c1534
 < 0000cf50  e2 45 c8 06 e3 5c 08 7a  21 a0 40 00 3a 00 00 03  |.E...\.z!.@.:...|
 ---
 > 0000cf50  e2 45 c8 06 e3 5c 08 fa  21 a0 40 00 3a 00 00 03  |.E...\..!.@.:...|
 1540c1540
 < 0000cfb0  e3 a0 15 02 e1 a0 20 08  eb 00 68 8e e3 50 00 00  |...... ...h..P..|
 ---
 > 0000cfb0  e3 a0 14 01 e1 a0 20 08  eb 00 68 8e e3 50 00 00  |...... ...h..P..|
 1548,1549c1548,1549
 < 0000d030  e3 a0 18 7a e1 a0 20 08  eb 00 68 6e e3 50 00 00  |...z.. ...hn.P..|
 < 0000d040  1a 00 00 13 e2 45 c8 06  e3 5c 08 7a 23 a0 40 00  |.....E...\.z#.@.|
 ---
 > 0000d030  e3 a0 18 fa e1 a0 20 08  eb 00 68 6e e3 50 00 00  |...... ...hn.P..|
 > 0000d040  1a 00 00 13 e2 45 c8 06  e3 5c 08 fa 23 a0 40 00  |.....E...\..#.@.|
 1559,1564c1559,1564
 < 0000d0e0  eb 00 4d 3f e5 1b c0 44  e3 e0 32 fa e2 43 35 3e  |..M?...D..2..C5>|
 < 0000d0f0  e1 d3 30 b0 e3 cc c8 ff  e3 cc cc ff e1 8c c4 03  |..0.............|
 < 0000d100  e5 0b c0 44 e3 e0 32 da  e5 1b c0 40 e2 43 35 3e  |...D..2....@.C5>|
 < 0000d110  e1 d3 30 b0 e3 cc c8 ff  e3 cc cc ff e1 8c c4 03  |..0.............|
 < 0000d120  e5 0b c0 40 e3 e0 32 ba  e5 1b c0 38 e2 43 35 3e  |...@..2....8.C5>|
 < 0000d130  e1 d3 30 b0 e3 cc c8 ff  e3 cc cc ff e1 8c c4 03  |..0.............|
 ---
 > 0000d0e0  eb 00 4d 3f e5 1b c0 44  e3 e0 34 af e3 e0 34 af  |..M?...D..4...4.|
 > 0000d0f0  e1 53 20 bf e3 cc c8 ff  e3 cc cc ff e1 8c c4 02  |.S .............|
 > 0000d100  e5 0b c0 44 e3 e0 34 af  e5 1b c0 40 e1 53 20 bd  |...D..4....@.S .|
 > 0000d110  e1 53 20 bd e3 cc c8 ff  e3 cc cc ff e1 8c c4 02  |.S .............|
 > 0000d120  e5 0b c0 40 e3 e0 34 af  e5 1b c0 38 e1 53 20 bb  |...@..4....8.S .|
 > 0000d130  e1 53 20 bb e3 cc c8 ff  e3 cc cc ff e1 8c c4 02  |.S .............|
 1637c1637
 < 0000d5c0  e2 44 48 16 e3 54 08 7a  e5 9f 40 98 e1 a0 08 00  |.DH..T.z..@.....|
 ---
 > 0000d5c0  e2 44 48 16 e3 54 08 fa  e5 9f 40 98 e1 a0 08 00  |.DH..T....@.....|
 1693,1694c1693,1694
 < 0000d940  50 16 00 10 e1 a0 c0 0d  e3 e0 02 7a e9 2d d8 30  |P..........z.-.0|
 < 0000d950  e5 9f 11 40 e2 4c b0 04  e2 40 05 3e e3 a0 20 06  |...@.L...@.>.. .|
 ---
 > 0000d940  50 16 00 10 e1 a0 c0 0d  e3 e0 04 af e9 2d d8 30  |P............-.0|
 > 0000d950  e5 9f 11 40 e2 4c b0 04  e2 40 00 07 e3 a0 20 06  |...@.L...@.... .|

Use the -F switch on slugimage to create a 16MB image:

 bash-3.2$ ./slugimage -F -o fatslug.bin -p -r Flashdisk:Flashdisk -L apex-slugos-nslu2-16mb-arm-1.5.8.bin
 Read 0x00040000 bytes from "RedBoot" into <RedBoot> (2 blocks / 2 blocks)
 Read 0x00020000 bytes from "SysConf" into <SysConf> (1 blocks / 1 blocks)
 Read 0x0000B91C bytes from "apex-slugos-nslu2-16mb-arm-1.5.8.bin" into <Loader> (1 blocks / 1 blocks)
 Read 0x000FF214 bytes from "vmlinuz" into <Kernel> (8 blocks / 8 blocks)
 Read 0x00660000 bytes from "Flashdisk" into <Flashdisk> (51 blocks / 51 blocks)
 Read 0x00002EBC bytes from "NPE-B" into <Microcode> (0x02ECC bytes / 0x03000 bytes)
 Read 0x00000010 bytes from "Trailer" into <Trailer> (0x00010 bytes / 0x00010 bytes)
 Wrote  2 blocks (0x00000000 to 0x00040000) from <RedBoot> into "fatslug.bin"
 Wrote  1 blocks (0x00040000 to 0x00060000) from <SysConf> into "fatslug.bin"
 Wrote  1 blocks (0x00060000 to 0x00080000) from <Loader> into "fatslug.bin"
 Wrote  8 blocks (0x00080000 to 0x00180000) from <Kernel> into "fatslug.bin"
 Wrote 115 blocks (0x00180000 to 0x00FE0000) from <Flashdisk> into "fatslug.bin"
 Wrote  1 blocks (0x00FE0000 to 0x01000000) from <FIS directory> into "fatslug.bin"
 Wrote 0x03000 bytes (0x00FFC000 to 0x00FFF000) from <Microcode> into "fatslug.bin"
 Wrote 0x00010 bytes (0x00FFFFF0 to 0x01000000) from <Trailer> into "fatslug.bin"

Note that we also use a special version of Apex to support the 16MB flash on the nslu2. You will also need Apex to do the extra ram detection.

The load that 16MB image into flash:

 RedBoot> ip_address -h 192.168.1.254 -l 192.168.1.6
 RedBoot> load -r -v -b 0x00080000 fatslug.bin
 RedBoot> fis write -f 0x50060000 -b 0x000e0000 -l 0xfa0000

If you want to install Debian on an ObeseSlug with a large disk, you will need to restrict the memory size to 64MiB during the installation. You can do this with the "memscan -u +64m" command in Apex. For some reason, enabling more than 64MiB during the installation phase causes the formatting of the largest ext3 partition to hang the machine (possibly due to the outstanding out of memory interfering with DMA problem).

view · edit · print · history · Last edited by fcarolo.
Originally by rwhitby.
Page last modified on July 20, 2007, at 07:27 PM
Morty Proxy This is a proxified and sanitized view of the page, visit original site.