From owner-freebsd-questions@FreeBSD.ORG Thu Mar 20 09:54:05 2008 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 20AB51065672 for ; Thu, 20 Mar 2008 09:54:05 +0000 (UTC) (envelope-from rock_on_the_web@comcen.com.au) Received: from angel.comcen.com.au (angel.comcen.com.au [203.23.236.69]) by mx1.freebsd.org (Postfix) with ESMTP id D26308FC12 for ; Thu, 20 Mar 2008 09:54:04 +0000 (UTC) (envelope-from rock_on_the_web@comcen.com.au) Received: from [192.168.0.199] (202-172-126-254.cpe.qld-1.comcen.com.au [202.172.126.254]) by angel.comcen.com.au (8.13.4/8.12.9) with ESMTP id m2K9qIK3081992 for ; Thu, 20 Mar 2008 20:52:20 +1100 (EST) From: Da Rock To: freebsd-questions@freebsd.org 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> Content-Type: text/plain Date: Thu, 20 Mar 2008 19:52:14 +1000 Message-Id: <1206006734.27757.73.camel@laptop2.herveybayaustralia.com.au> Mime-Version: 1.0 X-Mailer: Evolution 2.12.3 (2.12.3-3.fc8) Content-Transfer-Encoding: 7bit X-comcen-MailScanner-Information: Please contact the ISP for more information X-comcen-MailScanner: Found to be clean X-comcen-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-16.442, required 4, autolearn=not spam, ALL_TRUSTED -1.80, AWL 0.36, BAYES_00 -15.00) X-comcen-MailScanner-From: rock_on_the_web@comcen.com.au Subject: Re: linux emulation X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Mar 2008 09:54:05 -0000 > On 20/03/2008, Da Rock 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?