修改時需要修改的文件,我得到很多文章,但他們似乎是舊版本,它也似乎是一個微不足道的過程。當我尋找添加系統調用時,我添加系統調用linux-2.6.31
但問題是,該文章建議的目錄不適用於版本2.6.31。有誰知道在哪裏unistd.h
,syscall_table.S
和syscalls.h
或其相應的文件是?
在此先感謝。
修改時需要修改的文件,我得到很多文章,但他們似乎是舊版本,它也似乎是一個微不足道的過程。當我尋找添加系統調用時,我添加系統調用linux-2.6.31
但問題是,該文章建議的目錄不適用於版本2.6.31。有誰知道在哪裏unistd.h
,syscall_table.S
和syscalls.h
或其相應的文件是?
在此先感謝。
爲unistd.h : $SOURCE_PATH/arch/x86/include/asm/unistd_32.h
爲syscalls.h : $SOURCE_PATH/arch/x86/include/asm/syscalls.h
爲syscall_table_32.h : $SOURCE_PATH/arch/x86/kernel/syscall_table_32.h
很顯然,我的x86機器上。
在大多數Linux系統,例如頭文件下可以找到:
/usr/src目錄/內核/ $ KERNEL-VERSION /在include/linux/
你需要有你的內核儘管安裝了能夠完成任何內核開發的源代碼,但如果這正是要做的事情,因爲unistd.h
也是標準gcc庫的一部分。
現在,我下載了2.6.31的源代碼並將其解壓。我想添加一個系統調用這個源,然後構建並安裝它。你說的是,這是不可能的?否則,在這個源文件中,這些文件在哪裏,我在那裏找到了unistd.h和syscalls.h。那些是要修改的嗎? – besamelsosu 2010-04-18 06:34:54
如果您將源代碼下載爲發行版軟件包,請進行修改並重新構建軟件包,那麼您會做得更好。從香草來源構建和安裝定製內核並不總是一個好主意,特別是如果您不熟悉底層分發。我曾經作爲內核開發者工作過,所以我應該知道:-) – 2010-04-18 07:08:14