LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: windrain

debian的kernel源码在那个文件下面?

[复制链接]
发表于 2006-11-17 17:58:17 | 显示全部楼层
sudo aptitude install linux-headers-$(uname -r)
回复 支持 反对

使用道具 举报

发表于 2006-11-17 19:45:55 | 显示全部楼层
你安装:
kernel-header-2.6.8-3-386
kernel-source-2.6.8-3-386

即安装内核头文件和内核源码。

它安装的位置是/usr/src
/lib/modules/`uname -r`目录下的build是指向内核头文件安装位置的符号链接,而source目录是指向内核源代码安装位置的符号链接。

我认为d00m3d兄不应该在这个版块说那些话,使用Debian系统还是要用debian的方法来解决问题。

当然,如果没有安装任何内核,而是自己编译的内核的话,那么就不会有这种问题存在了(我使用的是自己编译的内核,因为笔记本的某些功能需要对内核打补丁)。

而且,如果升级了gcc,那么在编译内核模块的时候还必须指定gcc的版本,必须保证与编译内核的时候使用的版本一致(正常情况下,只要主版本号一致就可以了),我编译内核的时候用的是gcc-3,因此,我在编译内核模块的时候就指定gcc-3.3,因为我现在系统中有gcc-3.3 gcc-4.0 gcc-4.1。

编译一般软件的时候,用gcc-4.1就可以正常通过(除非软件不能在gcc-4.1下编译)。
回复 支持 反对

使用道具 举报

发表于 2006-11-17 20:02:33 | 显示全部楼层
别误会,我是想指出一般对 kernel headers 的误解,这跟什麽版块无关,因为所有 Linux 发行版的建构都是基於 Toolchain (binutils/gcc/glibc) 的
Post by springwind426
而且,如果升级了gcc,那么在编译内核模块的时候还必须指定gcc的版本,必须保证与编译内核的时候使用的版本一致(正常情况下,只要主版本号一致就可以了),我编译内核的时候用的是gcc-3,因此,我在编译内核模块的时候就指定gcc-3.3,因为我现在系统中有gcc-3.3 gcc-4.0 gcc-4.1。

编译一般软件的时候,用gcc-4.1就可以正常通过(除非软件不能在gcc-4.1下编译)。
这个不是完全正确,最少要保持 minor release 也相同才行

gcc-3.3 跟 gcc-3.4 的 ABI 是不兼容的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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