Change install-order? (upgrade from static to dynamic root)
Garance A Drosihn
drosih at rpi.edu
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/ld-elf.so.1 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
...etc...
PATH=/usr/tempbin
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 gilead.netel.rpi.edu
Senior Systems Programmer or gad at freebsd.org
Rensselaer Polytechnic Institute or drosih at rpi.edu
More information about the freebsd-current
mailing list