如何通过linux源码树制作linux kernel headers用于内核模块开发?

作者&投稿:星聪 (若有异议请与网页底部的电邮联系)
Linux中的kernel headers在哪个文件中~

没找到内核的 C header 。
你还是升级了内核没升级 C header ?

这东西要编译一个内核模块,这个内核模块需要当前的内核开发头文件(必须相同版本,差一点都不行)。

如何编写Linux设备驱动程序 回想学习Linux操作系统已经有近一年的时间了,前前后后,零零碎碎的一路学习过来,也该试着写的东西了。也算是给自己能留下一点记忆和回忆吧!由于完全是自学的,以下内容若有不当之处,还请大家多指教。

先查看自己OS使用的内核版本
shana@shana:~$ uname -r
2.6.22-14-generic
如果安装系统时,自动安装了源码。在 /usr/src 目录下有对应的使用的版本目录。例如下(我是自己下的)
shana@shana:/usr/src$ ls
linux-headers-2.6.22-14
linux-headers-2.6.22-14-generic
linux-source-2.6.22
linux-source-2.6.22.tar.bz2
shana@shana:/usr/src$
如果没有源码。(一般ubuntu 都没有吧)
查看一下可一下载的源码包(切记不要使用超级用户使用此命令否则……会提示没有此命令)
shana@shana:/usr/src$ apt-cache search linux-source
linux-source - Linux kernel source with Ubuntu patches
xen-source-2.6.16 - Linux kernel source for version 2.6.17 with Ubuntu patches
linux-source-2.6.22 - Linux kernel source for version 2.6.22 with Ubuntu patches
shana@shana:/usr/src$
我选择了 linux-source-2.6.22 - Linux kernel source for version 2.6.22 with Ubuntu patches 这个~
然后 install 之
shana@shana:/usr/src$ sudo apt-get install linux-source-2.6.22
下载完成后,在/usr/src下,文件名为:linux-source-2.6.22.tar.bz2,是一个压缩包,解压缩既可以得到整个内核的源代码:
注意 已经切换到超级用户模式
root@shana:/usr/src#tar jxvf linux-source-2.6.20.tar.bz2
解压后生成一个新的目录/usr/src/linux-source-2.6.22,所有的源代码都在该目录下。
进入该目录
开始配置内核 选择最快的原版的配置(默认)方式 (我是如此)
root@shana:/usr/src/linux-source-2.6.22# make oldconfig
当然你也可以使用 自己喜欢的配置方式 如 menuconfig , xconfig(必须有GTK环境吧)。反正不用剪裁什么,所以不管那种方式能配置它就行了。
完成后,开始make 吧 这儿比较久 一般有1一个小时吧。(保证空间足够 我编译完成后 使用了1.8G) 我分区时分给/目录30G的空间,我没遇到这问题。倒是我朋友遇到了。
shana@shana:/usr/src/linux-source-2.6.22$ make
shana@shana:/usr/src/linux-source-2.6.22$ make bzImage
当然,第一个make也可以不执行,直接make bzImage。执行结束后,可以看到在当前目录下生成了一个新的文件: vmlinux, 其属性为-rwxr-xr-x。
然后 :
root@shana:/usr/src/linux-source-2.6.22#make modules
root@shana:/usr/src/linux-source-2.6.22#make modules_install
执行结束之后,会在/lib/modules下生成新的目录/lib/modules/2.6.22-14-generic/
。 在随后的编译模块文件时,要用到这个路径下的build目录。至此,内核编译完成。可以重启一下系统。
至此 内核树就建立啦


源代码放在linux里,怎么访问
1、首先源代码放在linux里的访问源码路径,一般路径都是在根目录下的\/usr\/src下,其中linux-***代表版本号。2、其次确定当前系统的版本,hostnamectl可以查看当前系统信息。3、最后可以看到,每个driver目录都有一个Kcongif目录可支持裁剪。

linux源代码在哪里公开
官方网站、第三方网站、社区网站。根据查询阿楠教学网可知。1、官方网站:可通过targz或tarbz2格式获得。2、第三方网站:GitHub上有许多Linux源代码,包括内核、应用程序和驱动程序。3、社区网站:许多用户可以分享Linux源代码,搜索和下载源代码。

如何阅读Linux源代码
用Linux的人越来越多了,阅读Liux的人也越来越多了。但是,很多人下了很打的功夫,收益不是很大,下面给大家介绍一下,学Linux阅读Linux内核源代码的捷径。 把内核源码解压后,你会发下,那么多文件夹,早期版本的Linux文件夹还比较少,后来越来越多,这也造成了阅读的困难,下面给大家简单的介绍一...

如何阅读linux源码?
阅读linux源代码要掌握一定的386硬件知识,AT&T汇编语言结构,操作系统原理等等基础知识。但是及时掌握这些知识读懂源码还是很困难的(当然掌握操作系统原理也是一件不容易的事情),建议你先去看一下u\/cos源代码,根据其源代码试着自己给51单片机写一个小的分时操作系统,移植到单片机上试试效果。然后再根据...

linux的源代码linux程序源代码
如何编译linux源代码? 1、安装编码源码的编译工具,一般是需要安装gccyuminstallgcc 2、把源码解压tarzxvfuname.tar.gz 3、进入解压的目录执行.\/configuremakemakeinstall完成编译安装 如何获取linux下命令源码? 命令的源码是一个软件包为单元的,放在一个软件包的源码中。若要下载一个命令的源码,就要把这个命令所属的软...

linux安装源码包linux安装源码
如何给linux安装新内核? 一、获取内核源码 二、解压内核源码 首先以root帐号登录,然后进入\/usr\/src子目录。如果用户在安装Linux时,安装了内核的源代码,则会发现一个linux-x.y.z的子目录。该目录下存放着内核x.y.z的源代码。此外,还会发现一个指向该目录的链接linux。删除该连接,然后将新内核的源文件拷贝到\/usr...

如何阅读linux源码?
1.精通C 2.懂汇编、计算机体系结构、操作系统原理 3.懂算法和数据结构 4.找一本介绍linux源代码的书看,按照书上的步骤做。5.当然,你要有linux源代码,并且尽可能多地阅读相关文档。www.oldlinux.org上有一个《linux内核源代码完全注释》的电子文档,是基于linux0.11版的内核注释的。我承认,由于...

如何利用linux源代码制作一个很小规牟僮飨低
您所需要具备的条件 我们首先要安装一个Linux发行套件比如红帽(RedHat)到一个分区上,然后使用它来在另一个分区上打造一个新的Linux系统。我将我们所要打造的系统称为目标系统(target)而把我们所使用来打造新系统的系统称为源头系统(source),可别把这个源头(source)系统同我们同时使用的源码(source code...

linux源文件是什么linux源文件
Linux下怎么复制光盘上的文件?mkdir\/test#新建源文件夹mount\/dev\/sr0\/test#挂载光盘到\/test目录cd\/test#就可以看到内容了mkdir\/test1#新建目标文件夹cp\/test\/*\/test1复制test下的内容(光盘的内容)到test1 如何查看linux内核源代码?一般在Linux系统中的\/usr\/src\/linux*.*.*(*.*.*代表的是内核版本...

linux的源是什么
linux的源是什么源,是指软件源。Linux的软件源,可以是本地源,也就是本机上的源,或局域网内的源;也可以是互联网上的源。Ubuntu下是apt源,Redhat下是yum源,不管是apt还是yum都是管理软件的工具。Linux的用处linux是一套免费开放源代码的操作系统,用户可以按照自己的想法来修改源代码,它的每一...

鲁山县13782588579: 如何通过linux源码树制作linux kernel headers用于内核模块开发? -
梅馨舒萨: 先查看自己OS使用的内核版本 shana@shana:~$ uname -r 2.6.22-14-generic 如果安装系统时,自动安装了源码.在 /usr/src 目录下有对应的使用的版本目录.例如下(我是自己下的) shana@shana:/usr/src$ ls linux-headers-2.6.22-14 linux-...

鲁山县13782588579: 如何使用linux源码制作iso安装包 -
梅馨舒萨: 1.行用busybox构建linux命令. 2.下载一个kernel源码,解压出来.然后从你的linux系统下/boot/config-xxx复制到你解压好的内核源码包里,自己编译成bzImage 3.用生成ISO启动命令去生成一个启动脚本.再扭linux ISO(linux系统光盘下的二个东西复制过来).就可以了.

鲁山县13782588579: linphone源码编译 -
梅馨舒萨: linux下编译一般都是这三条命令,不需要参数: ./configure make make install 第一条命令测试你的系统状况,看看有什么缺的漏的,自动设置一些环境变量等等; 第二条命令是编译; 第三条命令是安装,install 就是make的参数.linphone库放在库的文件夹下,即lib目录.编译库的时候在make install这一步会自动放过.

鲁山县13782588579: 如何进行Linux Kernel 开发 -
梅馨舒萨: 学习汇编语言、C语言,这两种语言是你进行Linux Kernel开发与维护的必备语言能力,这样你才有能力阅读与编写Linux Kernel的能力.下载Linux Kernel源代码,建议下载先前的版本,因为目前的新版本代码数量太庞大,技术太新,如果是进行Linux Kernel的开发的话,先从简单的版本开始,以前的版本中没有过多的新技术的代码,适合入门Linux Kernel的学习.当你熟悉了Linux Kernel了后,可以下载目前最新的版本的源代码,里面包含了很多的新技术的知识.关于更多Linux的学习,请查阅书籍《linux就该这么学》.

鲁山县13782588579: Linux 的源代码怎么运用其编程
梅馨舒萨: gcc编译---》./文件 运行

鲁山县13782588579: linux发行版 都是怎么制作的 -
梅馨舒萨: 搜索“Linux From Scratch”,也就是通常说的LFS,一步一步教你从源码制作Linux系统

鲁山县13782588579: 怎样在linux下进行java编程 -
梅馨舒萨: linux下java编程与在windows下一样,重点在于搭建java开发环境.linux下搭建java开发环境步骤:1、下载linux环境下的JDK,前往java官网下载:http://www.java.com/zh_CN/ 举例:JDK程序名为:jdk-7u11-linux-i586.tar.gz 保存路径:...

鲁山县13782588579: 如何在linux下开发java -
梅馨舒萨: linux下做Java开发需要搭建java开发环境:jdk是 Java 语言的软件开发工具包,Tomcat是Java环境下WEB服务器, Eclipse 是一个开放源代码的、基于Java的可扩展开发平台;这三个工具,方法如下: 1、JDK的安装 #执行下面命令安装JDK(首先创建/opt/...

鲁山县13782588579: 如何构造内核源代码树 -
梅馨舒萨: Linux内核的配置系统由三个部分组成,分别是:Makefile:分布在 Linux 内核源代码中的 Makefile,定义 Linux 内核的编译规则; 配置文件(config.in):给用户提供配置选择的功能; 配置工具:包括配置命令解释器(对配置脚本中使用...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网