DiskOnChip 2000 (DOC 2000) woes.

Andy Kennedy
2007-08-06T18:57:21Z

I have been tasked to install Linux on a DOC 2000 on a SBC by
Winsystems. Since the DOC has reached EOL (July 1, 2007 -- for those
that didn't know this) Winsystems won't assist me in this task -- and he
got rid of all his work towards this end a few weeks ago, so I'm out of
luck there.

What I have done:
Made a all-in-one kernel with BusyBox as the init for the initrd.
Included MTD support in the kernel -- including NFTL.
I do get a /dev/mtd0 that I can access rw.
I also get the following message at boot:
NFTL driver: nftlcore.c $Revision: 1.98 $, nftlmount.c
$Revision: 1.41 $
DiskOnChip found at 0xd8000
DiskOnChip 2000 responds to DWORD access
NAND device: Manufacturer ID: 0xec, Chip ID: 0x75 (Samsung NAND
32MiB 3,3V 8-bit)
Found DiskOnChip ANAND Media Header at 0x0
Found DiskOnChip ANAND Media Header at 0x4000
DataOrgID = ANAND
NumEraseUnits = 2048
FirstPhysicalEUN = 0
FormattedSize = 32849920
UnitSizeFactor = 255
mtd: Giving out device 0 to DiskOnChip 2000 (NFTL Model)
NFTL: add_mtd for DiskOnChip 2000 (NFTL Model)
nand_read_oob: from = 0x00000200, len = 8
nand_isbad_bbt(): bbt info for offs 0x00000000: (block 0)
0x02
<snip> ...
nand_isbad_bbt(): bbt info for offs 0x01ff8000: (block 2046) 0x00
nand_isbad_bbt(): bbt info for offs 0x01ffc000: (block 2047) 0x00
nand_read_oob: from = 0x00004200, len = 8
nand_read_oob: from = 0x0000c200, len = 8
NFTL Media Headers at 0x0 and 0xc000 disagree.
nand_read_oob: from = 0x00010200, len = 8
NFTL Media Headers at 0x0 and 0x10000 disagree.
nand_read_oob: from = 0x00008000, len = 8
<snip> ...
nand_read_oob: from = 0x01fffe00, len = 16
nand_write_oob: to = 0x01ffc200, len = 8
NFTL: cannot calculate a geometry to match size of 0xfaa0.
NFTL: using C:1002 H:16 S:4 (== 0xfa80 sects)
nftla: unknown partition table
I didn't start getting this error at first - other than the nftla:
unknown partition table - until I attempted to nftl-format the DOC.
After reading through the archive (which I have done extensively) I
found that I may have needed to load the nftl driver AFTER the
nftl-format took place. The first boot, however, it looked like the
NFTL driver itself formated the DOC -- Is this correct?

I've looked all over for a *good* and recent howto for the DOC, however,
I cannot locate one. Searching through the list hasn't helped me much
either. Other questions I have are as follows:

Can I build Ext3 onto DOC using the NFTL driver in Kernel 2.6.22.1?
Can I use lilo on the DOC using the NFTL driver?
Will I be able to boot from the DOC with the NFTL replacement firmware
if the Caldera DOS with the M-systems drivers do?

My next task in attempting to make this work is to reformat the system
with DOS and ensure that the DOS drivers can load everything. I was
also thinking of grabbing one of the newer systems that I have to make
sure I have a good firmware version -- I don't think I have the
latest/greatest firmware loaded at this moment, and the dformat command
that I found online somewhere (as it appears that all of the DOS utils
are removed from the Sandisk website) is version . Is this the latest
and does anyone have a copy of newer utils/images? Do I need these
utilities to get a bootable Linux onto the DOC?

Thanks for any assistance you can offer,
Andy