Nous venons d'obtenir un projet à mi-parcours aujourd'hui pour mon cours sur les systèmes d'exploitation, nous sommes invités à implémenter un appel système (et je suppose que nous devrons écrire un code à appeler il). Je comprends que je vais avoir besoin de mettre à jour la table des appels système (je ne me souviens pas du nom, mais pas de biggie), ainsi que de créer un module de noyau vers lequel pointe la table, mais est-ce que cela signifie Je vais devoir recompiler tout le noyau, donc le noyau connait mon module?Création d'un appel système sous Linux
J'ai vu qu'il est possible de détourner un appel système en cours, mais je suppose que je ne recevrai pas de crédit pour mon affectation si je le fais de cette façon.
Je voulais juste avoir une idée de la taille de l'effort que je vais faire. Eh bien, ça a fini par être un problème, ils changent certaines choses de 2.6.32 je crois, alors quand je suis retourné à une version précédente du noyau spécifique aux tutoriels en ligne, j'ai trouvé, c'était vraiment facile suivre. Si quelqu'un attrape ceci en ligne et suit un tutoriel, d'abord je recommanderais de télécharger d'abord le même noyau dans le tutoriel, puis d'avancer à partir de là une fois que vous aurez compris ce que vous faites. Si vous êtes vraiment familier avec la compilation de noyaux, etc, vous n'avez peut-être pas de problème, mais c'était la première fois que je compilais un noyau, donc ça a été difficile de compiler pendant 2 heures et de découvrir que quelque chose ne fonctionnait pas. Je dois recommencer, surtout quand je ne suis pas sûr de ce que je faisais ou n'allais pas faire de mal.
Pour recompiler la partie du noyau, je vous recommande de saisir le code source et .config de votre distro au lieu de faire votre propre .config avec la source de kernel.org. Cela devrait vous causer moins de maux de tête si vous n'obtenez pas le .config juste pour votre matériel. – jonescb