Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Apr 2005 12:21:38 +0930
From:      "Daniel O'Connor" <doconnor@gsoft.com.au>
To:        freebsd-current@freebsd.org
Cc:        current@freebsd.org
Subject:   Re: New driver loading scheme for Project Evil, need input
Message-ID:  <200504201221.39355.doconnor@gsoft.com.au>
In-Reply-To: <20050419225640.7B92816A4CF@hub.freebsd.org>
References:  <20050419225640.7B92816A4CF@hub.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart2579633.g02zoSvJJl
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

On Wed, 20 Apr 2005 08:26, Bill Paul wrote:
> The objcopy(1) trick basically produces an ELF file that has the
> Windows .SYS file encapsulated with in it. Two symbols are created
> to denote the start end end of the image so that it can be loaded later.
> The windrv_stub.o module linked with the Windows image provides a
> small FreeBSD modevent handler that hooks the driver into Project
> Evil and eventually causes a bus-reprobe. This means that all you
> have to do is kldload this one module into the kernel, and presto!
> a new ndisX networking interface appears.

What about if you want to use >1 NDIS driver? How will it avoid symbol name=
=20
collisions?

> The end result is that installing a Windows driver should be as simple
> as:
>
> - run the script
> - give it your foo.inf and foo.sys files when it asks you
> - it spits out a foo_sys.ko module and you kldload it
> - the end

Sounds much nicer :)

> You still end up needing the C compiler, objcopy, ndiscvt and (optionally)
> iconv, but the script automates the use of all these tooks and explains
> to the user what's going on while it's working.

It's certainly simpler than the current state of afairs and unless the kern=
el=20
NDIS grows the ability to directly read .sys & .inf files from your disk=20
(which would be very cool :) it's about a simple as it's going to get..

> - What should the script be called? wintobsd.sh sounds kind of lame.

encappe
win2elf
pe2elf

=2D-=20
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
"The nice thing about standards is that there
are so many of them to choose from."
  -- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C

--nextPart2579633.g02zoSvJJl
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (FreeBSD)

iD8DBQBCZcO75ZPcIHs/zowRAmtUAKCqJGRLE2dZzqv4PA1xnRzX9iOZGwCeKfHP
7UXPSSZDop5mc/rd1faJmm4=
=xt0l
-----END PGP SIGNATURE-----

--nextPart2579633.g02zoSvJJl--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200504201221.39355.doconnor>