Comment passer d'une valeur à une builtin module du noyau Linux au démarrage?
Je veux passer d'un des paramètres personnalisés pour le noyau au moment du démarrage,
qui mon nouveau code à utiliser. Ce paramètre est un nombre.
Je sais comment passer de la valeur de module de noyau à l'aide de ligne de commande du noyau je.e module_param()
. Maintenant je veux passer de la valeur de u-boot.
Est-il un moyen de le faire, que ce soit pendant ou après le démarrage?
Bienvenue DONC! Il est toujours utile de laisser un peu de code de sorte que le potentiel des affiches obtenir un certain contexte.
OriginalL'auteur vm18553 | 2013-07-15
Vous devez vous connecter pour publier un commentaire.
Modifier votre dossier de la commission présents dans include/config/board_xxx.h de U-Boot, modifier $bootargs similaire à la dernière variable qui est définie dans cet exemple:
contrôle est le nom de la intégré dans un module de pilote de je ne insmod car j'en ai besoin pour démarrer pleinement à l'invite de Linux.
cmd1 est la variable que j'ai définies dans le module dans lequel j'ai utilisé:
donc, votre $bootargs var doit simplement être ajouté avec quelque chose comme:
<your_mod_name>.<your_mod_parameter_var_name>=<an_appropriate_value>
OriginalL'auteur Prashant Chikhalkar
Si vous savez comment passer d'une valeur à un module du noyau, vous en savez assez 🙂
insmod my_module param=value
Si votre module est intégré dans le noyau, vous pouvez ajouter votre paramètre les paramètres du noyau
vmlinux ... my_module.param=value ...
Ici une référence: kernel-parameters.txt
Ci-dessus est la solution pour l'architecture x86. Je suis en train de travailler sur le BRAS de l'architecture et de l'aide de U-boot comme un chargeur de démarrage. Comment puis-je le faire à partir de uboot.
C'est la solution également pour toute autre architecture, avec un autre chargeur de démarrage. Dans uboot, vous avez la bootargs de l'environnement.
OriginalL'auteur Federico
Source de Linux documentation
Je préfère partir de la hourse la bouche de v4.12/Documentation/admin/guide de noyau de paramètres.tvd:
Moyen facile d'essayer
sur la ligne de commande:
et lorsque le noyau démarre, vous voyez:
qui est imprimé à partir de la
init
dedummy-irq.c
.Chemin de Code
Je n'ai pas réussi à suivre le code complet de chemin, mais je pense que le
.
est codée à https://github.com/torvalds/linux/blob/v4.12/include/linux/moduleparam.h#L13:qui obtient élargi dans le
module_param
macro chute d'eau, une étape qui contient un commentaire par Linus qui indique clairement que le code est:QEMU GDB
watch
backtrace, qui finit par la valeur dedummy-irq.c:irq
est:OriginalL'auteur Ciro Santilli 新疆改造中心 六四事件 法轮功