Booting from a DiskOnChip2000

John Sutton john at scl.co.uk
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:

---------------------------
boot=/dev/nftla
map=/mnt/boot/map
backup=/mnt/boot/boot.5D00
install=/mnt/boot/boot.b
prompt
timeout=20

disk=/dev/nftla
        bios=0x80
        sectors=2
        heads=16
        cylinders=998
        partition=/dev/nftla1
                start=2

image=/mnt/boot/vmlinuz
        label=linux
        append="no-hlt"
        read-only
        root=/dev/md2
---------------------------

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?

TIA
John

> 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
> 
>         http://savannah.gnu.org/projects/grub/
> 
> 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
URL http://www.scl.co.uk/
Tel. +44 (0) 1239 711 888
***************************************************




More information about the linux-mtd mailing list