信任许多人都是依照许多之前的教程进行linux驱动的开发学习,常用的有federal、centos等等。现在ubuntu体系现已很盛行,而且还常常保护更新,许多开发板都开端运用ubuntu体系作为宿主机进行开发,现在以ubuntu体系为宿主机进行linux驱动的开发。为了便利广阔坛友,少走弯路,我现在共享下我的装置进程和一些注意事项,期望对我们有所协助。
我用XP+VMware+ubuntu12.04进行体系的装置,内存1G,硬盘巨细20G(确保体系的运转和源码编译时空间足够用)。
运用的是12.04LTs体系信息,如下:
在开发之前,先检查自己linux运用的内核版别
因为ubuntu体系没有源码,在驱动开发之前需求进行下载,下载解压之后会在src下有以下文件夹:
假如没有下载源码,只要前两个文件夹,关于 linux-source-3.2.0的下载,看下文:
首要进行源码文件的查找,检查那个和你运用的版别相同。本体系运用的3.2.0,
所以我挑选了我挑选了 linux-source-3.2.0 – Linux kernel source for version 3.2.0 with Ubuntu patches
然后 install :
mjl@mjl-machine:/usr/src$ sudo apt-get install linux-source-3.2.0
下载完结后,在/usr/src下,文件名为:linux-source-2.6.22.tar.bz2,是一个压缩包,解压缩既能够得到整个内核的源代码:
mjl@mjl-machine:/usr/src $ sudo tar –jxvf linux-source-2.6.20.tar.bz2
解压后生成一个新的目录/usr/src/linux-source-2.6.22,一切的源代码都在该目录下。
进入该目录开端装备内核 挑选最快的原版的装备(默许)方法 (我是如此)
mjl@mjl-machine:/usr/src/linux-source-2.6.22$ sudo make oldconfig内容都没有修正,直接开端make 。 这儿比较久,我是晚上下班之后电脑没有关机直接运转,正好第二天来能够持续干活。
mjl@mjl-machine:/usr/src/linux-source-3.2.0$ $ sudo make
mjl@mjl-machine:/usr/src/linux-source-3.2.0$ $ sudo make bzImage
当然,第一个make也能够不履行,直接make bzImage。履行完毕后,能够看到在当时目录下生成了一个新的文件: vmlinux, 其特点为-rwxr-xr-x。
然后编译模块和装置模块 :
mjl@mjl-machine:/usr/src/linux-source-3.2.0$sudo make modules /* 编译 模块 */
mjl@mjl-machine:/usr/src/linux-source-3.2.0$ sudo make modules_install /* 装置 模块 */
履行完毕之后,会在/lib/modules下生成新的目录/lib/modules/3.2.0-23-generic-pae。
在随后的编译模块文件时,要用到这个途径下的build目录。至此,内核编译完结。能够重启一下体系。