From owner-freebsd-current@FreeBSD.ORG Thu Apr 17 14:28:12 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3413F37B401 for ; Thu, 17 Apr 2003 14:28:12 -0700 (PDT) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id EDAC743FBF for ; Thu, 17 Apr 2003 14:28:10 -0700 (PDT) (envelope-from arr@watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.12.9/8.12.9) with ESMTP id h3HLSMrD012360; Thu, 17 Apr 2003 17:28:22 -0400 (EDT) (envelope-from arr@watson.org) Received: from localhost (arr@localhost)h3HLSLp8012356; Thu, 17 Apr 2003 17:28:21 -0400 (EDT) (envelope-from arr@watson.org) X-Authentication-Warning: fledge.watson.org: arr owned process doing -bs Date: Thu, 17 Apr 2003 17:28:20 -0400 (EDT) From: "Andrew R. Reiter" To: Tim Kientzle In-Reply-To: <3E9F1C15.7080702@acm.org> Message-ID: <20030417172745.A90240@fledge.watson.org> References: <20030417141133.GA4155@madman.celabo.org> <20030417144449.GA4530@madman.celabo.org> <20030418014500.B94094@iclub.nsu.ru> <3E9F0A28.8030906@btc.adaptec.com> <3E9F1C15.7080702@acm.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: Scott Long cc: current@freebsd.org cc: John Polstra Subject: Re: Going Dynamic (Was: HEADS UP: new NSS) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Apr 2003 21:28:12 -0000 On Thu, 17 Apr 2003, Tim Kientzle wrote: :John Polstra wrote: :> Moving to a fully dynamically linked system sounds easier to me. :> But in the past there has been strong opposition to the idea every :> time it has been proposed. : : :So far, the best argument in favor of a :fully dynamic system has been: "Someday, :someone might need dlopen() to implement NSS, :PAM, or locales." : :I think there's a much stronger argument now: :"Someone has already implemented a new NSS that :requires dlopen()." : :As for the performance argument against dynamic :linking, Luke Mewburn observed that after :NetBSD switched to fully dynamic, suddenly :the dynamic start-up code got a lot of :attention , with wide-ranging benefits. : :Scott Long wrote: :> Right, because everyone is deathly afraid of /usr/lib not being :> available and nothing working, or ld.so getting corrupt and nothing :> working, : : :Nate Lawson and I had a discussion with Luke Mewburn :of NetBSD about this. He outlined a strategy for :dealing with exactly these issues. Two key points: : : 1) Move critical libraries from /usr/lib to /lib. : This ensures that /bin, /sbin, etc, will all : work during boot, for instance, before /usr is : mounted. To date, people who wanted to experiment : with fully dynamic had to keep /usr on the root : partition. Note that static libs don't need to : move, only a handful of dynamic libs need to : be relocated (with compatibility symlinks from : their old locations in /usr/lib, of course). : : 2) Build a separate set of statically-linked : binaries for emergency use. I've already : done this, and the patches are currently : being reviewed. They add a /rescue directory : which uses crunchgen to pack most of /bin, /sbin, : and select other pieces into a nice small package. : Gauranteed to work even if you hose ld.so. I kind of like #2. : : Note that the standard /bin and /sbin will continue : to be used during boot and normal system operation. : Since they're dynamically linked, dlopen() works : and NSS, PAM, etc, can be used. If things : go awry, then the /rescue directory will have : fully static versions of standard utils that can : be used to repair the system. The /rescue utils : won't be able to fully use NSS or PAM, of course, : but if you're booting single user to repair a hosed : /usr partition, you probably don't really need NSS. ;-) : :I have Luke's full outline for transitioning to :a dynamic system around here somewhere.... : : :> If switching to a fully dynamically linked system is desired before :> 6.0 then it needs to happen before 5.2. I'm not opposed to this. : : :As I said, I've already done a chunk of work :for this. If someone would like to help finish... : :Tim Kientzle : :_______________________________________________ :freebsd-current@freebsd.org mailing list :http://lists.freebsd.org/mailman/listinfo/freebsd-current :To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" : -- Andrew R. Reiter arr@watson.org arr@FreeBSD.org