使用mount修改你的android中/system为只读权限

来源:互联网 发布:python sys.read 编辑:程序博客网 时间:2024/05/29 00:34
这段时间一直在修改sd卡的host controller的驱动,并于昨天重新编译了内核并fastboot到g5手机中,sd卡是可以读出来了,看样子驱动生效了,兴奋之余看看同样使用sd host控制的wifi,遗憾的wifi出错,后来查明原因是:

       编译内核使用的是默认的msm的config文件,config文件将wifi驱动是以模块(.ko)的形式编译的,而不是像其他驱动直接built-in到内核中的。

       既然找到了原因,就可以直接把wifi的驱动模块拿出来然后打进去(因为是g5,所以wifi模块是bcm4329.ko),于是乎下一步操作将其自然是打进/system/lib/module下。

理所当然的是:

Shell代码
  1. ourunix@ubuntu:~$ adb push net/wireless/bcm4329.ko /system/lib/modules  

       报错说/system是只读。。。我晕,继续找解决办法。

       登进android系统中,用remount修改/system的只读权限,问题解决。

Shell代码
  1. ourunix@ubuntu:~$ adb shell  
  2. # mount  
  3. rootfs / rootfs ro 0 0  
  4. tmpfs /dev tmpfs rw,mode=755 0 0  
  5. devpts /dev/pts devpts rw,mode=600 0 0  
  6. proc /proc proc rw 0 0  
  7. sysfs /sys sysfs rw 0 0  
  8. tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0  
  9. none /dev/cpuctl cgroup rw,cpu 0 0  
  10. /dev/block/mtdblock0 /system yaffs2 ro 0 0  
  11. /dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0  
  12. /dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0  
  13. /dev/block//vold/179:0 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0  

       从上面的红字部分可以看得出/system的权限是ro即是read only。

       看清楚了你的不一定是/dev/block/mtdblock0分区,对号入座即可。

Shell代码
  1. # mount -o remount /dev/block/mtdblock0 /system  
  2. # mount  
  3. rootfs / rootfs ro 0 0  
  4. tmpfs /dev tmpfs rw,mode=755 0 0  
  5. devpts /dev/pts devpts rw,mode=600 0 0  
  6. proc /proc proc rw 0 0  
  7. sysfs /sys sysfs rw 0 0  
  8. tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0  
  9. none /dev/cpuctl cgroup rw,cpu 0 0  
  10. /dev/block/mtdblock0 /system yaffs2 rw 0 0  
  11. /dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0  
  12. /dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0  
  13. /dev/block//vold/179:0 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0  

       可以看到/system的权限变了,变成read write了。