F.6 Usando uname

O comando uname permite que você localize a versão de kernel atual do seu ambiente Linux. Entretanto, talvez seja necessário modificar os resultados do comando uname para obter as versões de kernel compatíveis.

As etapas a seguir mudam o comando uname para fornecer o valor que você precisa:

  1. Para obter a versão atual do kernel, digite:

    uname -r
    

    Anote o número da versão para que possa usá-la na Etapa 4. Esse exemplo usa a versão 2.6.13-15-smp de uma instalação SLES 9 SP2.

  2. Para criar um novo diretório, digite:

    mkdir /bin/orig
    
  3. Para mover o binário uname para o diretório /bin/orig que você acabou de criar, digite:

    mv /bin/uname /bin/orig/uname
    
  4. Use um editor do Linux (como um vi) para criar o arquivo /bin/uname que contém as seguintes linhas:

    #!/bin/sh
    #uname
    if [ $KRNLVERSION"a" = "a" ] ; then
      if [ $(/bin/orig/uname -r) = "2.6.13-15-smp" ] ; then
              export KRNLVERSION=2.6.13-15-smp
         else
              export KRNLVERSION=2.4.31
         fi
    fi
    if [ $1"a" = "-ra" ] ; then
         echo $KRNLVERSION
    else
         /bin/orig/uname $*
    fi
    

    IMPORTANTE:Substitua as strings “2.6.13-15-smp” pela versão que você achou na Etapa 1.

  5. Para tornar o novo script de comando uname executável, digite:

    chmod +x /bin/uname
    
  6. Digite o seguinte para que o comando uname -r retorne uma versão específica, por exemplo, do momento da compilação de um módulo:

    export KRNLVERSION="2.6.5-7.191"
    
  7. Seguindo as instruções do fabricante, faça a compilação do módulo usando o comando make apropriado.

  8. Redefina uname para que ele retorne valores reais:

    unset KRNLVERSION