J'ai un logiciel tiers. À l'heure actuelle, chaque fois que je redémarre mon système, je suis obligé d'utiliser insmod
manuellement via Shell pour charger les modules.
J'ai lu un peu dans le buntu Wiki - DKMS et j'ai trouvé ça. Donc, je suppose que cela [~ # ~] dkms [~ # ~] est à la pointe de la technologie en ce moment. Juste en tant que sidenote, j'ai également trouvé cette question ici: https://stackoverflow.com/questions/4356224/how-to-load-a-custom-module-at-the-boot-time-in- ubunt - Mais il semble que ce ne soit plus à jour.
Donc, ma routine quotidienne est la suivante:
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
J'ai reçu les commentaires de l'équipe de support de ce module tiers, que cela doit être fait à chaque redémarrage. Mais ce n'est pas une option. Je veux qu'il démarre automatiquement.
Si je ne me trompe pas, les pièces make
ne sont nécessaires qu'une seule fois, non? Je n'ai pas besoin d'utiliser make
à chaque redémarrage. Mais la partie insmod
- doit être exécutée à nouveau, non?
Je viens d'installer dkms, mais maintenant je ne sais pas comment ajouter ces commandes insmod à un démarrage automatique.
Pour permettre à quiconque d'insérer des modules "automatiquement", procédez comme suit:
#!/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
/usr/local/bin/DasSaffe_insmod.sh
Exécutez la commande suivante:
chmod +x /usr/local/bin/DasSaffe_insmod.sh
Maintenant, nous devons autoriser tous les utilisateurs de cette machine à charger ces modules, nous allons donc adapter le fichier sodoers
:
Sudo visudo
Recherchez maintenant la section ### Alias section ###
puis le # Cmnd alias specification
.
Ajoutez les lignes suivantes:
# Fabby: 2015-08-14 Create special operator for insmod
InsMod_alias INSMOD_OPERATOR=/sbin/insmod, /usr/local/bin/DasSaffe_insmod.sh
Recherchez maintenant la section:
# Allow members of group Sudo to execute any command
%Sudo ALL=(ALL:ALL) ALL
et ajoutez ci-dessous:
# Fabby: 2015-08-14 Allow the group "im-operator" to use certain applications
%im-operator ALL=CMD_OPERATOR
Ajoutez le groupe im-operator
et votre utilisateur par:
Sudo groupadd im-operator&&Sudo adduser $USER im-operator
Accédez au tableau de bord et saisissez startup app
et cliquez sur l'unique icône.
Command
, tapez: DasSaffe_insmod.sh
et ce que vous voulez dans les champs Name
et Comment
qui vous rappelleront ce que c'est.Attention: Je ne peux pas tester ci-dessus, vous êtes donc mon cobaye. Veuillez laisser un commentaire, que cela fonctionne ou non.
Si cela fonctionne, c'est aussi simple que:
Sudo adduser zsUserName im-operator
où szUserName
est le nom de l'utilisateur pour lui permettre d'insérer des modules à partir de ce point dans le temps.