最近几天忙着编译内核,各种问题,各种bug,尝试着自己向内核中添加系统调用,不喜欢网上的直接把相应的系统调用写到kernel/sys.c文件下,又自找麻烦的遇到各种问题,而且,每次编译一遍modules,都要将近2个小时,唉~先在此处留个印,想交流的一起交流~
这么慢 是在虚拟机中?还是没开多线程?
记得在物理机上(i5的本本)4线程 大概半小时左右
哈哈,有两个原因:一是没开多线程,二是,编译内核怕把自己本子上的linux编崩了,用的学校发的笔记本…传说中09年1G内存的本子。。。你说能不慢吗?:4_95:
所以最好是写代码的时候仔细点儿,减少编译测试的次数:3_52:
我每次是吃饭前启动编译,吃完饭后回来测试:lol
双手赞成!话说目前为止,只要有问题都会在make bzImage过程中就会报错,基本上这个过程就是20分钟,时间主要是耗在了生成module的过程中…
话说版主,如果没理解错的话,3.9.4版本的内核,管理系统调用的参数NR_syscalls是变成动态生成的了吧?每次编译完内核之后会根据当前的系统调用表动态生成。之前找了这个参数好久,没有找到,2.6内核中实在unistd_32.h头文件下,这个版本好像变了,具体从哪个版本变化的,还真不知道~求解啊~
编译内核不是只有第一次才会花较长时间么,后面只会对修改相关的重编,应该还好吧,你一次又不可能会改很多
没有,你说的是指的是第一次编译时,大部分目标文件就生成了,以后编译会比较节省时间,但是这样的话存在很多未知问题的隐患,之前就遇到过,所以为了保险,每次重新编译都先执行make mrproper了…所以包括目标文件,甚至之前配置好的.config都没有了…