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 <grin>, 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_at_freebsd.org mailing list :http://lists.freebsd.org/mailman/listinfo/freebsd-current :To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" : -- Andrew R. Reiter arr_at_watson.org arr_at_FreeBSD.orgReceived on Thu Apr 17 2003 - 12:28:12 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:03 UTC