sky__sea 发表于 2016-03-17 14:52

centos的内核编程

我在centos编译我的内核模块,在suse上都是好的,但是到centos上编译就报错,__NR_open’未声明,这是怎么回事啊?

Godbach 发表于 2016-03-17 16:58

回复 1# sky__sea

centos 编译的内核,在 suse 上是好的。什么意思。你 centos 编译的内核,在 suse 上安装了?


   

sky__sea 发表于 2016-03-18 10:29

不是,就是suse上的内核代码编译没有问题,但是放到centos上就报错,后来看了一下是需要加一个宏定义,__ARCH_WANT_SYSCALL_NO_AT,但是不知道会不会有影响,现在的问题是可以运行了,但是系统调用的拦截没有起到人任何作用,我加了日志也没有打印,真是郁闷,举步维艰,一步一个问题,:cry:

Godbach 发表于 2016-03-18 12:55

回复 3# sky__sea

centos 上你也是直接编译源码吧。内核配置文件是手动设置的吧

   

sky__sea 发表于 2016-03-18 14:33

可能我没说清楚,我不是编译内核源码,是编译我自己的内核模块,内核源码的安装我是下载了src.rpm包来安装的,然后我就编译我自己的内核模块,上面所说的问题是我在编译和运行我自己的内核模块的时候碰到的,内核配置我没有做什么改动。

Godbach 发表于 2016-03-18 16:00

回复 5# sky__sea

那这个属于不同发行版的问题了。谁知道各个发行版都改了些什么。

你要不试试自己编译内核,然后跑自己的 km


   

sky__sea 发表于 2016-03-18 16:48

什么意思,把他的内核代码我自己重新编译一下?那和直接安装有什么区别?其实我一开始也用rpmbuild重新编译,但是一直报缺少这个,缺少那个,按照提示下载下来那几个需要的包,结果编译安装的时候又提示需要其他包,结果就是陷入无底洞了,搞一个缺少另一个,没办法搞了。

sky__sea 发表于 2016-03-18 16:51

系统日志有这些信息,看的我都晕菜了。

Mar 18 12:18:40 centos6 kernel: BUG: scheduling while atomic: swapper/0/0x10000100
Mar 18 12:18:40 centos6 kernel: Modules linked in: test(U) ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat xt_CHECKSUM iptable_mangle bridge autofs4 sunrpc 8021q garp stp llc ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 vhost_net macvtap macvlan tun uinput microcode virtio_net virtio_balloon i2c_piix4 i2c_core ext4 mbcache jbd2 virtio_blk virtio_pci virtio_ring virtio pata_acpi ata_generic ata_piix dm_mirror dm_region_hash dm_log dm_mod
Mar 18 12:18:40 centos6 kernel: CPU 1
Mar 18 12:18:40 centos6 kernel: Modules linked in: test(U) ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat xt_CHECKSUM iptable_mangle bridge autofs4 sunrpc 8021q garp stp llc ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 vhost_net macvtap macvlan tun uinput microcode virtio_net virtio_balloon i2c_piix4 i2c_core ext4 mbcache jbd2 virtio_blk virtio_pci virtio_ring virtio pata_acpi ata_generic ata_piix dm_mirror dm_region_hash dm_log dm_mod
Mar 18 12:18:40 centos6 kernel:
Mar 18 12:18:40 centos6 kernel: Pid: 0, comm: swapper Not tainted 2.6.32-358.el6.x86_64 #1 Fedora Project OpenStack Nova
Mar 18 12:18:40 centos6 kernel: RIP: 0010:[<ffffffff8103b90b>][<ffffffff8103b90b>] native_safe_halt+0xb/0x10
Mar 18 12:18:40 centos6 kernel: RSP: 0018:ffff88013e7e3ed8EFLAGS: 00000246
Mar 18 12:18:40 centos6 kernel: RAX: 0000000000000000 RBX: ffff88013e7e3ed8 RCX: 0000000000000000
Mar 18 12:18:40 centos6 kernel: RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffffffff81de1228
Mar 18 12:18:40 centos6 kernel: RBP: ffffffff8100bb8e R08: 0000000000000000 R09: 0000000000000000
Mar 18 12:18:40 centos6 kernel: R10: 00003d39edeaefa8 R11: 0000000000000000 R12: ffff8800283115e8
Mar 18 12:18:40 centos6 kernel: R13: ffff88013e7e3e98 R14: 0000000000000292 R15: 000000012830e0e0
Mar 18 12:18:40 centos6 kernel: FS:0000000000000000(0000) GS:ffff880028300000(0000) knlGS:0000000000000000
Mar 18 12:18:40 centos6 kernel: CS:0010 DS: 0018 ES: 0018 CR0: 000000008005003b
Mar 18 12:18:40 centos6 kernel: CR2: 00007f8e7628c000 CR3: 000000013abf7000 CR4: 00000000001406e0
Mar 18 12:18:40 centos6 kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Mar 18 12:18:40 centos6 kernel: DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Mar 18 12:18:40 centos6 kernel: Process swapper (pid: 0, threadinfo ffff88013e7e2000, task ffff88013e7e1540)
Mar 18 12:18:40 centos6 kernel: Stack:
Mar 18 12:18:40 centos6 kernel: ffff88013e7e3ef8 ffffffff8101495d ffff88013e7e3fd8 ffffffff81c07520
Mar 18 12:18:40 centos6 kernel: <d> ffff88013e7e3f28 ffffffff81009fc6 ffff88013e7e3f18 ecf816b9ac52d695
Mar 18 12:18:40 centos6 kernel: <d> 0000000000000000 0000000000000000 ffff88013e7e3f48 ffffffff81506b1c
Mar 18 12:18:40 centos6 kernel: Call Trace:
Mar 18 12:18:40 centos6 kernel: [<ffffffff8101495d>] ? default_idle+0x4d/0xb0
Mar 18 12:18:40 centos6 kernel: [<ffffffff81009fc6>] ? cpu_idle+0xb6/0x110
Mar 18 12:18:40 centos6 kernel: [<ffffffff81506b1c>] ? start_secondary+0x2ac/0x2ef
Mar 18 12:18:40 centos6 kernel: Code: 55 48 89 e5 0f 1f 44 00 00 fa c9 c3 0f 1f 40 00 55 48 89 e5 0f 1f 44 00 00 fb c9 c3 0f 1f 40 00 55 48 89 e5 0f 1f 44 00 00 fb f4 <c9> c3 0f 1f 00 55 48 89 e5 0f 1f 44 00 00 f4 c9 c3 0f 1f 40 00
Mar 18 12:18:40 centos6 kernel: Call Trace:
Mar 18 12:18:40 centos6 kernel: [<ffffffff8101495d>] ? default_idle+0x4d/0xb0
Mar 18 12:18:40 centos6 kernel: [<ffffffff81009fc6>] ? cpu_idle+0xb6/0x110
Mar 18 12:18:40 centos6 kernel: [<ffffffff81506b1c>] ? start_secondary+0x2ac/0x2ef
Mar 18 14:45:29 centos6 kernel: BUG: scheduling while atomic: swapper/0/0x10000100

mordorwww 发表于 2016-03-23 08:43

BUG: scheduling while atomic

你这是在中断里schedule了?

流氓无产者 发表于 2016-03-23 21:38

同意6楼,不同发行版本配置不一样,kernel也不一样,搞起来搞死人
这个就是完全自由的代价:mrgreen:
页: [1] 2
查看完整版本: centos的内核编程