当前位置: 首页 > news >正文

广州的网站建设linux网站开发工具

广州的网站建设,linux网站开发工具,上海外包公司网站建设,企业自适应网站建设在硬件抽象层模块中#xff0c;我们是调用open函数来打开对应的设备文件的。例如#xff0c;在2.3.2小节中开发的硬件抽象层模块freg中#xff0c;函数freg_device_open调用open函数来打开设备文件/dev/freg。 60 if((dev-fd open(DEVICE_NAME, O_RDWR)) -1) { 61 … 在硬件抽象层模块中我们是调用open函数来打开对应的设备文件的。例如在2.3.2小节中开发的硬件抽象层模块freg中函数freg_device_open调用open函数来打开设备文件/dev/freg。 60 if((dev-fd open(DEVICE_NAME, O_RDWR)) -1) { 61       LOGE(Failed to open device file /dev/freg -- %s., strerror(errno)); 62       free(dev); 63       return -EFAULT; 64 } 如果不修改设备文件/def/freg的访问权限那么应用程序调用freg_device_open函数打开设备文件/def/freg就会失败从第61行的日志输出可以看到下面的内容 Failed to open /dev/hello -- Permission denied. 这表示当前用户没有权限打开设备文件/dev/freg。在默认情况下只有root用户才有权限访问系统的设备文件。由于一般的应用程序是没有root用户权限的因此这里就会提示没有权限打开设备文件/dev/freg。 解决这个问题的办法是赋予root之外的其他用户访问设备文件/dev/freg的权限。我们知道在Linux系统中可以通过udev规则在系统启动时修改设备文件的访问权限3。然而Android系统并没有实现udev机制因此我们就不可以通过定义udev规则来赋予root之外的其他用户访问设备文件/dev/freg的权限。不过Android提供了另外的一个uevent机制可以在系统启动时修改设备文件的访问权限。 在system/core/rootdir目录下有一个名为ueventd.rc的配置文件我们可以在里面增加以下一行内容来修改设备文件/dev/freg的访问权限。 /dev/freg                 0666   root       root 这表示所有的用户均可以访问设备文件/dev/freg即可以打开设备文件/dev/freg以及读写它的内容。这样除了root用户之外系统中的其他用户也可以调用freg_device_open函数来打开设备文件/dev/freg。 修改了ueventd.rc文件后需要重新编译Android源代码工程这样新修改的设备文件/dev/freg的访问权限才能生效。这里我们介绍一种不必重新编译Android源代码工程就可以使得修改后的设备文件/dev/freg的访问权限生效的方法。 在编译Android源代码工程时文件system/core/rootdir/ueventd.rc会被拷贝到out/target/product/generic/root目录下并且最终打包在ramdisk.img镜像文件中。当Android系统启动时会把ramdisk.img镜像文件中的ueventd.rc文件安装在设备根目录中并且由init进程来解析它的内容和修改相应的设备文件的访问权限。因此只要我们能够修改ramdisk.img镜像文件中ueventd.rc文件的内容就可以修改设备文件/dev/freg的访问权限。接下来就详细介绍修改ramdisk.img镜像文件中ueventd.rc文件的方法。 1. 解压ramdisk.img镜像文件 镜像文件ramdisk.img是一个gzip文件因此我们可以执行gunzip命令对它进行解压。 USERMACHINE:~/Android$ mv ./out/target/product/generic/ramdisk.img ./ramdisk.img.gz USERMACHINE:~/Android$ gunzip ./ramdisk.img.gz 我们先将ramdisk.img改名为ramdisk.img.gz然后调用gunzip命令对它进行解压。解压后得到的ramdisk.img文件保存在~/Android目录中。 2. 还原ramdisk.img镜像文件 解压后得到的ramdisk.img文件是一个cpio4格式的归档文件因此我们可以执行cpio命令对它解除归档。 USERMACHINE:~/Android $ mkdir ramdisk USERMACHINE:~/Android $ cd ./ramdisk/ USERMACHINE:~/Android /ramdisk$ cpio -i -F ../ramdisk.img 解除归档后得到的文件保存在~/Android/ramdisk目录中。 3. 修改ueventd.rc文件 进入到~/Android/ramdisk目录中找到ueventd.rc文件并且往里面增加以下一行内容 /dev/freg                  0666   root       root 这一行内容赋予了系统中的所有用户访问设备文件/dev/freg的权限。 4. 重新打包ramdisk.img镜像文件 重新打包ramdisk.img镜像文件的过程其实就是第1步和第2步的逆过程即先把ramdisk目录归档成cpio文件然后压缩成gzip文件。 USERMACHINE:~/Android/ramdisk$ rm -f ../ramdisk.img USERMACHINE:~/Android/ramdisk$ find . | cpio -o -H newc ../ramdisk.img.unzip USERMACHINE:~/Android/ramdisk$ cd .. USERMACHINE:~/Android$ gzip -c ./ramdisk.img.unzip ./ramdisk.img.gz USERMACHINE:~/Android$ rm -f ./ramdisk.img.unzip USERMACHINE:~/Android$ rm -R ./ramdisk USERMACHINE:~/Android$ mv ./ramdisk.img.gz ./out/target/product/generic/ramdisk.img 这样重新打包后得到的ramdisk.img镜像文件中的ueventd.rc文件就修改好了系统在启动之后就会通过init进程来赋予系统中的所有用户访问设备文件/dev/freg的权限。 _______________________________________ 3 udev是Linux 2.6内核新增的一个功能用来替代原来的devfs是Linux系统默认的设备管理工具。udev 机制以守护进程的形式运行通过侦听内核发出来的uevent来管理/dev目录下的设备文件包括添加或者删除设备文件、修改设备文件的访问权限等。 4 cpio是一种包含其他文件和有关信息的归档文件具体可以参考http://www.gnu.org/software/cpio/。
http://www.yutouwan.com/news/425260/

相关文章:

  • 有哪些做微博长图网站成都建设网站
  • 河北网站建设推广电话内蒙古做网站找谁
  • 宿迁建设局网站拆除备案网站推广运营公司
  • 正定网站建设资讯网站 怎样 增强用户粘度
  • 李尚荣网站建设迁安建设局网站
  • 品牌网站建设 杭州义乌义亭招工做网站养猪工作
  • 咨询网站设计国家企业信用公示信息网官网
  • 佛山网站开发网易网
  • 朵朵软件网站建设专门做图的网站
  • 优速网站建设工作室北京建筑信息网
  • 株洲网站关键词优化种子搜索引擎在线
  • 政务咨询投诉举报网站建设百度自动优化
  • 做58同城网站花了多少钱网站备案详细流程
  • 平台网站建设多少钱有什么比较好的做简历的网站
  • 网站开发制作报价深圳seo搜索优化
  • 网站制作建福建省第一电力建设公司网站
  • 苏州网站建设公司哪家好北京公司摇号
  • 全景网站如何做永州内部网站建设公司
  • 网站每个月8g流量关于服装的网站规划与设计
  • 伏羲方舟网站建设白云区网站建设
  • 成都 网站原创猪八戒设计网站如何做兼职
  • 工信部企业网站认证长春网站设计策划
  • 英语网站开发茶叶淘宝店网站建设ppt模板
  • 重庆网站seo建设哪家好专做服装的网站
  • 企业网站优化系统手机端百度收录入口
  • 大连企业网站开发wordpress 插件路由
  • 网站后台管理怎么进松江郑州阳网站建设
  • 专业做室内设计的网站有哪些贵州企业网站建设设计
  • 网站的标题优化怎么做网站开发费用计入科目
  • 深圳积分商城网站制作网页版qq空间怎么看特别关心