insmod para autostart

1

Eu tenho um software de terceiros. Agora, toda vez que eu reinicio meu sistema, sou forçado a usar insmod manualmente via shell para carregar os módulos.

Eu li um pouco no Ubuntu Wiki - DKMS e achei isso. Então, eu acho que este DKMS é o estado da arte no momento. Apenas como um sidenote, eu também encontrei esta questão aqui: link - Mas parece que isso não está mais atualizado.

Então, minha rotina diária é esta:

cd /usr/src/gx/kernel/gxsd/
make
/sbin/insmod gxsd.ko
cd /usr/src/gx/kernel/fxmc_usb/
make
/sbin/insmod fxmc_usb.ko
cd /usr/src/gx/examples/cpp/cpd
make

Recebi o feedback da equipe de suporte desse módulo de terceiros, que precisa ser feito toda vez que eu reinicializo. Mas isso não é uma opção. Eu quero que isso seja iniciado automaticamente.

Se não me engano, as partes make são necessárias apenas uma vez, certo? Eu não tenho que usar make toda vez que eu reiniciar. Mas o insmod -part precisa ser executado novamente, certo?

Acabei de instalar o dkms, mas agora estou preso em como adicionar esses comandos insmod a um início automático.

    
por DasSaffe 13.08.2015 / 12:22

1 resposta

1

Para permitir que qualquer pessoa insira módulos "automagicamente", use as seguintes etapas:

  1. Crie o seguinte script:
    #!/bin/sh
    # Example script for loading modules
    # This script is in answer to question https://sobrelinux.info/questions/113935/insmod-to-autostart"$EUID" -ne 0 ]; then 
       read -p "You need to be a member of the im-operator group or root to be able to run this script"
       exit
    fi

    # Make statement : cd /usr/src/gx/kernel/gxsd/&&make
    # Insmod statement : /sbin/insmod gxsd.ko
    sudo /sbin/insmod /usr/src/gx/kernel/gxsd/gxsd.ko
    # Make statement : cd /usr/src/gx/kernel/fxmc_usb/&&make
    # Insmod statement : /sbin/insmod fxmc_usb.ko
    sudo /sbin/insmod fxmc_usb.ko
    # Make statement : cd /usr/src/gx/examples/cpp/cpd&&make
    # Seems superfluous, so let's skip this
  1. Salvar em /usr/local/bin/DasSaffe_insmod.sh
  2. Execute o seguinte comando:

    chmod +x /usr/local/bin/DasSaffe_insmod.sh
    
  3. Agora precisamos permitir que todos os usuários nesta máquina carreguem esses módulos, por isso vamos adaptar o arquivo sodoers :

    sudo visudo
    
  4. Agora, procure a seção ### Alias section ### e, em seguida, o # Cmnd alias specification .

  5. Adicione as seguintes linhas:

    # Fabby: 2015-08-14 Create special operator for insmod
    InsMod_alias INSMOD_OPERATOR=/sbin/insmod, /usr/local/bin/DasSaffe_insmod.sh 
    
  6. Agora, procure a seção:

    # Allow members of group sudo to execute any command
    %sudo           ALL=(ALL:ALL) ALL
    

e adicione abaixo isso:

    # Fabby: 2015-08-14 Allow the group "im-operator" to use certain applications
    %im-operator    ALL=CMD_OPERATOR
  1. Adicione o grupo im-operator e seu usuário a ele por:

    sudo groupadd im-operator&&sudo adduser $USER im-operator
    
  2. Vá para o traço e digite startup app e clique no único ícone lá.

  3. Clique em Adicionar
  4. No tipo de campo Command : DasSaffe_insmod.sh e o que você quiser no campo Name e Comment , que lembrará o que é isso.
  5. Para testar: reinicie e faça o login.

Aviso: Eu não posso testar acima, então você é minha cobaia. Por favor, deixe um comentário se isso funciona ou não.

Se funcionar, é tão fácil quanto:

sudo adduser zsUserName im-operator

onde szUserName é o nome do usuário para permitir que eles insiram módulos daquele encaminhamento point-in-time.

    
por Fabby 13.08.2015 / 22:13