linux下开发一个新设备的driver应该怎么编译以及加载,谢谢
俺是初学者,现在有个pcie相关的设备驱动开发,俺想问驱动开发过程中应该注意什么,直接就用linux带的gcc来完成编译?还是编译kernel然后重新加载?
作者: waitwhat 发布时间: 03-13
新手问个linux内核启动参数的问题
内核2.6.15启动时打印了:Kernelcommandline:mem=64Mconsole=ttyS0,115200initrd=0x21100000,17000000root=/dev/ram0rw我不明白的是,此刻不是还没有加载Initrd(作为根文件系统)吗?怎么有这个目录树:/dev/ram0?谢谢。
作者: hatemath 发布时间: 02-09
一个ETH_P_LOOP类型的包是什么意思?
最近正在做毕业设计,和linux的bond有关,需要阅读bond的源代码,在阅读源代码的过程中发现在alb模式下,每隔一定的时间就要发送learning包,而learning包的类型为ETH_P_LOOP,我不清楚网络设备驱动程序会怎样处理这种类型的包,及这种包到底有什么作用。希望各位大虾指点迷津,在此先谢过了.
作者: iamljj 发布时间: 03-26
问2个C指针的问题
问几个C指针的问题各位,我近来在看一些代码,并尝试做些修改,但有几个问题不太明白,想请教一下:1)片段1:charupper(char*packages,intlen){char*table=NULL;...........parse(packages,table);..............}voidparse(char*data_in,char
作者: zqz 发布时间: 03-25
如何减小内核模块的大小?
CentOS/fedora下,自己编译的内核模块的大小,总是系统自带的rpm中对应模块大小的十倍左右.比如net/ipv4/esp4.ko我自己使用makenet/ipv4/esp4.ko,得到的模块文件大小为199671字节,也就是说194k然而通过rpm安装的内核模块中,其大小为:14472字节,14k左右。通过file命令查看,都说文件没有strip过
作者: jacuro 发布时间: 03-26
在rhel5上内核编译的问题
我在一台有fakeraid,装了rhel5的机器上编译2.6.23.1的内核编译出来之后的vmlinuz-2.6.23.1启动的时候认不到file了一下自带的vmlinuz,自带的格式是ELF32-bitLSBsharedobject,Intel80386,version1,stripped自己编译的是Linuxkernelx86bootexecutableR
作者: dangdang00 发布时间: 03-28
大侠帮帮忙,关于用户层程序调用自己写的模块函数问题
自己写了某一内核模块通过insmod已经加载到了内核成功(kernel2.6.25.14)但用户程序这边需要调用模块的某一函数(如下的getDropCount())模块代码如下:staticlongcount=0;longgetDropCount(){returncount;}由于某种原因,不能使此方法注册为一个系统调用(存储在sys_call_table里面
作者: C_J 发布时间: 03-30
gcc4.3 编译2.6.11内核的问题
我遇到了大量的sorryunimplement错误,inlineingfaildincalltoxxxxx全部问题都发生在inline开头的内联函数上,是不是gcc的版本问题?请问有什么有效的解决办法吗?
作者: inmind 发布时间: 04-03
问个关于sys_write的问题
为什么我在我编写的一个模块里调用sys_write()和sys_read()函数,然后make,会有WARNNING信息:说这两个函数未定义?我包含了#include<linux/kernel.h>#include<linux/init.h>#include<linux/module.h>#include<linux/syscalls.
作者: jzh258fits 发布时间: 04-04