> I have destroyed my ufs root slice. Here is the
> result I got from the running system, the only
> different one is the /lib/libc.so.1
> 
> file /lib/libc.so.1
> /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386
> Version 1 [SSE MMX CMOV SEP CX8 FPU], dynamically
> linked, not stripped, no debugging information
> available

Hmm, I think the problem with the above file command is
that it doesn't show the information for the lib/libc.so.1 file
in the root filesystem, but the information for the special
"hwcap" optimized libc.so variant that is loopback mounted
on top of the /lib/libc.so.1 file.

That is, if you check with "mount | grep libc.so", you'll
probably notice that some /usr/lib/libc/libc_hwcap?.so.1
file is currently mounted on top of /lib/libc.so.1

When you've booted on metal, try this:

    # mount -F lofs -o nosub / /mnt
    # file /mnt/lib/libc.so.1 
    /mnt/lib/libc.so.1:     ELF 32-bit LSB dynamic lib 80386 Version 1 [CX8 
FPU], dynamically linked, not stripped, no debugging information available


> My laptop has a dual-core intel processor.
> 
> $ psrinfo -vp
> The physical processor has 2 virtual processors (0 1)
> x86 (GenuineIntel 6F2 family 6 model 15 step 2 clock 1829 MHz)
> Intel(r) Core(tm)2 CPU         T5600  @  1.83GHz
> 
> $ isainfo -v
> 64-bit amd64 applications
> cx16 mon sse3 sse2 sse fxsr mmx cmov amd_sysc cx8 tsc fpu 
> 2-bit i386 applications
> ahf cx16 mon sse3 sse2 sse fxsr mmx cmov sep  cx8 tsc fpu

Hmm, my current theory is that under xVM, the "sep" cpuid feature
isn't available.  The zfs root procedure has copied the
/usr/lib/libc/libc_hwcap1.so.1 file (which was mounted on top of
the unoptimized /lib/libc.so.1 file on metal) as lib/libc.so.1 in the
root filesystem.  When you boot into xVM dom0, "sep" isn't available,
so a lib/libc.so.1 that requires the "SEP" cpu feature cannot be used
and the dynamic linker kills the /sbin/init process with signal 9.


If that theory is correct, you have to restore the original 
root filesystem /lib/libc.so.1 file from the installation media.
Restoring that lib/libc.so.1 file in the root filesystem probably
works best when you havn't mounted that filesystem as root
filesystem, otherwise the file in the root filesystem is hidden
by the optimized libc shared library mounted on top of it.

Booting into solaris failsafe, mounting the zfs root
filesystem under /a and fixing /a/lib/libc.so.1 should work.
 
 
This message posted from opensolaris.org
_______________________________________________
xen-discuss mailing list
[email protected]

Reply via email to