Change install-order? (upgrade from static to dynamic root)

Garance A Drosihn drosih at
Wed Nov 26 18:39:23 PST 2003

I just installed 5.1-release on a sparc64, and then cvsup'ed
to the latest snapshot of -current.  Since that update is such
a large jump in time, I was going from a system which had no
/rescue or /libexec to one which builds everything dynamically.

This gets one into a mess in the middle of installworld, where
suddenly almost everything dies with messages like:
     "ELF interpreter /libexec/ not found"
I know others have run into this problem, but there seems to be
nothing in UPDATING to warn people about it.  Or at least, I
didn't see anything in /usr/src/UPDATING under sparc64.

Instead of warning people, I was wondering if there would be
any downside to having installworld always install /rescue
first (since that should not depend on anything else), and
install /libexec before installing executables.

   - - - -
I did recover from that mess by taking advantage of tips given
in previous threads on this situation.  I used the rescue
binary in to give me a few key commands, doing something like:
     cd /usr/obj/usr/src/rescue/rescue
     ./rescue mkdir /usr/tempbin
     ./rescue ln rescue /usr/tempbin/cp
     ./rescue ln rescue /usr/tempbin/cat
     ./rescue ln rescue /usr/tempbin/ldconfig
     ./rescue ln rescue /usr/tempbin/ln
     cd /usr/obj/usr/src/libexec/rtld-elf
     cp -p * /libexec
     ldconfig -m /lib
     cd /usr/obj/usr/src/usr.bin/xinstall
     cp -p xinstall /usr/bin/install

I may have missed a few steps there, but I think that got me
far enough along that I could 'make install's in /usr/src/lib
and /usr/src/libexec.  Once I was confident that I had enough
working parts installed, I went back and repeated the
'make installworld'.  Seems to have worked out OK.

Garance Alistair Drosehn            =   gad at
Senior Systems Programmer           or  gad at
Rensselaer Polytechnic Institute    or  drosih at

More information about the freebsd-current mailing list