From owner-freebsd-emulation Fri Oct 10 19:14:31 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id TAA24110 for emulation-outgoing; Fri, 10 Oct 1997 19:14:31 -0700 (PDT) (envelope-from owner-freebsd-emulation) Received: from elvis.vnet.net (elvis.vnet.net [166.82.1.5]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id TAA24089; Fri, 10 Oct 1997 19:14:25 -0700 (PDT) (envelope-from rivers@dignus.com) Received: from ponds.dignus.com (ponds.vnet.net [166.82.177.48]) by elvis.vnet.net (8.8.5/8.8.4) with ESMTP id WAA15909; Fri, 10 Oct 1997 22:14:04 -0400 (EDT) Received: from lakes.dignus.com (lakes [10.0.0.3]) by ponds.dignus.com (8.8.5/8.8.5) with ESMTP id WAA25539; Fri, 10 Oct 1997 22:30:03 -0400 (EDT) Received: (from rivers@localhost) by lakes.dignus.com (8.8.5/8.6.9) id WAA11043; Fri, 10 Oct 1997 22:19:54 -0400 (EDT) Date: Fri, 10 Oct 1997 22:19:54 -0400 (EDT) From: Thomas David Rivers Message-Id: <199710110219.WAA11043@lakes.dignus.com> To: rivers@dignus.com, tlambert@primenet.com Subject: Re: LINUX emulation and uname(3). Cc: cracauer@cons.org, freebsd-emulation@freefall.FreeBSD.org, freebsd-hackers@freefall.FreeBSD.org, jlemon@americantv.com Sender: owner-freebsd-emulation@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk See below... > > > > The Linux uname() call currently reports the FreeBSD info. I suppose > > > that this could be made into a sysctl if it really becomes a nuisance? > > > (see sys/i386/linux/linux_misc.c:linux_newuname for the implementation) > > > > Well - it was a nuisance in this case, as I was unable to run the > > particular Linux program I wanted to run... > > > > And, of course, you are right... I got a small program that simply > > calls uname() on Linux and ran it on FreeBSD - it reported the FreeBSD > > info... > > > > However, after reporting what I was doing, the company sent me a new > > license key (with the idea that "FreeBSD" would be returned in the utsname > > fields), which worked... > > > > It's just a bother for the various companies, and it means that our claim > > of being able to run Linux binaries isn't as complete as we may have wanted. > > > > Maybe a sysctl, so people could taylor it, is the right thing to do. > > In any event, I think a uname() call under Linux emulation should claim > > to be "Linux" and not "FreeBSD". So, the default should be "Linux"... > > I *STRONGLY* disagree! > > Putting aside for the moment the fact that the utsname is a silly thing > to include in a licensing scheme on an OS where you can make it say > whatever you want it to (you can even do it on Solaris/UnixWare, since > you can load a loadable driver, and as part of the "init", overwrite > the sysent[] table entry with a pointer to your replacement function). > > The reason the Linux uname reports FreeBSD instead of Linux information > is *precisely* to trigger fixes exactly like the one you got. You now > have added a "FreeBSD" tally mark instead of a "Linux" tally mark at > that company. > > Initially, it was done because of the Linux NetScape reporting "Linux" > to the HTTP servers on the other end of the line, when in fact it was > running on FreeBSD. If you want accurate demographics for FreeBSD > systems, then this type of thing needs to stick out. > > That said, I'm not terribly opposed to a sysctl() that would let you > hammer it down, but it should *definitely* remain the way it is for > the default, and hammering should be a last resort. I'm somewhat > opposed to a sysctl(), only because it's too easy to avoid providing > correct demographics to companies that should *know* that their products > are being used on FreeBSD before the next release is ported to various > platforms. > > > Terry Lambert > terry@lambert.org Well... For reasons such as Terry has described - I have been convinced that returning "Linux" as the default isn't the way to go. Also, just to let everyone know - the company has agreed to check for Linux and FreeBSD coming back from uname(). They will simply not look at sysname[] when building for Linux, using the constant string "Linux" instead. Also, they indicated that at the time the license check was designed - the idea of one OS emulating another hadn't occurred... (that begs the question of why they are checking...) You might see support for FreeBSD in some of the newer documentation; I'll let everyone know if it happens... For this reason, and since it did meet the goal of raising FreeBSD awareness - I'm going to suggest we not do a sysctl... You are running on FreeBSD and you should let everyone know about it! - Thanks for all the discussion! - - Dave Rivers -