linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Automatic download and installation of drivers.
@ 2001-10-16  0:02 Stamatis Mitrofanis
  2001-10-16  5:29 ` Greg KH
                   ` (25 more replies)
  0 siblings, 26 replies; 27+ messages in thread
From: Stamatis Mitrofanis @ 2001-10-16  0:02 UTC (permalink / raw)
  To: linux-hotplug

Automatic download and installation of drivers. That is definately a 
good thing to have (in general). What we need now is to find:
- the best way to to use HTTP for the task.
- the best way to organize scripts/programs to have a general framework 
for requesting drivers of all kinds.
- actual database servers which are globally accessible to do the work.
- actual manufacturers to simply provide downloads in their ftp servers.

For HTTP there can be simple name=value requests that are passed to the 
server's CGI. The server redirects the client to where the actual file 
resides. The following holds:


wget http://www.kernel.org/cgi-bin/getdriver?bus=usb&pid=0x1234&vid=0x5678 <http://www.kernel.org/cgi-bin/getdriver?bus=usb&pid=0x1234&vid=0x5678>

Afterwards, the driver will get installed.

For the hotplug scripts I suggest that we create a new driver.agent 
which will process four actions (fetch/toss/install/uninstall) with 
appropriate parameters. It will be triggered by any other hotplug agent 
requiring a certain "resource" to satisfy an important request. The key 
thing here is that it should be acceptable to use the standard 
input/output of an agent.script when its called (like an ordinary 
program -- diagnostics should be sent to either stderr or syslog of 
course). This will be useful here since it's not very convenient to pass 
name=value pairs in the form of environment variables. Defining std 
input/output as "may be useful" for the hotplug scripts should be a good 
thing. install/uninstall get the DRIVER_RESOURCE parameter which is the 
local filename of the downloaded file. If a .tar.gz, they can guess the 
directory it unpacks to.

If anyone has any better ideas/suggestions, please let me know. I'm 
already working on the client-side for this (done install/uninstall for 
"targz.agent" driver subagent). It should be pretty easy to make the 
server-side DB and CGI linking to it.

Anyone to help?


_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
@ 2001-10-16  5:29 ` Greg KH
  2001-10-16  7:35 ` David Brownell
                   ` (24 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Greg KH @ 2001-10-16  5:29 UTC (permalink / raw)
  To: linux-hotplug

On Tue, Oct 16, 2001 at 01:02:37AM +0100, Stamatis Mitrofanis wrote:
> Automatic download and installation of drivers. That is definately a 
> good thing to have (in general). 

Wow, the security implementations and other complexities involved here
are huge.  Let try a few examples:
	- installing a module requires root permissions.  You generally
	  do not want to run a compiler as root.
	- Running anything as root isn't a good idea, unless the program
	  has been audited for security problems.
	- Who is going to sign/verify the driver you just downloaded
	  to prevent a trojan from being installed?
	- Lots of user machines do not have compilers installed.  What
	  then?
	- Where are you going to find the .config file that the
	  currently running kernel was built against?  Without that, you
	  will not be able to successfully build that module.
	- What is the guarantee that older kernels will be able to load
	  newer modules?  Inter-kernel apis constantly change.  The odds
	  that this would work are quite slim.
	- Distros test their kernels as one package, drivers included.
	  Then they ship with those drivers.  Any new drivers fall under
	  the above problem.

And there are more problems that I can't think of right now.

But the main question I have is:
	What is the real problem that you are trying to solve?
and
	Why does the current kernel/driver situation not work for you?

thanks,

greg k-h

_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
  2001-10-16  5:29 ` Greg KH
@ 2001-10-16  7:35 ` David Brownell
  2001-10-16  7:58 ` Tim Jansen
                   ` (23 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: David Brownell @ 2001-10-16  7:35 UTC (permalink / raw)
  To: linux-hotplug

> What we need now is to find:
> - the best way to to use HTTP for the task.
> - the best way to organize scripts/programs to have a general framework 
>   for requesting drivers of all kinds.
> - actual database servers which are globally accessible to do the work.
> - actual manufacturers to simply provide downloads in their ftp servers.

Actually I think you've got the order backwards:  find systems that need
this kind of software distribution model first; then let their needs drive
development of such an alternative distribution scheme (and assurance
of its trustworthiness/security).  I can imagine local sites hosting some
servers for their local users, for example.

While I've sometimes been intrigued by such schemes, I'll have to be
contrarian in this case and say it's more interesting than useful at the
moment.  (Even for environments like Java, which was designed for
that model of software distribution.)  The current Linux model is that
driver distribution is tightly coupled to the associated kernel.  That is
known to work well.  What's the motivation for another model?

- Dave






_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
  2001-10-16  5:29 ` Greg KH
  2001-10-16  7:35 ` David Brownell
@ 2001-10-16  7:58 ` Tim Jansen
  2001-10-16 11:38 ` Keith Owens
                   ` (22 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Tim Jansen @ 2001-10-16  7:58 UTC (permalink / raw)
  To: linux-hotplug

On Tuesday 16 October 2001 07:29, you wrote:
> > Automatic download and installation of drivers. That is definately a
> > good thing to have (in general).
> Wow, the security implementations and other complexities involved here
> are huge.  Let try a few examples:
> 	- installing a module requires root permissions.  You generally
> 	  do not want to run a compiler as root.
> 	- Running anything as root isn't a good idea, unless the program
> 	  has been audited for security problems.
> 	- Who is going to sign/verify the driver you just downloaded
> 	  to prevent a trojan from being installed?
> 	- Lots of user machines do not have compilers installed.  What
> 	  then?
> 	- Where are you going to find the .config file that the
> 	  currently running kernel was built against?  Without that, you

IMHO there are two choices for auto-installation. The easier one is to use 
distribution specific packages, then most of the problems do not apply. Only 
if you want to distribute drivers in source form you have to take care that:

- the sources of the installed kernel are available at a well-known place
- you have a well-defined compilation environment. You have to make rules 
which gcc version, which make version and so on has to be available and at 
which location (or alternatively you need a configuration file that describes 
their location). You need to be propared that the user has two compilers 
(gcc&kgcc).
- you need to know how to install and maybe also de-install modules in the 
system (it should provide a script for that)
- you need the configuration file of the installed kernel
- possibly you need the ability to re-compile the kernel itself if a needed 
configuration option is missing (for example enable V4L if the user installs 
a webcam). This can be quite complex which would be a reason to do this only 
with CML2. 
- ideally there would be a way for a installed driver package to add its own 
configuration options to the kernel. For example if you would install each 
drivers source in a directory /usr/src/linux/drivers/<driver-name>, then CML2 
could automagically include all /usr/src/linux/drivers/*/Config.in files.

This, of course, is a LOT of work.


> But the main question I have is:
> 	What is the real problem that you are trying to solve?
> and
> 	Why does the current kernel/driver situation not work for you?

1. It makes it much easier for a user to find a driver that's not included in 
his distribution. Linux drivers are usually named after the chipset's name or 
the first device that was supported. How can a user know that his Logitech 
Quickcam Pro 3000 needs the pwc (philips webcam) driver? And where can he 
find the driver?
2. (source driver packages only) right now the situation for drivers authors 
who want to distribute their drivers to end-users is really bad. Either they 
make it complicated for their users and distribute the drivers in source 
form. Even now I would guess the majority of Linux users is not able to 
compile their own drivers, and hopefully the percentage will be much lower in 
a couple of years.  Or the driver author provides binary packages for each 
version of each distribution. It is a lot of work and still won't help all 
users.  This is probably one of the reasons that so few hardware 
manufacturers provide Linux drivers.
 
bye...


_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (2 preceding siblings ...)
  2001-10-16  7:58 ` Tim Jansen
@ 2001-10-16 11:38 ` Keith Owens
  2001-10-16 16:52 ` Greg KH
                   ` (21 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Keith Owens @ 2001-10-16 11:38 UTC (permalink / raw)
  To: linux-hotplug

On Tue, 16 Oct 2001 09:58:38 +0200, 
Tim Jansen <tim@tjansen.de> wrote:
>2. (source driver packages only) right now the situation for drivers authors 
>who want to distribute their drivers to end-users is really bad.

<blatant plug>

Kernel build (kbuild) 2.5 is designed to make it easy to compile add on
code.  The user still needs the kernel source and the .config used to
build their kernel, plus their existing kernel objects.  The add on
source can be stored anywhere and will be compiled as if it were part
of the kernel source tree.

kbuild 2.5 gives full support for add on code, including make *config,
Makefile, kernel/module build, modules install, dependencies, the lot.
See http://sourceforge.net/projects/kbuild for the patch, read
Documentation/kbuild/kbuild-2.5.txt, in particular Shadow Trees.

</blatant plug>

Keith Owens, kbuild maintainer.


_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (3 preceding siblings ...)
  2001-10-16 11:38 ` Keith Owens
@ 2001-10-16 16:52 ` Greg KH
  2001-10-16 18:44 ` Tim Jansen
                   ` (20 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Greg KH @ 2001-10-16 16:52 UTC (permalink / raw)
  To: linux-hotplug

On Tue, Oct 16, 2001 at 09:58:38AM +0200, Tim Jansen wrote:
> > But the main question I have is:
> > 	What is the real problem that you are trying to solve?
> > and
> > 	Why does the current kernel/driver situation not work for you?
> 
> 1. It makes it much easier for a user to find a driver that's not included in 
> his distribution. Linux drivers are usually named after the chipset's name or 
> the first device that was supported. How can a user know that his Logitech 
> Quickcam Pro 3000 needs the pwc (philips webcam) driver? And where can he 
> find the driver?

The current linux-hotplug interface solves this problem.  The driver
itself lets the kernel/world know for what devices it supports.  Coming
from the other direction (what driver supports this device) is just as
easy.  Look at modules.usbmap and modules.pcimap for examples.

> 2. (source driver packages only) right now the situation for drivers authors 
> who want to distribute their drivers to end-users is really bad. Either they 
> make it complicated for their users and distribute the drivers in source 
> form. Even now I would guess the majority of Linux users is not able to 
> compile their own drivers, and hopefully the percentage will be much lower in 
> a couple of years.  Or the driver author provides binary packages for each 
> version of each distribution. It is a lot of work and still won't help all 
> users.  This is probably one of the reasons that so few hardware 
> manufacturers provide Linux drivers.

The solution to this is to either live with the nightmare of supporting
binary packages for _every_ distro kernel release (1 kernel release from
RedHat is 11 kernels, multiply that by different versions of that distro
and the number of different distros, you have a huge mess) or simply put
the driver in the kernel source tree.

By putting the driver into the tree, all the problems go away, users
don't have to compile their own drivers, the drivers are all distributed
by the different Linux vendors, vendors don't have to update their
driver for every kernel api change, and everyone is happy.  Well, the
people who don't like open source drivers aren't happy, but we aren't
here to make their lives easier :)

thanks,

greg k-h

_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (4 preceding siblings ...)
  2001-10-16 16:52 ` Greg KH
@ 2001-10-16 18:44 ` Tim Jansen
  2001-10-16 18:58 ` Tim Jansen
                   ` (19 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Tim Jansen @ 2001-10-16 18:44 UTC (permalink / raw)
  To: linux-hotplug

On Tuesday 16 October 2001 18:52, Greg KH wrote:
> The current linux-hotplug interface solves this problem.  The driver
> itself lets the kernel/world know for what devices it supports.  Coming
> from the other direction (what driver supports this device) is just as
> easy.  Look at modules.usbmap and modules.pcimap for examples.

But how does this help for drivers that are not installed yet because they 
are not part of the kernel? This is the reason for downloading drivers.


> By putting the driver into the tree, all the problems go away, users
> don't have to compile their own drivers, the drivers are all distributed
> by the different Linux vendors, vendors don't have to update their
> driver for every kernel api change, and everyone is happy.  

I doubt that this will make hardware vendors happy:
- their devices cannot be supported before they are included in a kernel. 
Assuming a world where new devices are released with vendor-supported linux 
drivers this would mean that a new device cannot be released before their 
drivers are in the kernel and distributions picked this kernel up. 
- vendors lose control of their device drivers even though their quality is 
crucial for the success of their products

This is also a problem for users. Most distributions do update between 1 and 
4 times updates per year. This means that users have to wait for their driver 
up to one year before they can buy new devices or get an update for their 
driver. 

bye...





_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (5 preceding siblings ...)
  2001-10-16 18:44 ` Tim Jansen
@ 2001-10-16 18:58 ` Tim Jansen
  2001-10-16 19:19 ` Greg KH
                   ` (18 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Tim Jansen @ 2001-10-16 18:58 UTC (permalink / raw)
  To: linux-hotplug

On Tuesday 16 October 2001 09:35, you wrote:
> that model of software distribution.)  The current Linux model is that
> driver distribution is tightly coupled to the associated kernel.  That is
> known to work well.  What's the motivation for another model?

One motivation is to lower the barrier for hardware vendors who want to 
provide drivers. So far it is very difficult for them. Either they provide a 
dozen of RPM packages and still can not reach all Linux users (like nvidia) 
or they don't even try and support one or two distributions (AVM supports 
only SuSE on their ISDN adapter). The linux market is small enough, and by 
making it difficult to provide a single driver to all users you make is even 
less worthwhile. 

The advantage for users is that they can get drivers for new devices or 
updates without waiting for a new release of their distribution. It will also 
help users of, for example, debian and slackware who wouldn't get 
pre-packaged drivers otherwise, at least not before the driver is in the 
kernel. And those who would like to update their distribution, but the driver 
vendor hasn't released a newer package yet (SuSe 7.3 is out, but AVM only 
supports 7.1 and 7.2).

bye...

_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (6 preceding siblings ...)
  2001-10-16 18:58 ` Tim Jansen
@ 2001-10-16 19:19 ` Greg KH
  2001-10-17  2:01 ` David Brownell
                   ` (17 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Greg KH @ 2001-10-16 19:19 UTC (permalink / raw)
  To: linux-hotplug

On Tue, Oct 16, 2001 at 08:44:04PM +0200, Tim Jansen wrote:
> On Tuesday 16 October 2001 18:52, Greg KH wrote:
> > The current linux-hotplug interface solves this problem.  The driver
> > itself lets the kernel/world know for what devices it supports.  Coming
> > from the other direction (what driver supports this device) is just as
> > easy.  Look at modules.usbmap and modules.pcimap for examples.
> 
> But how does this help for drivers that are not installed yet because they 
> are not part of the kernel? This is the reason for downloading drivers.

If the running (old) kernel does not know about the devices, but a
future kernel does, then you have all the same problems that I listed
before (kernel api, compilers, .config, etc.)  Download the whole
kernel, it's the only way, as there is not going to be a common binary
or source api for Linux kernel drivers, like other operating systems
have.

> > By putting the driver into the tree, all the problems go away, users
> > don't have to compile their own drivers, the drivers are all distributed
> > by the different Linux vendors, vendors don't have to update their
> > driver for every kernel api change, and everyone is happy.  
> 
> I doubt that this will make hardware vendors happy:
> - their devices cannot be supported before they are included in a kernel. 
> Assuming a world where new devices are released with vendor-supported linux 
> drivers this would mean that a new device cannot be released before their 
> drivers are in the kernel and distributions picked this kernel up. 

Vendors who work with open source drivers, typically have their Linux
drivers updated _before_ the hardware hits the shelves.  See the keyspan
and edgeport USB drivers for examples of this.

> - vendors lose control of their device drivers even though their quality is 
> crucial for the success of their products

Then the vendors have the maintainer of the driver be an employee.  This
is quite common (myself included.)  Look at most all of the SCSI drivers
for other examples.

> This is also a problem for users. Most distributions do update between 1 and 
> 4 times updates per year. This means that users have to wait for their driver 
> up to one year before they can buy new devices or get an update for their 
> driver. 

Then if a vendor wants a specific driver built for a specific distro's
kernel, due to the distro not having support for it, they build it.
I've done this in the past for some companies, it's not that hard, just
a pain getting all of the .config settings correct (which is what any
"automated" system would have to do also.)

thanks,

greg k-h

_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (7 preceding siblings ...)
  2001-10-16 19:19 ` Greg KH
@ 2001-10-17  2:01 ` David Brownell
  2001-10-17  2:03 ` David Brownell
                   ` (16 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: David Brownell @ 2001-10-17  2:01 UTC (permalink / raw)
  To: linux-hotplug

> One motivation is to lower the barrier for hardware vendors who want to 
> provide drivers. So far it is very difficult for them. Either they provide a 
> dozen of RPM packages and still can not reach all Linux users (like nvidia) 
> or they don't even try and support one or two distributions (AVM supports 
> only SuSE on their ISDN adapter). 

Easy fix:  provide a patch to the kernel source, rather than going with
a binary distribution model.  The model of binary driver distributions
is a problem.  It's my understanding that most hardware vendors would
rather not be in that game, but MSFT forced them to play that way.


> The advantage for users is that they can get drivers for new devices or 
> updates without waiting for a new release of their distribution. 

With a patch, "knowledgeable" users can get going right away.  All
others are going to need to wait for a new release in any case, or
will ask their "knowledgeable user" friends for help.

- Dave



_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (8 preceding siblings ...)
  2001-10-17  2:01 ` David Brownell
@ 2001-10-17  2:03 ` David Brownell
  2001-10-17 18:47 ` Tim Jansen
                   ` (15 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: David Brownell @ 2001-10-17  2:03 UTC (permalink / raw)
  To: linux-hotplug

Yep, a better way to manage source code is the Linux Way!  :)

Of course, it's still tricky to answer the "is there a Linux driver
for this hardware".  More vendors should have those answers
available on their websites.

- Dave


----- Original Message ----- 
From: "Keith Owens" <kaos@ocs.com.au>
To: <linux-hotplug-devel@lists.sourceforge.net>
Sent: Tuesday, October 16, 2001 4:38 AM
Subject: Re: Automatic download and installation of drivers.


> On Tue, 16 Oct 2001 09:58:38 +0200, 
> Tim Jansen <tim@tjansen.de> wrote:
> >2. (source driver packages only) right now the situation for drivers authors 
> >who want to distribute their drivers to end-users is really bad.
> 
> <blatant plug>
> 
> Kernel build (kbuild) 2.5 is designed to make it easy to compile add on
> code.  The user still needs the kernel source and the .config used to
> build their kernel, plus their existing kernel objects.  The add on
> source can be stored anywhere and will be compiled as if it were part
> of the kernel source tree.
> 
> kbuild 2.5 gives full support for add on code, including make *config,
> Makefile, kernel/module build, modules install, dependencies, the lot.
> See http://sourceforge.net/projects/kbuild for the patch, read
> Documentation/kbuild/kbuild-2.5.txt, in particular Shadow Trees.
> 
> </blatant plug>
> 
> Keith Owens, kbuild maintainer.
> 
> 
> _______________________________________________
> Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
> Linux-hotplug-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel


_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (9 preceding siblings ...)
  2001-10-17  2:03 ` David Brownell
@ 2001-10-17 18:47 ` Tim Jansen
  2001-10-17 19:24 ` David Brownell
                   ` (14 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Tim Jansen @ 2001-10-17 18:47 UTC (permalink / raw)
  To: linux-hotplug

On Wednesday 17 October 2001 04:01, David Brownell wrote:
> Easy fix:  provide a patch to the kernel source, rather than going with
> a binary distribution model.  The model of binary driver distributions
> is a problem. 
> With a patch, "knowledgeable" users can get going right away.  All
> others are going to need to wait for a new release in any case

But this means, in other words, that Linux is not competitive in this area. 
Then regular users have to wait up to 6 months before they can use new 
devices because they have to wait for the next Red Hat distribution while Mac 
and Windows users can already use the device. It would also force them to 
update a stable system only for getting a new device driver.
And it would result in hardware manufactures being unable to sell their new 
devices to the majority of Linux users before most distributions have been 
updated.

bye...






_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (10 preceding siblings ...)
  2001-10-17 18:47 ` Tim Jansen
@ 2001-10-17 19:24 ` David Brownell
  2001-10-17 23:31 ` Tim Jansen
                   ` (13 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: David Brownell @ 2001-10-17 19:24 UTC (permalink / raw)
  To: linux-hotplug

The _full_ quote of that last paragraph contains the disproof to
your claim about timeliness and competitiveness ... 

> With a patch, "knowledgeable" users can get going right away.  All
> others are going to need to wait for a new release in any case, or
> will ask their "knowledgeable user" friends for help.

It's well known that even in the Windows world, most support
comes from friendly local experts ("power users").  Those are
the folk that get called in when a vendor's driver disk doesn't
install correctly (the ones I get usually don't).

So far as I know, there isn't even an authoritative list of all
the USB and CardBus devices supported by, say, the 2.4.12
kernel.  Or even a good way to extract the subset of that list
that's packaged as the MODULE_DEVICE_TABLE entries,
short of building a kernel with every driver configured as a
module (a bit painful IMO).

- Dave


----- Original Message ----- 
From: "Tim Jansen" <tim@tjansen.de>
To: "David Brownell" <david-b@pacbell.net>; <linux-hotplug-devel@lists.sourceforge.net>
Sent: Wednesday, October 17, 2001 11:47 AM
Subject: Re: Automatic download and installation of drivers.


> On Wednesday 17 October 2001 04:01, David Brownell wrote:
> > Easy fix:  provide a patch to the kernel source, rather than going with
> > a binary distribution model.  The model of binary driver distributions
> > is a problem. 
> > With a patch, "knowledgeable" users can get going right away.  All
> > others are going to need to wait for a new release in any case
> 
> But this means, in other words, that Linux is not competitive in this area. 
> Then regular users have to wait up to 6 months before they can use new 
> devices because they have to wait for the next Red Hat distribution while Mac 
> and Windows users can already use the device. It would also force them to 
> update a stable system only for getting a new device driver.
> And it would result in hardware manufactures being unable to sell their new 
> devices to the majority of Linux users before most distributions have been 
> updated.
> 
> bye...
> 
> 
> 



_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (11 preceding siblings ...)
  2001-10-17 19:24 ` David Brownell
@ 2001-10-17 23:31 ` Tim Jansen
  2001-10-17 23:32 ` Greg KH
                   ` (12 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Tim Jansen @ 2001-10-17 23:31 UTC (permalink / raw)
  To: linux-hotplug

On Wednesday 17 October 2001 21:24, David Brownell wrote:
> > With a patch, "knowledgeable" users can get going right away.  All
> > others are going to need to wait for a new release in any case, or
> > will ask their "knowledgeable user" friends for help.
> It's well known that even in the Windows world, most support
> comes from friendly local experts ("power users").  Those are
> the folk that get called in when a vendor's driver disk doesn't
> install correctly (the ones I get usually don't).

But this is one of the problems with Linux and newbies - even with today's 
distributions there are far too many things you need "knowledgable" users 
for. This is definitely not the way it should be, and Windows shows that it 
is not neccessary. While it is true that it the driver installation fails 
sometimes you can be sure that this will improve over the next years. 
Actually the frequent failures of driver installations are probably the main 
reasons that Microsoft started their driver certification program.


> So far as I know, there isn't even an authoritative list of all
> the USB and CardBus devices supported by, say, the 2.4.12
> kernel. 

You wouldn't need this in the kernel for automatic downloads. Actually the 
idea of automatic downloadable drivers is to provide drivers that are NOT in 
the kernel. If the user connects a new device and the system doesn't find a 
driver for it it would request one from some server. This server could either 
provide a driver itself, based the device's vendor and model id, or forward 
the system to the vendor's server which would then try to find one for the 
model.

bye...



_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (12 preceding siblings ...)
  2001-10-17 23:31 ` Tim Jansen
@ 2001-10-17 23:32 ` Greg KH
  2001-10-18  0:07 ` Dmitri
                   ` (11 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Greg KH @ 2001-10-17 23:32 UTC (permalink / raw)
  To: linux-hotplug

On Thu, Oct 18, 2001 at 01:31:17AM +0200, Tim Jansen wrote:
> 
> You wouldn't need this in the kernel for automatic downloads. Actually the 
> idea of automatic downloadable drivers is to provide drivers that are NOT in 
> the kernel. If the user connects a new device and the system doesn't find a 
> driver for it it would request one from some server. This server could either 
> provide a driver itself, based the device's vendor and model id, or forward 
> the system to the vendor's server which would then try to find one for the 
> model.

But how do you resolve all of the previous points I raised about
compilers, .config files, in kernel apis, and security with regards to
"automatic downloads"?

thanks,

greg k-h

_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (13 preceding siblings ...)
  2001-10-17 23:32 ` Greg KH
@ 2001-10-18  0:07 ` Dmitri
  2001-10-18  0:19 ` Stamatis Mitrofanis
                   ` (10 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Dmitri @ 2001-10-18  0:07 UTC (permalink / raw)
  To: linux-hotplug

[-- Attachment #1: Type: text/plain, Size: 2879 bytes --]

Quoting Greg KH <greg@kroah.com>:

> On Thu, Oct 18, 2001 at 01:31:17AM +0200, Tim Jansen wrote:
> > 
> > You wouldn't need this in the kernel for automatic downloads. Actually the 
> > idea of automatic downloadable drivers is to provide drivers that are NOT in 
> > the kernel. If the user connects a new device and the system doesn't find a 
> > driver for it it would request one from some server. This server could either 
> > provide a driver itself, based the device's vendor and model id, or forward 
> > the system to the vendor's server which would then try to find one for the 
> > model.
> 
> But how do you resolve all of the previous points I raised about
> compilers,

Just yesterday I had to replace gcc 3.0.1 with old but working
egcs-2.91.66. The C download was just 1.5 MBytes, and C++ was
only 1.5 MBytes more - though you wouldn't need C++ for the kernel.

This means that gcc is just another dependency that the script will
resolve before even trying to fetch and compile the driver. The
size of the required download is acceptable even for modem users,
and that has to be done only once.

Of course, distributions can make the gcc (suitable for kernel
compilations) a required (base) package.

> .config files,

I think they are available in "kernel-devel" package or something
like that. They easily can be shipped as part of the kernel RPM.
The kernel-devel package is already available in RH, for example.

Of course, the kernel itself can contain a copy of its own .config
file and export it through /proc fs, along with all compiler options,
that would be neat :-) and only requires an optional module.

> in kernel apis,

That's not something new. APIs change all the time, everywhere, not
only in OSes. Programmers just need to use #if ... #endif and maybe
the driver should be marked as "suitable" or "tested" on some range
of kernel releases.

> and security with regards to "automatic downloads"?

Linus already signs his kernel releases. There is no reason why
driver maintainers can't join the web of trust. Then GPG will
cheerfully accept signatures of partially trusted signers. It is
very easy to do, publishers only need to get their public key
signed by many other publishers, and the threshold for the sufficient
trust can be hardcoded to be fairly high.

/***/

It is clear to me that Linux needs a mechanism for fetching and
installing 3rd party drivers. The proposed technology seems to
be quite simple, and requires very little development because
all components are already here. I think, a single script can
definitely accomplish searching, downloading, compiling (kbuild?)
and installing the driver. This project is all about organizing
software and people to do it right.

Thanks,
Dmitri

-- 
panic("esp: penguin status phase.");
(Panic message in the kernel.)

[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (14 preceding siblings ...)
  2001-10-18  0:07 ` Dmitri
@ 2001-10-18  0:19 ` Stamatis Mitrofanis
  2001-10-18  0:47 ` Tim Jansen
                   ` (9 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Stamatis Mitrofanis @ 2001-10-18  0:19 UTC (permalink / raw)
  To: linux-hotplug

Dmitri wrote:

>Quoting Greg KH :
>
>>On Thu, Oct 18, 2001 at 01:31:17AM +0200, Tim Jansen wrote:
>>
>>>You wouldn't need this in the kernel for automatic downloads. Actually the 
>>>idea of automatic downloadable drivers is to provide drivers that are NOT in 
>>>the kernel. If the user connects a new device and the system doesn't find a 
>>>driver for it it would request one from some server. This server could either 
>>>provide a driver itself, based the device's vendor and model id, or forward 
>>>the system to the vendor's server which would then try to find one for the 
>>>model.
>>>
>>But how do you resolve all of the previous points I raised about
>>compilers,
>>
>Just yesterday I had to replace gcc 3.0.1 with old but working
>egcs-2.91.66. The C download was just 1.5 MBytes, and C++ was
>only 1.5 MBytes more - though you wouldn't need C++ for the kernel.
>
>This means that gcc is just another dependency that the script will
>resolve before even trying to fetch and compile the driver. The
>size of the required download is acceptable even for modem users,
>and that has to be done only once.
>
>Of course, distributions can make the gcc (suitable for kernel
>compilations) a required (base) package.
>
I agree that a C compiler is a nice thing to have, but no one must be 
forced to have it (say, end users). If it becomes a "base package", 
every computer must have it installed and then people will start using 
it when it's not necessary (huge mess). The best thing to do here is to 
install the right version of gcc on demand (just as we do for drivers).

>>.config files,
>>
>I think they are available in "kernel-devel" package or something
>like that. They easily can be shipped as part of the kernel RPM.
>The kernel-devel package is already available in RH, for example.
>
>Of course, the kernel itself can contain a copy of its own .config
>file and export it through /proc fs, along with all compiler options,
>that would be neat :-) and only requires an optional module.
>
Standardize _both_ as the "current kernel configuration" 
(/usr/src/linux/.config _and_ a proc fs entry) so that driver sources 
can freely use it. I'd go for the first one though, here's the rationale:
Since we are going to allow third-party kernel drivers to be compiled 
for a kernel, we may as well grant them the right to do everything that 
a "normally" (in-kernel) distributed driver can do. A driver may depend 
on other drivers to compile/work and they will need to be downloaded, 
configured and installed as well. A driver must be allowed to set (its 
own, of course) entries in the kernel configuration file , modifying it 
for other third-party drivers to read. Thus it's better to use 
/usr/src/linux/.config .

>>in kernel apis,
>>
>That's not something new. APIs change all the time, everywhere, not
>only in OSes. Programmers just need to use #if ... #endif and maybe
>the driver should be marked as "suitable" or "tested" on some range
>of kernel releases.
>
Couldn't the kernel's configuration file be useful in solving this 
problem? API authors could use it to describe the changes they made in 
the API.

>>and security with regards to "automatic downloads"?
>>
>Linus already signs his kernel releases. There is no reason why
>driver maintainers can't join the web of trust. Then GPG will
>cheerfully accept signatures of partially trusted signers. It is
>very easy to do, publishers only need to get their public key
>signed by many other publishers, and the threshold for the sufficient
>trust can be hardcoded to be fairly high.
>
I wish I could find something wrong with that... Then I would have 
something to say here. :-)

>/***/
>
>It is clear to me that Linux needs a mechanism for fetching and
>installing 3rd party drivers. The proposed technology seems to
>be quite simple, and requires very little development because
>all components are already here. I think, a single script can
>definitely accomplish searching, downloading, compiling (kbuild?)
>and installing the driver. This project is all about organizing
>software and people to do it right.
>
Yep. Our slogan should be: "Do it when you have to!". :-)

This script can very well be a hotplug agent supporting four ACTIONs. I 
posted a message about this a few days ago, but since I didn't put any 
Subject line no one must have read it. Here it is again:

/* Quote myself: */

Well, a "configure" script would be good to use for source code. It
would return success/failure depending on whether the local
architecture/configuration is known to work for compiling the driver. If
it's not, then manual compilation and installation is required. Drivers
should be tested on as many kernel versions as possible and the
"configure" script should do any necessary tweakings to make the driver
compile on the particular system (as GNU apps do).

By "format" I didn't refer only to a file format that drivers are
packaged in but also to certain semantics -- like "how is this package
compiled and installed?". So, a driver that comes in source code in a
.tar.gz  and has a "configure" script that must be run before make is in
different "format" than a .tar.gz that doesn't need "configure".

Also, installation of a driver should have its mirror (uninstallation)
as well. Of course, it's not very practical to install/uninstall a
driver every time it's devices are plugged/unplugged, so it should be
left to the user to uninstall the driver when necessary.

pcimodules should do the high-level management for downloading and
installing a driver. It contacts the server to find out where the driver
is, downloads the "resource" and then passes control to a specific
"resource agent" which can install/uninstall this kind of resource.
Resource agents are placed in /etc/hotplug/driver and they accept:
ACTION={install,uninstall}
RESOURCE=/filename/of/resource.extension
TYPE={tarball,tarball_gnu,...}
That also suggests adding a new "driver.agent" to be called by
/sbin/hotplug .

If no one is willing to work on this, I'll try to set up some
client-side scripts on my localhost.





_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (15 preceding siblings ...)
  2001-10-18  0:19 ` Stamatis Mitrofanis
@ 2001-10-18  0:47 ` Tim Jansen
  2001-10-18  2:17 ` Keith Owens
                   ` (8 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Tim Jansen @ 2001-10-18  0:47 UTC (permalink / raw)
  To: linux-hotplug

On Thursday 18 October 2001 01:32, you wrote:
> But how do you resolve all of the previous points I raised about
> compilers, .config files, in kernel apis, and security with regards to
> "automatic downloads"?

- compilers

By requiring the user to have a certain gcc (make, ld..) version installed, 
possibly called kgcc or installed independently of the regular compiler. Its 
path must be be specified in a configuration file.

- .config files

The source, or at least the headers, and the .config files of the installed 
kernel must be available. The location could be specified in the 
configuration file as well. The only real problem are .config files that lack 
options that are needed by a driver (in other words the installed kernel does 
not have all features needed by the driver).

- kernel apis

Like with today's patches, even though it would be nice if source 
compatibility in the stable kernel series could be guaranteed.

- security

The security is not much different than with Debian's apt, Redhat Network or 
Suse's YOU. Either you get the driver from a trusted source, or the user has 
to be asked before the system downloads from a new/untrusted source.  To 
allow a download from new/untrusted sources you need to know the root 
password, of course (or maybe be in a special group)

bye...

_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (16 preceding siblings ...)
  2001-10-18  0:47 ` Tim Jansen
@ 2001-10-18  2:17 ` Keith Owens
  2001-10-18  2:35 ` Dmitri
                   ` (7 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Keith Owens @ 2001-10-18  2:17 UTC (permalink / raw)
  To: linux-hotplug

On Wed, 17 Oct 2001 17:07:32 -0700, 
Dmitri <dmitri@users.sourceforge.net> wrote:
>Of course, distributions can make the gcc (suitable for kernel
>compilations) a required (base) package.

That will be a requirement for any users who want to compile their own
or add modules onto existing kernels.

>> .config files,
>
>I think they are available in "kernel-devel" package or something
>like that. They easily can be shipped as part of the kernel RPM.
>The kernel-devel package is already available in RH, for example.

kbuild 2.5 introduces a standard method of installing .config and
System.map at the same time that the kernel and modules are installed.
The files do not have to be installed, but if they are, the default
location is /lib/modules/$(KERNELRELEASE)/{.config,System.map}.  Can
you tell that I have got fed up of distributions putting .config and
System.map in strange places?

>Of course, the kernel itself can contain a copy of its own .config
>file and export it through /proc fs, along with all compiler options,
>that would be neat :-) and only requires an optional module.

Proposed many times, refused by Linus each time.  It is kernel bloat
for a user space problem that can be solved in user space.  See kbuild 2.5.

>Linus already signs his kernel releases.

No he does not.  The signatures on files obtained from ftp.kernel.org
and mirrors are automatically generated by a script on kernel.org as
files are uploaded.  The signature is by ftpadmin, not the person who
put the file there.  It says nothing about who uploaded the file, it
only proves that the file came from kernel.org and has not been
tampered with since upload.


_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (17 preceding siblings ...)
  2001-10-18  2:17 ` Keith Owens
@ 2001-10-18  2:35 ` Dmitri
  2001-10-29 21:53 ` Greg KH
                   ` (6 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Dmitri @ 2001-10-18  2:35 UTC (permalink / raw)
  To: linux-hotplug

[-- Attachment #1: Type: text/plain, Size: 1069 bytes --]

Quoting Keith Owens <kaos@ocs.com.au>:

> >Linus already signs his kernel releases.
> 
> No he does not.  The signatures on files obtained from ftp.kernel.org
> and mirrors are automatically generated by a script on kernel.org as
> files are uploaded.  The signature is by ftpadmin, not the person who
> put the file there.  It says nothing about who uploaded the file, it
> only proves that the file came from kernel.org and has not been
> tampered with since upload.

The idea is the same: the owner of the secret key signs the package.
That owner can be a human or a machine. You have to trust the owner.
Of course, automated signing is less secure and I don't think it
can be used in this project.

In fact, what the ftp server can do is to verify the signature of the
package after the developer uploads it. Only properly signed files,
from known developers, are permitted to stay on the distribution
site. Just another little bit of security...

Dmitri

-- 
panic("esp: Aiee penguin on the SCSI-bus.");
  (from linux/drivers/scsi/esp.c)

[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (18 preceding siblings ...)
  2001-10-18  2:35 ` Dmitri
@ 2001-10-29 21:53 ` Greg KH
  2001-10-30  8:26 ` Tim Jansen
                   ` (5 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Greg KH @ 2001-10-29 21:53 UTC (permalink / raw)
  To: linux-hotplug

On Thu, Oct 18, 2001 at 01:19:47AM +0100, Stamatis Mitrofanis wrote:
> I agree that a C compiler is a nice thing to have, but no one must be 
> forced to have it (say, end users). If it becomes a "base package", 
> every computer must have it installed and then people will start using 
> it when it's not necessary (huge mess). The best thing to do here is to 
> install the right version of gcc on demand (just as we do for drivers).

And what version of gcc would you install?  Different versions for
different vendor kernels and even releases  :)

> Standardize _both_ as the "current kernel configuration" 
> (/usr/src/linux/.config _and_ a proc fs entry) so that driver sources 
> can freely use it. I'd go for the first one though, here's the rationale:
> Since we are going to allow third-party kernel drivers to be compiled 
> for a kernel, we may as well grant them the right to do everything that 
> a "normally" (in-kernel) distributed driver can do. A driver may depend 
> on other drivers to compile/work and they will need to be downloaded, 
> configured and installed as well. A driver must be allowed to set (its 
> own, of course) entries in the kernel configuration file , modifying it 
> for other third-party drivers to read. Thus it's better to use 
> /usr/src/linux/.config .

The /proc .config argument has been answered by Linus.  So you can't
guarantee that it will be available unless you apply a third party patch
to your kernel.

But I don't keep my kernels in /usr/src/linux, and neither do most
people.  And vendor kernels include a number of different .config files,
all of them placed in a different file within the .src.rpm.  Work with
the LSB if you want to push for this kind of standardization.

> 
> >>in kernel apis,
> >>
> >That's not something new. APIs change all the time, everywhere, not
> >only in OSes. Programmers just need to use #if ... #endif and maybe
> >the driver should be marked as "suitable" or "tested" on some range
> >of kernel releases.
> >
> Couldn't the kernel's configuration file be useful in solving this 
> problem? API authors could use it to describe the changes they made in 
> the API.

No, the .config file is used to describe the options that the user wants
built for the kernel.  It is not a language that can express API
changes.

How would you describe the fact that between kernels x and y, the struct
usb_serial_device changed the field "lock" from being a "struct
spinlock_t" to being a "struct semaphore"?  Changes that that _have_ to
have code changes to the driver made.  That's the main problem that you
are going to run into here.

> This script can very well be a hotplug agent supporting four ACTIONs. I 
> posted a message about this a few days ago, but since I didn't put any 
> Subject line no one must have read it. Here it is again:

Remember /sbin/hotplug runs as root.  You do _not_ want to be doing any
of these actions as root :)

Good luck,

greg k-h

_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (19 preceding siblings ...)
  2001-10-29 21:53 ` Greg KH
@ 2001-10-30  8:26 ` Tim Jansen
  2001-10-30 17:21 ` Greg KH
                   ` (4 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Tim Jansen @ 2001-10-30  8:26 UTC (permalink / raw)
  To: linux-hotplug

On Monday 29 October 2001 22:53, you wrote:
> But I don't keep my kernels in /usr/src/linux, and neither do most
> people.  And vendor kernels include a number of different .config files,
> all of them placed in a different file within the .src.rpm.  Work with
> the LSB if you want to push for this kind of standardization.

You don't have to use /usr/src/linux, the system would need its own kernel 
tree at different location (installed by the distribution or copied by a make 
target similar to modules_install when you compile the kernel yourself). You 
shouldn't even access it yourself.

For each kernel release there must be a gcc version defined, and the 
compilation system must have this gcc available. This could mean that you 
have 10 gccs (if you have 10 different kernels installed). These gcc's should 
not be in the usual PATH directories (/usr/bin..) but in a private directory.


> How would you describe the fact that between kernels x and y, the struct
> usb_serial_device changed the field "lock" from being a "struct
> spinlock_t" to being a "struct semaphore"?  Changes that that _have_ to
> have code changes to the driver made.  That's the main problem that you
> are going to run into here.

IMHO it is neccessary that stable kernels keep source compatibility.


> Remember /sbin/hotplug runs as root.  You do _not_ want to be doing any
> of these actions as root :)

But it shouldn't be a problem to su to a special user for compiling.

bye...

_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (20 preceding siblings ...)
  2001-10-30  8:26 ` Tim Jansen
@ 2001-10-30 17:21 ` Greg KH
  2001-10-30 21:24 ` Tim Jansen
                   ` (3 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Greg KH @ 2001-10-30 17:21 UTC (permalink / raw)
  To: linux-hotplug

On Tue, Oct 30, 2001 at 09:26:48AM +0100, Tim Jansen wrote:
> 
> For each kernel release there must be a gcc version defined, and the 
> compilation system must have this gcc available. This could mean that you 
> have 10 gccs (if you have 10 different kernels installed). These gcc's should 
> not be in the usual PATH directories (/usr/bin..) but in a private directory.

Where do you define this version of gcc?  Many versions of gcc can
successfully compile a kernel.

> IMHO it is neccessary that stable kernels keep source compatibility.

That is not way Linux kernel development is done, sorry.

thanks,

greg k-h

_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (21 preceding siblings ...)
  2001-10-30 17:21 ` Greg KH
@ 2001-10-30 21:24 ` Tim Jansen
  2001-10-30 21:51 ` Dmitri
                   ` (2 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Tim Jansen @ 2001-10-30 21:24 UTC (permalink / raw)
  To: linux-hotplug

On Tuesday 30 October 2001 18:21, Greg KH wrote:
> Where do you define this version of gcc?  
> Many versions of gcc can successfully compile a kernel.

The easiest way would be to include a file in the kernel that contains the 
version number of one compiler that is able to compile the kernel. This 
compiler is then used to compile the kernel.


> > IMHO it is neccessary that stable kernels keep source compatibility.
> That is not way Linux kernel development is done, sorry.

If the driver does not compile and the package containing the driver states 
that the driver has not been tested with the kernel version it can just abort 
and tell the user that the driver has not been ported the newer version yet. 
This is not worse than the current situation for both user and developer.

I wonder for how long it is possible to keep all existing drivers in the 
kernel source though. 

bye...

_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (22 preceding siblings ...)
  2001-10-30 21:24 ` Tim Jansen
@ 2001-10-30 21:51 ` Dmitri
  2001-10-31 12:36 ` Keith Owens
  2001-10-31 20:49 ` Greg KH
  25 siblings, 0 replies; 27+ messages in thread
From: Dmitri @ 2001-10-30 21:51 UTC (permalink / raw)
  To: linux-hotplug

[-- Attachment #1: Type: text/plain, Size: 764 bytes --]

Quoting Tim Jansen <tim@tjansen.de>:

> On Tuesday 30 October 2001 18:21, Greg KH wrote:
> > Where do you define this version of gcc?  
> > Many versions of gcc can successfully compile a kernel.
> 
> The easiest way would be to include a file in the kernel that contains the 
> version number of one compiler that is able to compile the kernel. This 
> compiler is then used to compile the kernel.

This will also make the system compiler-independent. You may have
the most modern gcc 3.0.1 for your own compilations, but the kernel
components will be built with tried, tested and true gcc 2.96.x
(or whatever).

Dmitri

-- 
Linux: Where Don't We Want To Go Today?
  (Submitted by Pancrazio De Mauro, paraphrasing some well-known sales talk.)

[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (23 preceding siblings ...)
  2001-10-30 21:51 ` Dmitri
@ 2001-10-31 12:36 ` Keith Owens
  2001-10-31 20:49 ` Greg KH
  25 siblings, 0 replies; 27+ messages in thread
From: Keith Owens @ 2001-10-31 12:36 UTC (permalink / raw)
  To: linux-hotplug

On Mon, 29 Oct 2001 13:53:40 -0800, 
Greg KH <greg@kroah.com> wrote:
>On Thu, Oct 18, 2001 at 01:19:47AM +0100, Stamatis Mitrofanis wrote:
>> I agree that a C compiler is a nice thing to have, but no one must be 
>> forced to have it (say, end users). If it becomes a "base package", 
>> every computer must have it installed and then people will start using 
>> it when it's not necessary (huge mess). The best thing to do here is to 
>> install the right version of gcc on demand (just as we do for drivers).
>
>And what version of gcc would you install?  Different versions for
>different vendor kernels and even releases  :)

I have decided to add CONFIG_KBUILD_GCC_VERSION to kbuild 2.5, it
records the values of gcc -b and -V used to build the kernel.  The
string is automatically generated and added to the .config, _every_
source file will implicitly depend on that config variable so changing
the compiler will force a complete recompile.

Building the kernel and modules from a mixture of compilers is not a
supported operation.

This is almost true in kbuild 2.5 already.  If you compile with 'gcc'
then recompile with 'kgcc' or switch from 'gcc' to 'gcc -V 3.0.1',
everything gets rebuilt because the compiler name and flags are part of
the saved command, any change in a command forces a recompile of the
affected objects.  Adding the CONFIG_ variable will document which
compiler was used and catches the pathological case where 'gcc' is used
but it points to different compilers on different days.

Version information for other build utilities will be added as required.

>But I don't keep my kernels in /usr/src/linux, and neither do most
>people.  And vendor kernels include a number of different .config files,
>all of them placed in a different file within the .src.rpm.  Work with
>the LSB if you want to push for this kind of standardization.

Or the kbuild maintainer ;).  LSB does not document down to this level
of detail so I am standardizing where .config and other files go in
2.5.  /lib/modules/`uname -r`/{.config,System.map,trees}.  kbuild 2.5
is not restricted to a single source tree so the single build symlink
is useless in 2.5, instead the 'trees' file defines the source tree(s)
and the object tree.


_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Automatic download and installation of drivers.
  2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
                   ` (24 preceding siblings ...)
  2001-10-31 12:36 ` Keith Owens
@ 2001-10-31 20:49 ` Greg KH
  25 siblings, 0 replies; 27+ messages in thread
From: Greg KH @ 2001-10-31 20:49 UTC (permalink / raw)
  To: linux-hotplug

On Wed, Oct 31, 2001 at 11:36:05PM +1100, Keith Owens wrote:
> 
> Or the kbuild maintainer ;).  LSB does not document down to this level
> of detail so I am standardizing where .config and other files go in
> 2.5.  /lib/modules/`uname -r`/{.config,System.map,trees}.  kbuild 2.5
> is not restricted to a single source tree so the single build symlink
> is useless in 2.5, instead the 'trees' file defines the source tree(s)
> and the object tree.

Very nice.  I am sure lots of people will appreciate this and the gcc
config item.  Thanks for adding them.

greg k-h

_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2001-10-31 20:49 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-10-16  0:02 Automatic download and installation of drivers Stamatis Mitrofanis
2001-10-16  5:29 ` Greg KH
2001-10-16  7:35 ` David Brownell
2001-10-16  7:58 ` Tim Jansen
2001-10-16 11:38 ` Keith Owens
2001-10-16 16:52 ` Greg KH
2001-10-16 18:44 ` Tim Jansen
2001-10-16 18:58 ` Tim Jansen
2001-10-16 19:19 ` Greg KH
2001-10-17  2:01 ` David Brownell
2001-10-17  2:03 ` David Brownell
2001-10-17 18:47 ` Tim Jansen
2001-10-17 19:24 ` David Brownell
2001-10-17 23:31 ` Tim Jansen
2001-10-17 23:32 ` Greg KH
2001-10-18  0:07 ` Dmitri
2001-10-18  0:19 ` Stamatis Mitrofanis
2001-10-18  0:47 ` Tim Jansen
2001-10-18  2:17 ` Keith Owens
2001-10-18  2:35 ` Dmitri
2001-10-29 21:53 ` Greg KH
2001-10-30  8:26 ` Tim Jansen
2001-10-30 17:21 ` Greg KH
2001-10-30 21:24 ` Tim Jansen
2001-10-30 21:51 ` Dmitri
2001-10-31 12:36 ` Keith Owens
2001-10-31 20:49 ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).