社区
Linux/Unix社区
帖子详情
redhat 9.0 下驱动程序开发是否需要重新编译内核?求高手指教!
lysliberty
2003-08-21 12:42:53
在redhat9.0下进行驱动程序开发,但是,有好多内核头文件在预定的位置找不到,比如:在asm目录下找不到uaccess.h, 在linux目录下找不到fs.h,到linux2.4.20-8下将源文件中的uaccess.h中包含到程序中来,然后再编译就出现了好多错误!是不是我的内核需要重新编译呀?但是在安装linux的过程中,应该对内核进行编译了的。困惑中。。。。
...全文
72
8
打赏
收藏
redhat 9.0 下驱动程序开发是否需要重新编译内核?求高手指教!
在redhat9.0下进行驱动程序开发,但是,有好多内核头文件在预定的位置找不到,比如:在asm目录下找不到uaccess.h, 在linux目录下找不到fs.h,到linux2.4.20-8下将源文件中的uaccess.h中包含到程序中来,然后再编译就出现了好多错误!是不是我的内核需要重新编译呀?但是在安装linux的过程中,应该对内核进行编译了的。困惑中。。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lysliberty
2003-08-23
打赏
举报
回复
哈哈!已经好了,多谢各位热心的老大!原因是/usr/src/linux的这个连接没有设对。
CoolQ
2003-08-23
打赏
举报
回复
上边的说法说的都有点问题,如果做模块化的驱动的话,确实不用重新编译内核,但是在新的源码包里,模块需要的头文件有些没有生成,需要用make dep来生成一些需要的头文件,比如说上边所说的linux/modversions.h linux/version.h还有一些必要的dev文件
另外,注意编译的时候一定要用-I来指定头文件的路径
creekcpj
2003-08-23
打赏
举报
回复
最好重新编译内核,否则你的模块版本是2。4。10,而不是系统默认的2。4。10-8,到时候
是insmod不上去的,无法测试,编译的话,可以用make xconfig或make menuconfig把其中
的“模块版本支持”去掉。错误关键要看你的头文件部分内容和你怎么编译它的,如果你连
__KERNEL__都没定义,那肯定是有暴多错误的,贴出来看看。
zeng_xiangyang
2003-08-23
打赏
举报
回复
你把你的程序的前面那部分(#includeh和#define)贴出来看看
kashima
2003-08-23
打赏
举报
回复
nod!不需要,:linux下的驱动程序仅仅是类似于文件的模块
bit7
2003-08-23
打赏
举报
回复
不需要,
www1980
2003-08-22
打赏
举报
回复
应该跟内核没有关系/
www1980
2003-08-22
打赏
举报
回复
在前面加上下面的,试试。
#if defined(CONFIG_MODVERSIONS) && ! defined(MODVERSIONS)
#include <linux/modversions.h>
#define MODVERSIONS
#endif
Linux与shell
Linux 简介Linux
内核
最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux 的发行版Linux 的发行版说简单点就是将 Linux
内核
与应用软件做一个打包。目前市面上较知名的发行版有:Ubuntu、
RedHat
、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。Linux 应用领域今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合。目前 Linux 不仅在家庭与企业中使用,并且在政府中也很受欢迎。巴西联邦政府由于支持 Linux 而世界闻名。有新闻报道俄罗斯军队自己制造的 Linux 发布版的,做为 G.H.ost 项目已经取得成果。印度的 Kerala 联邦计划在向全联邦的高中推广使用 Linux。中华人民共和国为取得技术独立,在龙芯处理器中排他性地使用 Linux。在西班牙的一些地区
开发
了自己的 Linux 发布版,并且在政府与教育领域广泛使用,如 Extremadura 地区的 gnuLinEx 和 Andalusia 地区的 Guadalinex。葡萄牙同样使用自己的 Linux 发布版 Caixa Mágica,用于 Magalh?es 笔记本电脑和 e-escola 政府软件。法国和德国同样开始逐步采用 Linux。Linux vs Windows目前国内 Linux 更多的是应用于服务器上,而桌面操作系统更多使用的是 Windows。主要区别如下比较WindowsLinux界面界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同图形界面风格依发布版不同而不同,可能互不兼容。GNU/Linux 的终端机是从 UNIX 传承下来,基本命令和操作方法也几乎一致。
驱动程序
驱动程序
丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件
驱动程序
,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的 Windows 下的驱动,也会比较头痛。由志愿者
开发
,由 Linux 核心
开发
小组发布,很多硬件厂商基于版权考虑并未提供
驱动程序
,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对
驱动程序
问题(
是否
存在和安装方法)会一筹莫展。但是在开源
开发
模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD 等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解。使用使用比较简单,容易入门。图形化界面对没有计算机背景知识的用户使用十分有利。图形界面使用简单,容易入门。文字界面,
需要
学习才能掌握。学习系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难。系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易。软件每一种特定功能可能都
需要
商业软件的支持,
需要
购买相应的授权。大部分软件都可以自由获取,同样功能的软件选择较少。Shell 脚本Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念。由于习惯的原因,简洁起见,本文出现的 shell编程 都是指 shell 脚本编程,不是指
开发
shell 自身。Shell 环境Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。Linux 的 Shell 种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)Bourne Again Shell(/bin/bash)C Shell(/usr/bin/csh)K Shell(/usr/bin/ksh)Shell for Root(/sbin/sh)……本教程关注的是 Bash,也就是 Bourne Again Shell,由于易用和免费,Bash 在日常工作中被广泛使用。同时,Bash 也是大多数Linux 系统默认的 Shell。在一般情况下,人们并不区分 Bourne Shell 和 Bourne Again Shell,所以,像 #!/bin/sh,它同样也可以改为 #!/bin/bash。#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。第一个shell脚本打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用 php 写 shell 脚本,扩展名就用 php 好了。输入一些代码,第一行一般是这样:实例#!/bin/bashecho Hello World !
Linux学习:Linux
内核
编译
高手
教程
Linux学习:Linux
内核
编译
高手
教程 下载源代码 Linux
内核
总是不断发展的,最新的
内核
Kernel2.6.0对USB2.0予以正式的支持,以及
内核
模块文件后缀最显著的一个变化由*.o到*.ko等等,我们可以从www.kernel.org下载到tarball的源代码包。 前期准备 大家都知道的要先升级“module-init-tools“软件包,否则的话,等你安装内
嵌入式Linux字符设备入门之--LED驱动详解
一、实验环境
PC机:
Redhat
9.0
内核
版本:Linux2.4
开发
板:FL2440
内核
版本:Linux2.6 CPU:s3c2440
二、实验步骤
1、硬件连接。
FL2440有四个可编程控制的共阳极LED,分别与CPU的GPB5,GPB6,GPB8,GPB10相连。
2、
驱动程序
由于是刚刚接触驱动,实在是不知道怎么写,只好用
开发
板自带的led驱动了(手动分配设备号)
第一个简单的
内核
编程实验:hello.c
http://blog.chinaunix.net/u/21948/showart_240084.html《Linux设备
驱动程序
》
内核
编程入门,就以最为简单的hello.c为例。 环境:
Redhat
9.0
,
内核
版本2.4.20-8。 虽然现在2.6.x的
内核
很早就就发布了,但是毕竟很多公司还在使用2.4.x的
内核
。作为新手,从2.4.x的内
转自51cto(http://smailes.blog.51cto.com/rss.php?uid=28248)
2.经BOIS的控制,将MBR中的Boot Record调入内存中。这里就要说说Linux的Boot程序了,Linux的Boot程序有GRUB和LILO,而CentOS默认的Boot程序是GRUB。3.通过Boot程序,访问硬盘中的Linux
内核
程序。4.将
内核
程序调入内存中。5.
内核
程序调用完成后,通过
内核
访问硬盘中将要用到的其他文件。
内核
第一个执行的文件是/sbin/init,而这个文件的设置
Linux/Unix社区
23,116
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章