Subject: Re: bfd command syntax
To: Robert Thille <rthille@gte.net>
From: Erik Berls <cyber@ono-sendai.com>
List: port-cobalt
Date: 04/18/2002 19:57:09
] I think the enclosed message should cover everything I did that's 
] applicable.  Basically, I've got two drives, one with 1.5.0 on it (fully 
] configured and bootable), and one with 1.5.2 kernel on it (not fully 
] configured, no /dev/*, etc).  It _always_ wanted to root from the 1.5.2 
] disk, regardless of which kernel booted, and I could _never_ get the 
] PROM to successfully boot with a 'root=<foo>' option.  Switching which 
] drive was wd0 (with the IDE slave/master jumpers) didn't help. Let me 
] know if I can give you more info or run some tests for you.

Ok, here is the magic:
The 1.5.0 kernel doesnt have the correct code.  If there is 2 drives
it will try to mount root on the second one, always.  This is what
I fixed and went in to 1.5.1 (and thus it is in 1.5.2).

I'm pretty sure that I had it passing stuff through.
From the source sys/arch/cobalt/cobalt/machdep.c:
                /* this should be of the form "/dev/hda1" */
                /* [abcd][1234]    drive partition  linux probe order */
                if ((memcmp("/dev/hd",root_bstr,7) == 0) &&

Meaning that one needs to specify the linux name of the drive and
the fdisk partition.  Sometimes there are just limits, at least its
prom is more advanced then the PC bios.

You should have /dev/hda4 and /dev/hdb4 assuming your partition
tables are the same.  Thus: root=/dev/hdb4 for the netbsd partition
on the second drive.

Its probably a bug that there is no man page, I've sent in a PR.

-=erik.