SafeChildren Banner

Havoc Oracle Solaris Experts

viernes, 28 de agosto de 2009

Cómo saber si Solaris soporta binarios de 64 bits

Para comprobar si nuestra instalación de Solaris soporta binarios de 64bits utilizaremos el siguiente comando:
# /usr/bin/isainfo -v
64-bit amd64 applications
sse3 sse2 sse fxsr mmx cmov amd_sysc cx8 tsc fpu
32-bit i386 applications
ahf sse3 sse2 sse fxsr mmx cmov sep cx8 tsc fpu
Y si fuese SPARC
$ /usr/bin/isainfo -v
64-bit sparcv9 applications
vis2 vis
32-bit sparc applications
vis2 vis v8plus div32 mul32

3 comentarios:

  1. sabes porque muestra los datos de 32 bits tambien? gracias

    ResponderEliminar
  2. Hola,

    La verdad es que muestra las "arquitecturas" soportadas para que veas que, aunque está en 64bits, soporta aplicaciones de 32bits.

    Por ejemplo, podemos tener una máquina "capáz" de ejecutar 64bits, pero, por algún motivo, tener cargado un kernel de 32bits.

    Para ver qué kernel tenemos, debemos utilizar la opción "-k", por ejemplo,

    # isainfo -kv
    64-bit sparcv9 kernel modules

    Todo esto viene de Solaris 2.6 cuando se empezó la migración de 32bits a 64bits, y, por defecto Solaris arrancaba en 32bits.

    Para "obligar" a Solaris 2.6 a bootar en 64bits había que utilizar:

    boot kernel/sparcv9/unix

    En las siguientes versiones -Solaris 7-, ya hicieron que si la máquina era capáz de ejecutar binarios en 64bits, entonces iniciase con un kernel en 64bits y no en 32bits.

    Por ejemplo, en una x86-64 tendremos los siguientes kernels

    $ file /kernel/genunix
    /kernel/genunix: ELF 32 bits LSB reubicable 80386 Versión 1
    $ file /kernel/amd64/genunix
    /kernel/amd64/genunix: ELF 64 bits LSB reubicable AMD64 Versión 1

    Uno para 32bits y otro para 64bits.

    En SPARC es "más o menos igual", el kernel está en:

    # file /platform/`uname -m`/kernel/unix
    /platform/sun4u/kernel/unix: ELF 64 bits MSB ejecutable SPARCV9 Versión 1, se requieren Extensiones UltraSPARC1, enlazado dinámicamente, no quitado, no hay información de depuración disponible


    Espero te haya aclarado "algo más" tus dudas,

    Un Saludo,
    Urko

    ResponderEliminar
  3. Por qué si mi SO Unix tiene 64-bit sparcv9 kernel modules, una operación de suma me llega hasta el número 2147483647 como si estuviera un Kernel de 32 bit

    ResponderEliminar