往android的内核添加驱动及 ueventd.rc 修改【转】

摘要:
具体的修改方法:比如我现在修改drivers/staging/android/下的Kconfig文件。configANDROID_LOGGERtristate"Androidlogdriver"defaultnconfigANDROID_RAM_CONSOLEbool"AndroidRAMbufferconsole"defaultnconfigANDROID_RAM_CONSOLE_ENABLE_VERBOSEbool"EnableverboseconsolemessagesonAndroidRAMconsole"defaultydependsonANDROID_RAM_CONSOLE如果我想添加一个驱动,驱动名字为somedrv,那么在这个文件里加入:configANDROID_DEMUXERbool"AndroidSomedrvDriver"defaultn这样就可以了。这样在编译内核的时候,makemenuconfig命令之后,会有AndroidSomedrvDriver的选择,选择它就可以将驱动编进内核。这样编译出来的内核,已经包含somedrv驱动。这个时候要修改一个文件,主目录/system/core/rootdir目录下的ueventd.rc文件,这个文件可以设置驱动挂载到/dev目录下时的权限和所有者。

本文转载自:http://blog.csdn.net/lkqboy2599/article/details/8350100

向android的内核添加驱动,其实就是向linux内核添加驱动。主要在两个文件里添加点信息,一个是Kconfig文件,一个是Makefile文件。比如你添加的驱动你代码放到drivers目录下面的XXX目录,那么修在该目录下的Kconfig文件和Makefile文件。

具体的修改方法:

比如我现在修改drivers/staging/android/下的Kconfig文件。

config ANDROID_LOGGER

tristate "Android log driver"

default n

config ANDROID_RAM_CONSOLE

bool "Android RAM buffer console"

default n

config ANDROID_RAM_CONSOLE_ENABLE_VERBOSE

bool "Enable verbose console messages on Android RAM console"

default y

depends on ANDROID_RAM_CONSOLE

如果我想添加一个驱动,驱动名字为somedrv,那么在这个文件里加入:

config ANDROID_DEMUXER

bool "Android SomedrvDriver"

default n

这样就可以了。这样在编译内核的时候,make menuconfig命令之后,会有

Android SomedrvDriver的选择,选择它就可以将驱动编进内核。

然后在Makefile里面添加一句obj-$(CONFIG_ANDROID_SOMEDRV)+=somedrv.o。

这样就修改好了。

这样编译内核的时候就把驱动编译进去了,前提编译前选择驱动。

现在我编译的内核都是用在模拟器上的,也就是说在qemu上运行内核。那么编译的时候的config就用goldfish_defconfig,这样编译前就不执行make menuconfig命令而是执行

make goldfish_defconfig(前提是已经将代码切换到goldfish分支)。

这样就自动生成.config文件了,不用自己去选择。但是这样的.config文件并没有包含自己添加的驱动,要手动修改.config文件,打开文件,搜索一下字段”somedrv”,会看见:

# CONFIG_ANDROID_SOMEDRV is not set

CONFIG_ANDROID_BINDER_IPC=y

Somedrv没有被包含编译,手动修改它,修改成CONFIG_ANDROID_SOMEDRV=y,跟下面那句一样,这样就会将这个驱动编进内核。

这样编译出来的内核,已经包含somedrv驱动。

但是这个驱动挂载在/dev下只用所有者权限,这样程序还是没有办法访问这个设备。这个时候要修改一个文件,主目录/system/core/rootdir目录下的ueventd.rc文件,这个文件可以设置驱动挂载到/dev目录下时的权限和所有者。添加这句

/dev/demuxer0666rootroot

这样就可以了。好像这个要重新编译一下。。

免责声明:文章转载自《往android的内核添加驱动及 ueventd.rc 修改【转】》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇在 macOS 上搭建 Flutter 开发环境52.关于Android Studio项目的Gradle构建下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SpringCloud(9)----mysql实现配置中心

本公司配置数据的管理是通过mysql进行配置管理,因为已经搭建好了,所以自己动手重新搭建一遍,熟悉整个流程。有关项目源码后期会补上github地址 微服务要实现集中管理微服务配置、不同环境不同配置、运行期间也可动态调整、配置修改后可以自动更新的需求,Spring Cloud Config同时满足了以上要求。 项目代码GitHub地址:https://git...

博科 SAN交换机配置文件备份和恢复(华为SNS系列交换机为例OEM博科)

如果需要将博科交换机的配置保存到本地电脑,可以通过configupload命令将博科交换机的配置以文本格式存到本地。如果交换机出了问题可以通过这个配置文件用configdownload命令进行恢复。 注意:比较新博科交换机目前只支持scp和sftp两种方式保存及恢复配置,一般情况下还是使用ftp的方式比较多,注意这里是ftp而不是tftp,这时候就需要开启...

Software_programming_Config_HOCON

05:09:37 HOCON githubhttps://github.com/lightbend/config/blob/master/HOCON.md 相较于 XML, JSON, YAML 更强大和更人性化的配置文件格式。HOCON idea 可以从下载 HOCON 插件, 文件格式以 .conf 为后缀。如遇到IDEA 卡住,则重启 IDEA. &...

Huawei-R&S-网络工程师实验笔记20190607-STP生成树协议(基本配置、桥优先级、根桥选举、根端口、路径开销、边缘端口)

》Huawei-R&S-网络工程师实验笔记20190607-STP生成树协议(基本配置、桥优先级、根桥选举、根端口、路径开销、边缘端口) 》》实验开始,先上拓扑图参考: <Huawei>system-view Enter system view, return user view with Ctrl+Z. [Huawei]sysna...

分离Webpack开发环境与生产环境的配置

这是Webpack+React系列配置过程记录的第五篇。其他内容请参考: 第一篇:使用webpack、babel、react、antdesign配置单页面应用开发环境 第二篇:使用react-router实现单页面应用路由 第三篇:优化单页面开发环境:webpack与react的运行时打包与热更新 第四篇:React配合Webpack实现代码分割与异步加...

Windows下DVWA安装指南

注意:DVWA需要依赖httpd、PHP、MySQL、php-mysql等应用或组件,最简单的方法是安装wampserver(http://www.wampserver.com/),安装完了所需的各种依赖部件全部搞定。 1、下载DVWA(http://www.dvwa.co.uk/) 2、要确保可以进入http://localhost/phpmyadmin...