Mis*_*aig 5 system-calls linux-kernel
当我转移到内核后编写此命令时。当我编译它时,它没有显示任何列表。是否还有其他命令可以打开列表?
open /arch/x86/syscalls/syscall_32.tbl
Run Code Online (Sandbox Code Playgroud)
/
从文件路径中删除第一个字符(因为它应该是相对路径)。
现在,使用工具检查该文件是否存在file
:
$ file arch/x86/syscalls/syscall_32.tbl
Run Code Online (Sandbox Code Playgroud)
如果文件存在,您可以使用cat
或less
命令打印它。例如:
$ less arch/x86/syscalls/syscall_32.tbl
Run Code Online (Sandbox Code Playgroud)
您还可以在编辑器中打开此文件,例如使用vi
命令。
该文件附带 Linux 内核源代码。它是通过此提交添加到内核 3.3 中的。所以你应该使用3.3或更高版本的内核来拥有这个文件。
syscall_32.tbl
文件下载内核通过Git从kernel.org下载普通主线内核源代码(使用此处的说明):
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
$ cd linux/
Run Code Online (Sandbox Code Playgroud)
现在您应该弄清楚要使用哪个版本。这取决于您的任务(您计划如何进一步使用该内核)。如果它打算在 PC Linux 发行版上使用,我建议选择最接近您的发行版内核的版本:
$ uname -a
Run Code Online (Sandbox Code Playgroud)
您可以通过发出下一个 Git 命令来查看所有可用版本:
$ git tag
Run Code Online (Sandbox Code Playgroud)
现在您可以切换到您选择的版本(在上面命令的输出中)。例如你可以切换到v3.3
这样:
$ git checkout v3.3
Run Code Online (Sandbox Code Playgroud)
切换到3.3或更高版本,您的内核源代码将包含arch/x86/syscalls/syscall_32.tbl
以下文件:
$ less arch/x86/syscalls/syscall_32.tbl
Run Code Online (Sandbox Code Playgroud)