Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Mar 2008 19:52:14 +1000
From:      Da Rock <rock_on_the_web@comcen.com.au>
To:        freebsd-questions@freebsd.org
Subject:   Re: linux emulation
Message-ID:  <1206006734.27757.73.camel@laptop2.herveybayaustralia.com.au>
In-Reply-To: <34394a3a0803200214p135008c9oc427459d9dee6bb0@mail.gmail.com>
References:  <1205980623.27757.35.camel@laptop2.herveybayaustralia.com.au> <20080320085002.F8385@wojtek.tensor.gdynia.pl> <1206003571.27757.58.camel@laptop2.herveybayaustralia.com.au> <34394a3a0803200214p135008c9oc427459d9dee6bb0@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

> On 20/03/2008, Da Rock <rock_on_the_web@comcen.com.au> wrote:
> >
> >  On Thu, 2008-03-20 at 08:50 +0100, Wojciech Puchar wrote:
> >  > > I've read the handbook and just about anything on linux compat under
> >  > > freebsd. I am particularly interested in drivers under linux compat.
> >  >
> >  > emulation allows execution of normal linux programs, not drivers
> >
> >
> > Ok. So input devices won't work either? I refer to this page here:
> >  http://people.freebsd.org/~3d/apps/games/unreal_tournament/
> >
> >  What is the driver mentioned here?
> >
> >  Incidentally, what is the difference between linux and bsd drivers? The
> >  drivers in question are manufacturers binaries for linux in an RPM;
> >  hence the question. Plus I came across several notations regarding
> >  building or using drivers from linux in bsd (linux-kmod-compat port, the
> >  above link, and more).
> >
> >  For reference I'm merely very curious, not argumentative on this. Cheers
> >  for any answers offered.
> >


On Thu, 2008-03-20 at 02:14 -0700, Patrick C wrote:
> A binary is compiled assembly/code. The binary still needs to interact
> with low-level hardware using system calls, handling interrupts, etc.
> in a way that the operating system understands. Applications are more
> portable and less operating- and hardware-specific than drivers, which
> require a good understanding of the operating system and the hardware.
> 
> Please read the current status of linux-kmod-compat, it specifically
> indicates it is for USB drivers. USB is a simplified bus where the
> low-level access is handled in the same manner for every device so
> it's simpler to port the driver.
> 
> Glide in your case is an API/Library, not an actual driver. Libraries
> are very similar to applications in how they act with the operating
> system/environment, and are a must-have on running Linux binaries.
> This is supported and works well.
> 
> -Patrick
> 

Ok, got that. I read that about the linux-kmod-compat, but I thought
that it might have been the beginning of something beautiful (pardon
poetics...). I was unaware of the glide situation though.

Does anyone know what the differences are between linux and bsd at the
system calls, interrupts, etc? I understand that there are some software
which accesses hardware at this sort of level which has been adapted as
well (raid controllers mainly), so surely there must be some information
on what can enable this to work.

What this discussion has got me thinking on is a "wrapper" (ie NDIS),
since the drivers are not from the linux oss community but from the
actual manufacturer I'm assuming (forgive me, please... :) ) that this
may be a feasible solution. In which case, then, I'm going to have to
"map" calls and create device nodes. Should be simple then, no? ;P!

I'd love to hear any more suggestions or links to info on any of this,
thanks guys.

Also, on the linux compat- am I correct in my observation that you have
to actually chroot to enable the running of a linux binary? Enter the
file structure of the linux compat? Or can you just run it?




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