Booting from a DiskOnChip2000

John Sutton john at
Wed Apr 24 14:18:13 EDT 2002

Hi there

I'm thrashing about also trying to boot from DoC.  I'm tempted to think that
I've nearly got there *without* having to go understand things like
GRUB/LinuxBIOS etc.  But *maybe* I'm completely deluding myself!  Perhaps
somebody can advise me...

Here's what I've got:

Two partitions on a 16Mb DoC:

Command (m for help): u
Changing display/entry units to sectors

Command (m for help): p

Disk /dev/nftla: 16 heads, 2 sectors, 998 cylinders
Units = sectors of 1 * 512 bytes

     Device Boot    Start       End    Blocks   Id  System
/dev/nftla1             2     23999     11999   83  Linux
/dev/nftla2         24000     31935      3968   83  Linux

I'm trying to boot a kernel held on partition 1 (I need partition 2 later on
but not for booting) so I've put the usual stuff on there - vmlinuz and boot.b. 
Then I mount /dev/nftla1 on /mnt and run LILO with this config:




And that "works" i.e. I've gotten rid of the "Sorry don't know how to handle
device 0x5d01" message and lilo -v says it has done the trick.  Sadly, however,
on booting all I get is a solitary "L" ;-(  Or, 2 L's on *seperate* lines
(weird, huh?) if I also use linear...

According to the lilo docs, this solitary L means there is some kind of
"geometry mismatch"...

If I mess about long enough with the lilo config, am I going to win?  Have
other people done this kind of thing?  Or am I completely misunderstanding what
is at stake and really *have to* look into GRUB/LinuxBIOS to have any chance of
booting a linux kernel off a DoC?


> Thomas,
> I believe lilo can talk to devices by means of BIOS calls.  If I
> understand correctly, the M-Systems patch to lilo adds the mapping of the
> /dev/ftla (?) root device name to the appropriate BIOS disk number.
> I infer from your description that you haven't made a complete choice
> between using the M-System's Linux driver and the MTD doc2000.c driver.
> If you are going for M-System's driver, I think you may need to specify
> the correct device name (/dev/ftla ?) as a root device (and optionally as
> a boot device) in /etc/lilo.conf.
> Then the lilo command should be able to write down the block numbers of
> the kernel image it needs to load at system startup.
> If you are going for the MTD doc2000.c driver which doesn't attempt to
> emulate age old real mode BIOS API, then the bootloader will have to
> access the content of the NFTL layer by using a bootstrap driver similar
> to the kernel doc2000.c module.  
> The MTD CVS repository contains the patch to the GRUB bootloader which
> performs the above bootstrap access.  As a bonus, the GRUB bootloader
> doesn't require any block numbers list to find the kernel image as it has
> the bootstrap drivers for the most of filesystems as well.
> The latest DOC 2000 / Millennium patch is in CVS directory
>         mtd/patches/grub-2002-02-19-doc.patch
> You may need to download the source code of GRUB off its own CVS
> repository at
> The copy of the DOC 2000 / Millennium patch can also be found in the Patch
> Area of the GRUB project.
> Ilguiz
> On Wed, 24 Apr 2002, Thomas Preisig wrote:
> > I used a patched lilo version 21 from M-System. If I run lilo I get the
> > message: Sorry don't know how to handle device 0x5d01.

John Sutton
SCL Internet
Tel. +44 (0) 1239 711 888

More information about the linux-mtd mailing list