我试图向redhat {x:Bind ViewModel.UserName, Mode=OneWay}
内核添加4个新的系统调用。
我按照以下步骤操作:
1- linux2.4.18-14
arch/i386/kernel/entry.S
我在最后添加了以下几行:
sys_call_table
2-更新了.long SYMBOL_NAME(sys_add_TODO) /* 243 */
.long SYMBOL_NAME(sys_read_TODO) /* 244 */
.long SYMBOL_NAME(sys_mark_TODO) /* 245 */
.long SYMBOL_NAME(sys_delete_TODO) /* 245 */
:
将MakeFile
添加到sys_todo.o
3-添加obj-y
,其中包含系统调用函数的声明sys_todo.h
4-添加include/linux
,其中包含sys-call函数对文件夹sys_todo.c
的实施(当然我在源代码中包含kernel
)。
sys-call函数头的示例:
sys_todo.h
我使用以下脚本编译内核:
int sys_add_TODO(pid_t pid , char* TODO_description, ssize_t description_size);
我得到的错误是:
FLAG=$1
cd /usr/src/linux-2.4.18-14custom
make bzImage
if [ $FLAG = '-m' ] ; then
make modules
make modules_install
fi
make install
cd /boot
mkinitrd –f 2.4.18-14custom.img 2.4.18-14custom
#reboot
如何解决此问题?