freebsd-update 6.2-R -> 6.3-B1 rollback failed
Jan Henrik Sylvester
me at janh.de
Wed Nov 14 12:39:42 PST 2007
I tried to rollback the freebsd-update 6.2-R -> 6.3-B1.
(The reason was to freebsd-update to 6.3-B2 with the possibility of
doing a rollback to 6.2-R.)
It printed quite a few lines of
/libexec/ld-elf.so.1: grep: Undefined symbol "__sbmaskrune"
/libexec/ld-elf.so.1: sort: Undefined symbol "__sbmaskrune"
but finished with a 'done.' Thus I did a reboot.
It rebooted into 6.3-B1 and because of the missing symbol nothing but
the stuff in /rescue works.
I guess it was my fault, because on some of my 6.2 machines I had a
patch for libexec/rtld-elf/rtld.c adding the symbol _dlsym that was
needed for linux-flashplugin-7 at some time. This was probably one of
these machines that had a GENERIC/SMP kernel but modified elf loader.
Anyhow, if that really is the cause, IMHO the update should have
complained about the incorrect file and not have the rollback fail.
(6.3-B1 was running fine.)
Now, how do I get this machine running again? I tried to replace
ld-elf.so.1 with a copy from a GENERIC 6.2-R, but this obviously cannot
work, since the kernel booting is still 6.3-B1. I guess I need the file
from that version, but I do not have another 6.3-B* here.
Could anybody send me ld-elf.so.1 from 6.3-B* via email? Or do I have it
in some temporary directory from freebsd-update?
In case I get the machine to boot again, how should I proceed? Is the
machine now a mixture of 6.2-R and 6.3-B1? Can I get it into a sane
state without recompiling the kernel? (The machine is _really_ slow.)
If my modified 6.2-R version of ld-elf.so.1 was the cause of all this,
freebsd-update should print a warning asking the user if really all of
the kernel is GENERIC/SMP or better check for it. Otherwise, this really
is a bug.
At least now I do know what /rescue is for...
More information about the freebsd-stable