Chinaunix首页 | 论坛 | 博客
  • 博客访问: 38166
  • 博文数量: 7
  • 博客积分: 171
  • 博客等级: 入伍新兵
  • 技术积分: 85
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-04 22:13
文章分类

全部博文(7)

文章存档

2012年(3)

2011年(4)

我的朋友

分类: LINUX

2011-11-25 16:46:22

1.内核编译


Fedora15,内核版本2.6.38.8


编译内核,,下载内核,解压缩到/usr/src/kernels/linux-2.6.38.8/
进行编译
利用当前版本的fedora进行配置
  1. cp cp /boot/config-2.6.38.6-26.rc1.fc15.i686 /usr/src/kernels/linux-2.6.38.8/.config
  2. make menuconfig
然后一步一步对内核进行编译配置
遇到配置时直接skip
  1. make all
  2. make modules_install
  3. make install
花费时间大约在1个小时内。

2.加载驱动


建立 hello.c
  1. #include "linux/init.h"
  2. #include "linux/module.h"

  3. static int hello_init(void)
  4. {
  5. printk(Kern_ALERT "Hello World linux_driver_module\n");
  6. return 0;
  7. }

  8. static void hello_exit(void)
  9. {
  10. printk(KERN_ALERT "Goodbey linux_driver_module\n");
  11. }

  12. module_init(hello_init);
  13. module_exit(hello_exit);
Makefile(内核2.6版本以上都得用Makefile)
  1. #Makefile 2.6
  2. ifneq ($(KERNELRELEASE),)
  3. #kbuild syntax dependency relationship of files and target modules are listed here.
  4. mymodule-objs:=hello.o
  5. obj-m:=hello.o
  6. else
  7. PWD:=$(shell pwd)
  8. KVER?=$(shell uname -r)
    KDIR:=/lib/modules/$(KVER)/build
  9. all:
  10. $(MAKE) -C $(KDIR) M=$(PWD)
  11. clean:
  12. rm -rf .*.com *.o *.mod.c *.ko .tmp_versions
  13. endif
终端进入hello.c 与Makefile文件夹
  1. make
加载
  1. sudo insmod hello.ko
显示
  1. dmesg
卸载
  1. sudo rmmod hello

3.vim
vim插件ctags tilelist的安装与配置

首先, 下载ctags安装包, 然后解压并安装:
tar -xzvf ctags-5.6.tar.gz
cd ctags-5.6
make
make install   // 需要root权限

源码目录,运行命令: ctags -R
运行命令: ctags -R,会生成一个 tags 文件,即可

配合taglist的使用

下载taglist压缩包, 然后把解压的两个文件taglist.vim 和 taglist.txt 分别放到
/usr/share/vim/vim73/plugin/与/usr/share/vim/vim73/doc/文件夹中


简单配置taglist
将文件夹中taglist.vim复制到~/.vimrc

  1. cp /usr/share/vim/vim73/plugin/ ~/.vimrc

在.vimrc中加入下列语句

  1. let Tlist_Ctags_Cmd = '/usr/bin/ctags'
  2. let Tlist_Show_One_File = 1
  3. let Tlist_Exit_OnlyWindow = 1
  4. let Tlist_Use_Right_Window = 0

进入vim后用命令打开taglist窗口
:Tlist
左右切换窗口
ctrl+ww
上下左右
j k h l

参考资料:

linux驱动开发环境的搭建
http://blog.sina.com.cn/s/blog_62467c4b0100gye2.html

Fedora 12 编译内核linux-2.6.32.2



阅读(1682) | 评论(1) | 转发(2) |
给主人留下些什么吧!~~

wjlinux2011-11-28 17:54:15

呵呵,linux工程师必须掌握的。简单但有用