From owner-freebsd-current Sat Dec 5 04:03:20 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id EAA04850 for freebsd-current-outgoing; Sat, 5 Dec 1998 04:03:20 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from octopus.originative.co.uk (originat.demon.co.uk [158.152.220.9]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id EAA04845 for ; Sat, 5 Dec 1998 04:03:15 -0800 (PST) (envelope-from paul@originative.co.uk) Received: by OCTOPUS with Internet Mail Service (5.5.1960.3) id ; Sat, 5 Dec 1998 12:01:00 -0000 Message-ID: From: Paul Richards To: "'Bill Paul'" , jkh@zippy.cdrom.com Cc: mike@smith.net.au, wilko@yedi.iaf.nl, current@FreeBSD.ORG Subject: RE: New drivers and install floppy space Date: Sat, 5 Dec 1998 12:00:59 -0000 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.1960.3) Content-Type: text/plain Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > -----Original Message----- > From: Bill Paul [mailto:wpaul@skynet.ctr.columbia.edu] > Sent: Saturday, December 05, 1998 6:07 AM > To: jkh@zippy.cdrom.com > Cc: mike@smith.net.au; wilko@yedi.iaf.nl; current@FreeBSD.ORG > Subject: Re: New drivers and install floppy space > ....... > Basically, you're looking for the ability to load a device driver > that can be used _during_ the install, and the ability to install > a device driver _after_ the install. For example, if the user has > an existing FreeBSD system already installed and running and he > purchases an EtherGronk 100 card later, he'll want to be able to load > the EtherGronk driver just by su'ing to root and running the driver > install utility, which will copy the KLD into place, fix things up > so that it'll be loaded at bootstrap time, and then kldload it right > away so that he can begin using the card without having to reboot > the system (unlike a certain other OS which shall remain nameless). > > The actual installation process should fix things up so that the > KLD module is reloaded if the system is rebooted. In the case of > a network card you can get away with having this done in the boot > scripts, but for something like a SCSI controller driver, I suppose > you would have to preload it from the boot loader so that the kernel > can use it to mount the rootfs. If this is just a matter of fixing > up some forth commands in a file that the boot loader reads, then > hey: that's just what the doctor ordered (although I don't know a > damn thing about forth). > I'm not exactly fond of this whole thing because it has far too > many similarities with Solaris and AIX, but I'm willing to overlook > this because the KLD system gives you the option of having either > a dynamically modular kernel _or_ a single monolithic kernel image. > Given the best of both worlds, I can't really complain. > > One of the biggest problems with this idea right now is that the > PCI support code isn't set up to 'remember' devices that it's already > probed, so if you force a reprobe it attempts to attach drivers for > all PCI devices in the system, including those that already have > drivers attached. (The other day on a whim I cooked up an LKM that > called pci_configure() just to see what it would do. Boy what a mess.) > Hmm, see the other thread of Mike's that I replied to regarding using a table for allocating drivers to hardware. Seems to me that these issues are closely related and both cry out for the same type of device driver solution. Paul Richards Ph.D. Originative Solutions Ltd To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message