在 Minix 中添加新的系统调用

Adding new System Call in Minix

我正在尝试在 Minix 3.3 中创建一个新的系统调用。起初我只想创建简单的 printmsg() 调用,它将在屏幕上写入 "Hello World"。
我在互联网上查看了各种教程,但仍然找不到解决方案。

当我在用户程序中测试我的系统调用时 _syscall(PM_PROC_NR, PM_PRINTMSG, &m); 我没有收到任何错误,但没有显示 printf。

那么,是否可以从系统调用中打印消息,因为我必须在 misc.c 中添加自己的 <stdio.h> 或我错过了一些步骤。我忘了提到我进入 /usr/src/releasetools 并分别键入 make servicesmake install 来重新编译内核。

我知道问题出在哪里了,所以如果以后有人需要这个,我会post回答。我在这个例子中做得很好,但我未能编译内核。
位置是正确的 usr/src/releasetools,但需要的命令是 make hdboot。我还发现我的 PC 在某种程度上不能很好地与这个虚拟机一起工作,即使我没有改变任何东西,我在编译时也有很多错误。当我切换到笔记本电脑时一切正常。
我的结论是有时你的机器上有问题所以你应该尝试在不同的机器上测试问题

在我看来,随着 MINIX 3 及其系列的不断发展,明智的做法是直接从 minix3.org 网站 here

直接遵循开发者指南

虽然您自己设法解决了问题,但最新版本的 MINIX3 (MINIX 3.4) 将遵循更高级和更合适的方法。

请访问 link 了解更多信息。

此致。

奥拉