If you just want to try out your new local version of libc.so, you may
be able to do this with a lofs mount. If the mount refuses to succeed
("is busy ..." message), then -O (overlay-) mount it.

In my experiments with Xorg last year I was able to completely mount
snv_60's /usr/lib over the booted live snv_41's /usr/lib. Therefore I
additionally needed the higher versioned libc which resides in /lib,
rather than /usr/lib. It works with lofs. The problems should not
start unless / before you try to unmount the /usr/lib and /lib/libc.so
mount. Simply a reboot is recommended to cleanly undo the changes.
Otherwise you would also get stuck in a chain of SIGBUS errors.
For things like that (changes to a live system's core libs or bins) I
always use lofs, also if you try out another system shell for example,
and when your test scripts require that it resides in its default
location (such as /sbin/sh, for example). Or if you like to quickly
give a freshly built Xorg ddx driver module a try, even while the Xorg
is currently running. Afterwards you would simply Ctrl+Alt*Backspace -
kill Xorg, and as early as when the login manager (in your case most
probably dtlogin or gdm) re-starts X11, it loads the new ddx module
already. After you unmount the lofs mount (such as after the next
reboot) all changes are away. Nothing offers you quicker and cleaner
testing possibilities, than /usr/lib/fs/lofs/mount . And you never
need to remember (or write down) which actual version you were last
copying-over and which one you are currently using. Just rename the
new versions to fooNN, mount them over, and afterwards the mount or df
commands will reliably (*) show you what you are using.
(*) The same is possible if you need to try a new version of the /etc
directory, but the reliability goes away, as the mnttab mount data
structure would get corrupted or discarded. In case of /etc tests you
should write down what else you are mounting for the current session.

%martin



On Sat, Dec 6, 2008 at 8:34 PM, Joerg Schilling
<[EMAIL PROTECTED]> wrote:
> "C. Bergström" <[EMAIL PROTECTED]> wrote:
>
>>
>> How do I replace the system libc?
>>
>> After I build it.. doing
>>
>> # Note.. cp libc and all other tools are 64bit..
>>
>> cp ./libs.so.1 /lib/amd64
>
> You should be able to do this with Sun cpio (depending on the
> undocumented behavior of Sun cpio) and with star if you use
> the star option -install
>
> In theory, install(1) should also work.
>
> If you copy data into the original file, all programs that use libc
> may dump core.
>
> Jörg
>
> --
>  EMail:[EMAIL PROTECTED] (home) Jörg Schilling D-13353 Berlin
>       [EMAIL PROTECTED]                (uni)
>       [EMAIL PROTECTED]     (work) Blog: http://schily.blogspot.com/
>  URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily
> _______________________________________________
> opensolaris-discuss mailing list
> [email protected]
>
_______________________________________________
opensolaris-discuss mailing list
[email protected]

Reply via email to