With the arrival of Solaris 10, the instructions of
Recovering from a Runtime Linker Failure web page became obsolete. Since this problem appears to be very common, thought it would be useful to document it.
Symptom: For all commands, system responds (only) with the following error:
Cannot execute /usr/lib/ld.so.1
Due to the Solaris Process Model Unification, all
static binaries were removed from Solaris 10 distribution. One simple workaround is to pro-actively copying the essential static executables (esp.,
mv
and
cp
), from an earlier version of Solaris to Solaris 10; and using 'em when/where needed.
However even if the session is gone by accident, no need to panic. The recovery steps are very simple (assuming there is a backup
ld.so.1
on the machine, running Solaris 11):
- Turn the machine on, with the installation media in the CD/DVD drive
- Select
Solaris
in the initial GRUB screen
- Select
6. Single user shell
from the interactive menu, when you are prompted to select an installation type.
- The disk on which the OS was installed will be shown, before you get to the
single user command prompt.SunOS Release 5.11 Version snv_17 32-bit
Copyright 1983-2005 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Booting to milestone "milestone/single-user:default".
Configuring devices.
Searching for installed OS...
/dev/dsk/c1d0s0 -- Solaris 11 nv_17 X86
- Respond with a
No
to the next question: Do you wish to automatically update boot archives? [y,n,?]
- At this point, you will be at the command prompt. The next step is to mount the
root file system (/
) on some mount point say /mnt
.
# mount /dev/dsk/c1d0s0 /mnt
- Restore the original run-time linker,
ld.so.1
.eg.,
# cd /mnt/usr/lib
# cp ld.so.1.orig ld.so.1
- Unmount the root file system, eject the CD/DVD, and reboot
# cd /
# umount /mnt
# reboot
Recovery steps on earlier versions of Solaris:- Recovering from a Run-time Linker Failure I
- Recovering from a Run-time Linker Failure II
________________
Technorati tags:
Solaris |
OpenSolaris