Flash ROM

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search
File:Fujitsu 29PL32TM-90PFTN.jpg
The Kurobox's Flash ROM chip

Currently, the Kuroboxes all use a Fujitsu 29PL32TM-90PFTN 4MB Flash ROM chip. The Flash ROM houses vital information such as the Linux kernel for standard operation and emergency mode, as well as the code for booting into the kernel. The contents are layed out in different ways depending on which Kernel you are using. Flash ROM chip data can be updated, deleted, or reprogrammed through the Linux console or via the optional JTAG port.

Reprogramming the Flash ROM

Please be very careful when reprogramming your Flash ROM. Overwriting or erasing your Flash ROM can turn your Kurobox into a brick.

The interest in reprogramming the Flash comes mostly from the desire to run a custom kernel than the stock one that is packaged with the Kurobox. This is possible by overwriting the original bootcode with U-Boot.

Flash ROM Layouts

Stock 2.4.x Kernel

device start end size contents
/dev/fl0 0xFFF80000 0x080000 512 K Empty
/dev/fl1 0xFFC00000 0x300000 3 MB Linux/initrd
/dev/fl2 0xFFF00000 0x070000 448 K bootcode.bin
/dev/fl3 0xFFF70000 0x010000 64K HDD status (OKOKOK)

Patched 2.6.x Kernel v1

device size erasesize name
mtd0: 00300000 00010000 "mtd_firmimg"
mtd1: 00070000 00010000 "mtd_bootcode"
mtd2: 00010000 00010000 "mtd_status"
mtd3: 00080000 00010000 "mtd_conf"
mtd4: 00400000 00010000 "mtd_allflash"
mtd5: 000f0000 00010000 "mtd_data"

Patched 2.6.x Kernel v2

device size erasesize name
mtd0: 00400000 00010000 "mtd_allflash"
mtd1: 00300000 00010000 "mtd_firmimg"
mtd2: 00070000 00010000 "mtd_bootcode"
mtd3: 00010000 00010000 "mtd_status"
mtd4: 00080000 00010000 "mtd_conf"

Checking the layout (with kernel 2.6.x)

Simply type:

cat /proc/mtd

Additional Flash Chip?

There has been some discussion going on at the Kurobox forums, regarding the possibility of adding an additional Flash chip.


You can get the flash chip datasheet here.