> Just upgraded to a current again, with the same problem,
> and the same solution:

[...]
> wdc1 at kauaiata0 irq 39: DMA
> atapiscsi0 at wdc1 channel 0 drive 0
> scsibus0 at atapiscsi0: 2 targets
> cd0 at scsibus0 targ 0 lun 0: <MATSHITA, DVD-R UJ-825, DAND> ATAPI 5/cdrom 
> removable
> wd0 at wdc1 channel 0 drive 1: <ST9808211A>
> wd0: 16-sector PIO, LBA, 76319MB, 156301488 sectors
[...]
> bootpath: /pci@f4000000/ata-6@d/disk@1:/bsd

I think I understand what goes wrong. The code responsible for matching
the boot device to the actual kernel device on macppc is quite crude,
especially for non-SCSI disks.

Your bootpath specifies `disk@1' because the disk drive is the second
device (slave) on the ATA channel, the cdrom drive being master.
However, the kernel wants to match this information against a `wd1'
device (as if there were two hard disks on the ATA channel).

The kernel code needs to be fixed to use device_register() to match the
boot path against actual attachment information, instead of walking the
device tree at the end of autoconf. If nobody beats me to do this, I'll
try to cook a diff in a few days.

Miod

Reply via email to