openKylin论坛

 找回密码

写于添加系统调用之中 [复制链接]

       最近几天忙着编译内核,各种问题,各种bug,尝试着自己向内核中添加系统调用,不喜欢网上的直接把相应的系统调用写到kernel/sys.c文件下,又自找麻烦的遇到各种问题,而且,每次编译一遍modules,都要将近2个小时,唉~先在此处留个印,想交流的一起交流~

楼主
发表于 2013-6-4 21:31:19
回复

使用道具 举报

写于添加系统调用之中 [复制链接]

这么慢 是在虚拟机中?还是没开多线程?
记得在物理机上(i5的本本)4线程 大概半小时左右
沙发
发表于 2013-6-5 23:53:54
回复

使用道具 举报

写于添加系统调用之中 [复制链接]

没底的瓶子 发表于 2013-6-5 23:53
这么慢 是在虚拟机中?还是没开多线程?
记得在物理机上(i5的本本)4线程 大概半小时左右

哈哈,有两个原因:一是没开多线程,二是,编译内核怕把自己本子上的linux编崩了,用的学校发的笔记本...传说中09年1G内存的本子。。。你说能不慢吗?
板凳
 楼主| 发表于 2013-6-6 18:30:46
回复

使用道具 举报

写于添加系统调用之中 [复制链接]

所以最好是写代码的时候仔细点儿,减少编译测试的次数{:3_52:}

我每次是吃饭前启动编译,吃完饭后回来测试
地板
发表于 2013-6-6 21:23:34
回复

使用道具 举报

写于添加系统调用之中 [复制链接]

maclin 发表于 2013-6-6 21:23
所以最好是写代码的时候仔细点儿,减少编译测试的次数

我每次是吃饭前启动编译,吃完饭后回来测 ...

双手赞成!话说目前为止,只要有问题都会在make bzImage过程中就会报错,基本上这个过程就是20分钟,时间主要是耗在了生成module的过程中....
5#
 楼主| 发表于 2013-6-6 22:07:33
回复

使用道具 举报

写于添加系统调用之中 [复制链接]

maclin 发表于 2013-6-6 21:23
所以最好是写代码的时候仔细点儿,减少编译测试的次数

我每次是吃饭前启动编译,吃完饭后回来测 ...

话说版主,如果没理解错的话,3.9.4版本的内核,管理系统调用的参数NR_syscalls是变成动态生成的了吧?每次编译完内核之后会根据当前的系统调用表动态生成。之前找了这个参数好久,没有找到,2.6内核中实在unistd_32.h头文件下,这个版本好像变了,具体从哪个版本变化的,还真不知道~求解啊~
6#
 楼主| 发表于 2013-6-6 22:09:35
回复

使用道具 举报

写于添加系统调用之中 [复制链接]

编译内核不是只有第一次才会花较长时间么,后面只会对修改相关的重编,应该还好吧,你一次又不可能会改很多
7#
发表于 2013-6-7 10:18:19
回复

使用道具 举报

写于添加系统调用之中 [复制链接]

penghuan 发表于 2013-6-7 10:18
编译内核不是只有第一次才会花较长时间么,后面只会对修改相关的重编,应该还好吧,你一次又不可能会改很多

没有,你说的是指的是第一次编译时,大部分目标文件就生成了,以后编译会比较节省时间,但是这样的话存在很多未知问题的隐患,之前就遇到过,所以为了保险,每次重新编译都先执行make mrproper了....所以包括目标文件,甚至之前配置好的.config都没有了.....
8#
 楼主| 发表于 2013-6-7 10:20:35
回复

使用道具 举报

openKylin

GMT+8, 2024-4-28 13:09 , Processed in 0.031270 second(s), 17 queries , Gzip On.

Copyright ©2022 openKylin. All Rights Reserved .

ICP No. 15002470-12 Tianjin

快速回复 返回顶部 返回列表