Subject: Re: workaround for FreeBSD binary that hardcodes a device major
To: Bill Studenmund <wrstuden@NetBSD.org>
From: Steven M. Bellovin <smb@cs.columbia.edu>
List: source-changes
Date: 09/24/2006 19:37:36
On Sat, 23 Sep 2006 23:33:24 -0700, Bill Studenmund <wrstuden@NetBSD.org>
wrote:
> On Sun, Sep 24, 2006 at 03:13:31PM +1000, matthew green wrote:
> >
> > [About http://mail-index.NetBSD.org/source-changes/2006/09/23/0110.html]
> > > This would seem to break all kernel configs that don't have a twa
> > > device. At least for evbppc/WALNUT I get:
> > >
> > > # link WALNUT/netbsd
> > > [ ... ]
> > > devsw.o:(.data+0x590): undefined reference to `twa_cdevsw'
> >
> > I backed the change out to restore the build, but I wonder how this
> > should be fixed.
> >
> > 3ware's tw_cli is only available as a FreeBSD or Linux binary. The
> > FreeBSD version hardcodes the twa major at 187. There is the same
> > problem for twe at major 146. I see 3 options
> >
> > 1) Tag the major 187 as reserved in the MI range and only define it on
> > i386
> > 2) Use a MD major for twa, and patch freebsd_sys_mknod() so that 187
> > gets translated into the right major
> > 3) Use a MD major for twa, and patch the tw_cli binary so that the right
> > major gets used.
> >
> > What's the best way?
> >
> >
> > since the hardcoded value is for freebsd, #2 seems the right place.
>
> I agree. It's a FreeBSD-specific issue, it needs a FreeBSD-specific fix.
>
Has anyone approached the vendor about working with them to supply a
NetBSD binary? FreeBSD is hardly mainstream (though it has more presence
in data centers than NetBSD does); they might be willing, if some
developer were will to do the necessary legwork and builds, and was
willing to sign their NDA.
--Steven M. Bellovin, http://www.cs.columbia.edu/~smb