学习《Linux设备驱动程序》在Vmware里面搭建程序测试环境

平台:VmWare+Fedora7

版本:Linux2.6.21-1.3194.fc7

1.安装gcc

     由于默认安装没有gcc,所以只能选择rpm安装。因为各个安装文件有依赖关系,故按以下顺序安装(安装文件存放在安装光盘的Fedora目录下)才能成功:

rpm -ivh cpp-4.1.2-12(默认已安装)

rpm -ivh gcc-4.1.2-12.i386.rpm

rpm -ivh gcc-c++-4.1.2-12.i386.rpm(C++编译器)

rpm -ivh glibc-devel-2.6-3.i386.rpm

rpm -ivh glibc-headers-2.6-3.i386.rpm

rpm -ivh glibc-common-2.6-3.i386.rpm

rpm -ivh libgcc-4.1.2-12.i386.rpm

查看是否完成: gcc -v

卸载安装(由于依赖性,卸载时按上面的逆顺序卸载): rpm -e XXX.rpm

 

2.下载linux-2.6.21.tar.bz2(内核源文件和内核版本号匹配)

网址: http://download.chinaunix.net/download/0007000/6156.shtml

将该文件拷贝到/usr/src文件夹下,解压

tar -xjvf linux-2.6.21.tar.bz2

 

3.安装ncurses-devel(安装文件在Fedora安装光盘的Fedora目录下,安装光盘路径:/media)

rpm -ivh ncurses-5.6-6.20070303.fc7.i386.rpm

rpm -ivh ncurses-devel-6.6-6.20070303.fc7.i386.rpm

 

4.配置内核生成.conf文件(/usr/src/linux-2.6.21目录下)

make prepare

make menuconfig

相关内核配置方式说明:

make config            命令行界面更新配置

make menuconfig    菜单界面更新配置

make xconfig           QT图形界面更新配置

make gconfig           GTK图形界面更新配置

make oldconfig         通过已经提供的.config文件更新当前配置

make defconfig        所有选项默认配置

make randconfig     所有选项随机配置

make allmodconfig   所有选项"m"配置

make allyesconfig    所有选项"y"配置

make  allnoconfig    所有选项"n"的最小配置

 

5. 模块安装(/usr/src/linux-2.6.21目录下)

make modules_install

 

6. 将《Linux设备驱动程序》例子中的misc-modules下的hello.c和Makefile拷贝到/home/hello下

修改Makefile(修改后):

KERNELDIR ?= /usr/src/linux-2.6.21

...

obj-m := hello.o

编译及运行:

make

insmod hello.ko

rmmod hello

运行正常但无打印,这个可以通过dmesg | tail查看(在文件/var/log/messages环形缓冲区中)。

也可以通过修改/etc/syslog.conf的配置将打印信息输出到自定义的文件中。

至此,算是配置好运行环境了。

 

7. 交叉编译环境的配置

我用的是飞凌OK6410的板子,具体步骤

安装交叉编译器

下载2.6.28的内核源文件拷贝到/usr/src下

此处要修改内核的Makefile(默认是i386的体系结构,改成arm的)

修改hello的Makefile(默认是gcc编译器,改成arm下的gcc编译器)

编译及运行,具体有时间在说吧。  下一篇准备写下 OK6410内核移植(由自带的2.6.28的内核移植到2.6.32)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值