HEADS UP: /bin and /sbin are now dynamically linked
kientzle at acm.org
Wed Nov 26 10:07:43 PST 2003
Matthew D. Fuller wrote:
> On Tue, Nov 25, 2003 at 01:41:53PM -0500 I heard the voice of
> Garance A Drosihn, and lo! it spake thus:
>>It is a bit more complicated than that, because programs may
>>include embedded references to other files. So, I think
>>some developer would *have* to do a little up-front work for
>>any program that would be optionally-added to /rescue.
> Oh, sure; nothing's ever as easy as it should be :)
> The advantage of this method is it's simple, cheap, automatic, and lets
> us say "You can try setting ADDITIONAL_RESCUE=usr.sbin/foo in make.conf
> and it may work", without putting extra burden on developers or people
> who don't wanna. It may only be a fifth of a loaf, but...
... but a /rescue that doesn't work is useless.
The one critical property of /rescue is that it MUST WORK
when /bin and /sbin are both hosed. Your technique here
cannot gaurantee this.
Testing /rescue is not a simple exercise. You must first
break both /bin and /sbin and unmount /usr. You must then
test EVERY part of /rescue, since adding or removing one
program can potentially break other programs (whose hard-coded
references to that program may need to be adjusted). There
are (fortunately) a few shortcuts (I spent a long time poring
over the output of 'strings /rescue/rescue' to check for hard-coded
references), but it's still not pretty.
More information about the freebsd-current