Booting Linux 2.6 with DiskOnChip 2000 TSOP (INFTL)

Andrew Schultz
2005-06-29T18:05:23Z

Hello,

I've spent a few days attempting to get a new 256MB DiskOnChip 2000
TSOP working properly with Linux 2.6.11. I have been using the MTD
drivers that come with the vanilla version of the kernel and so far
I can properly dformat, fdisk, format, and copy the file system so
everything is cool with the kernel driver.

However, all my attempts to get grub/lilo/docboot to work in booting
of the DOC have been in vain. My first question is does the current
grub patch actually have support for the TSOP (and INFTL devices in
general)? I found two previous posts in 2002 and 2003
(http://lists.infradead.org/pipermail/linux-mtd/2003-November/008922.html
and
http://lists.infradead.org/pipermail/linux-mtd/2003-April/007487.html)
which seem to be inconclusive about the current support of INFTL
devices and grub.

Secondly, if grub isn't known to work on these devices, does anyone
have a procedure for getting lilo/docboot to work? I followed the
instructions from M-Systems about getting lilo to work, and while
lilo installs the boot sector to the disk, it simply hangs with no
output at boot. I tried docboot, but that hangs with "Opening
Docboot..." and now I can't boot anything off that chip. Any
experience (or even any success stories) would be greatly appreciated.

Andrew

For reference, here is what I have been doing with grub in case
anyone can point out a problem:

1) In linux booted off a hard drive, dformat the chip (I've also
tried using DOS dformat from a boot CD):

./dformat -winl:0000 -winh:d8000 -s:DOC514.EXB -empty -nodos -y
(the winl/winh stuff is a hack I have to do cause just -win:d8000
causes a segfault)

2) Fdisk drive and dd a copy of my partition

fdisk (create one single linux partition which I have marked as
bootable)
dd if=/dev/hda1 of=/dev/inftla1 bs=512

3) Grab the latest mtd source from CVS, build grub 0.97, copy
stage2/pre_stage2 into mtd/grub, run make

4) Install the "grub_firmware" to the disk on chip (I've also tried
this step first in lieu of step 1)

./dformat -winl:0000 -winh:d8000 -bdkf0:grub_firmware