Re: [2.1.x] IDE interface probe oddity

Andrei Pitis (pink@roedu.net)
Mon, 9 Mar 1998 01:30:02 +0200 (EET)


> I have a Promise Ultra33 addin board.
Me too :)

> Epox KP6-LA Pentium II MB that has PIIX4 on board
Actually, i have a PIIX3 on the board.

> 2.1.89 (without options) will boot up and find the MB interfaces (assigning
> ide0/1) and the Promise controller (ide2/3). This would work fine, but lilo
> will then complain "can't handle device 0x2120". So this is what led me to
> trying the idex=xxxx options.
>
> 2.1.89 (with options) works fine, but I'm concerned with the BAD OPTION and
> the assignment of ide0 and ide3 being on the same controller but not grouped
> together.

My advice is to boot without options. I understand that your IDE
interfaces are recognized ok by the kernel if you don't specify boot
options at all.

There is a very simple way to get rid of the LILO's error (Cannot
handle device 0x21..). I am enclosing here a message from a
discussion between me, Mark Lord and the LILO maintainer. You can
easily modify the LILO source and recompile it.

Andrei Pitis

----------
> On Tue, 3 March 1998, mlord wrote:
> > > > Lilo doesn't know how to talk to drives other than those
> > > > on the primary IDE interface.
> > > >
> > > > I suggest you try what I do myself. Presumably you have a DOS
> > > > or Windows filesystem on /dev/hda, right?
> > > Thanks a lot. Unfortunately, no, i don't... If i had, it would be
> > > easy. Anyway, if i keep the HD on the motherboard IDE, the transfer
> >
> > If you disable the onboard IDE completely (BIOS setup),
> > then you can configure the Promise board to take it's place,
> > which would make your drive "/dev/hda" again, and LILO would be happy.
> >
> Hey, got the problem fixed! Finally i decided to get over my laziness
> and debug through the lilo sources... It's simple, in geometry.c, you
> add a 'case MAJOR_PROMISE1' which will fall through, reaching the same
> block of code as MAJOR_HD does:
>
> static void geo_query_dev(GEOMETRY *geo,int device,int all)
> {
> ......
> case MAJOR_PROMISE1:
> /* fall through */
> case MAJOR_HD:
> /* fall through */
> case MAJOR_IDE2:
> /* fall through */
> case MAJOR_ESDI:
> /* fall through */
> case MAJOR_XT:
> .......
> }
>
> Of course, you have to #define MAJOR_PROMISE1 33 in lilo.h first... I
> don't know what happens with the second Promise IDE, maybe it works
> too, that would be MAJOR_PROMISE2, #defined to 34. But i haven't
> tested it, thus...
>
> --------
>
> To the lilo maintainer: please place this code into future versions of
> lilo. I have a Promise UDMA extension board (2 IDE interfaces), which
> is unsupported, well, half-supported, by lilo version 20. Well, the
> board itself is only supported in new 2.1.xx kernels, but it would be
> neat to have lilo support for it.
>
> The HD placed on the first interface of this board becomes hde, and
> LILO boots from it, but only if lilo was installed with the same HD on
> hda (on-board interface). The problem i had was that i was able to
> boot from hde, but i wasn't able to update the lilo map/tables. For
> that i had to move the HD back to the on-board IDE, change /etc/fstab,
> boot with root=hda2, change the configuration (compile a new kernel,
> whatever), run lilo, change back /etc/fstab, place the HD back on the
> Promise board, then boot. Ughh..
>
> Thanks a lot,
> Andrei Pitis
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu