insmod для автозапуска

У меня есть стороннее программное обеспечение. Прямо сейчас каждый раз я перезагружаю свою систему, я вынужден использовать insmod вручную через оболочку для загрузки модулей.

Я читал немного в Wiki Ubuntu - DKMS и нашел это. Так, я предполагаю, что этот DKMS является состоянием прямо сейчас. Так же, как заметка на полях я также нашел этот вопрос здесь: https://stackoverflow.com/questions/4356224/how-to-load-a-custom-module-at-the-boot-time-in-ubuntu - Но кажется, что это больше не актуально.

Так, мой распорядок дня - это:

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

Я получил обратную связь от службы поддержки этого стороннего модуля, что это должно быть сделано каждый раз, я перезагружаю. Но это не опция. Я хочу запустить его автоматически.

Если я не ошибаюсь, make части только необходимы однажды, правильно? Я не должен использовать make каждый раз я перезапускаю. Но insmod- часть должна быть выполнена снова, правильно?

Я просто установил dkms, но теперь я застреваю о том, как добавить эти insmod-команды к автоматическому запуску.

1
задан 23 May 2017 в 15:39

1 ответ

Чтобы позволить любому от вставки модулей "автоволшебно", используйте следующие шаги:

  1. Создают следующий сценарий:
    #!/bin/sh
    # Example script for loading modules
    # This script is in answer to question http://askubuntu.com/questions/660901/insmod-to-autostart

    # Copyright (c) 2015 Fabby

    # This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
    # This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. See the GNU General Public License for more details.
    # You DID NOT receive a copy of the GNU General Public License along with this program as the license is bigger then this program.
    # Therefore, see http://www.gnu.org/licenses/ for more details.

    # Note:
    #   untested as I do not have these proprietary modules.

    # Version 0.1   DD 2015/08/13   converted from manual work.
    # version 0.2   DD 2015/08/14   added sudo ls /home

    # Activate sudo with bogus command so next lines will not need password
    sudo ls /home > /dev/null

    if [ "$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. Сохраняют, это в /usr/local/bin/DasSaffe_insmod.sh
  2. Выполняет следующую команду:

    chmod +x /usr/local/bin/DasSaffe_insmod.sh
    
  3. Теперь мы должны позволить всем пользователям на этой машине загружать эти модули, таким образом, мы адаптируемся sodoers файл:

    sudo visudo
    
  4. Теперь ищут раздел ### Alias section ### и затем # Cmnd alias specification.

  5. Добавляют следующие строки:

    # Fabby: 2015-08-14 Create special operator for insmod
    InsMod_alias INSMOD_OPERATOR=/sbin/insmod, /usr/local/bin/DasSaffe_insmod.sh 
    
  6. Теперь ищут раздел:

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

и добавляют ниже этого:

    # Fabby: 2015-08-14 Allow the group "im-operator" to use certain applications
    %im-operator    ALL=CMD_OPERATOR
  1. Добавляют группу im-operator и Вашего пользователя к нему:

    sudo groupadd im-operator&&sudo adduser $USER im-operator
    
  2. Переходят к тире и типу startup app и нажимают на единственный значок там.

  3. Щелчок Добавляют
  4. В Command тип поля: DasSaffe_insmod.sh и независимо от того, что Вам нравится в Name и Comment поле, которое напомнит Вам, каково это.
  5. Для тестирования: перезагрузка и просто входит в систему.

Предупреждение: я не могу протестировать выше, таким образом, Вы - мой подопытный кролик. Оставьте комментарий, работает ли это или нет.

, Если это действительно работает, это столь же легко как:

sudo adduser zsUserName im-operator

, где szUserName имя пользователя, чтобы позволить им вставлять модули от того момента времени вперед.

1
ответ дан 7 December 2019 в 16:11

Другие вопросы по тегам:

Похожие вопросы: