From owner-freebsd-current Fri Dec 4 22:53:20 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id WAA13418 for freebsd-current-outgoing; Fri, 4 Dec 1998 22:53:20 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from zippy.cdrom.com (zippy.cdrom.com [204.216.27.228]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id WAA13413 for ; Fri, 4 Dec 1998 22:53:19 -0800 (PST) (envelope-from jkh@zippy.cdrom.com) Received: from zippy.cdrom.com (jkh@localhost.cdrom.com [127.0.0.1]) by zippy.cdrom.com (8.9.1/8.9.1) with ESMTP id WAA03444; Fri, 4 Dec 1998 22:54:27 -0800 (PST) To: Bill Paul cc: mike@smith.net.au, wilko@yedi.iaf.nl, current@FreeBSD.ORG Subject: Re: New drivers and install floppy space In-reply-to: Your message of "Sat, 05 Dec 1998 01:07:04 EST." <199812050607.BAA13658@skynet.ctr.columbia.edu> Date: Fri, 04 Dec 1998 22:54:27 -0800 Message-ID: <3440.912840867@zippy.cdrom.com> From: "Jordan K. Hubbard" Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > So you boot the FreeBSD install floppy and it probes and finds all > the hardware that it knows about and brings you to the opening menu > of sysinstall (or son of sysinstall, or bride of sysinstall, or > Abott & Costello meet sysinstall, or whatever we have by then). > One of the menu options is 'Install unlisted/3rd party drivers.' > So you select this option and it prompts you to insert a floppy > diskette (or maybe some other media) with the driver KLD on it and > a description file. The installer reads this file, and from there > it learns the name of the driver and/or the devices it supports I think this is the right basic idea, but the wrong place to attack the problem. To put it succinctly, it's just not possible right now to kld in any conceivable driver you might want (most notably those requiring large contiguous DMA regions). It is possible, however, to grab them with the 3rd stage boot code and aggregate the whole mess together in such a way that it's functionally indistinguishable from the monolithic kernel image once booted. If you want to make this a menu oriented process with options to insert other media (or heck, grab things over the net) or otherwise populate memory with lots of optional components before booting the kernel, that's all quite conceivable from the forth layer. You wouldn't be able to be very fancy with your UI, but then I don't think you'd need to be: +---------------- driver configuration menu -------------+ | | | >BOOT - Boot kernel with default driver set. | | LOAD - Load 3rd party drivers for installation. | | CLI - Launch a command interpreter instance. | | QUIT - Reset the system | | | | Enter one of the options above and press [enter] | +--------------------------------------------------------+ Would pretty much do the trick, the LOAD option bringing up a submenu allowing you to choose floppy, bootp, tftp, whatever.. And it's all technology within our grasp today without having to implement fully kld'able device drivers or make DEVFS mandatory first. :) - Jordan To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message