修改 Android rom 获得 root 权限(明远智睿Android 5.1)
背景: 官方提供的 ttymxc0 没有读写权限,但是在app 端 通过 su = Runtime.getRuntime().exec(); 获取不到权限去修改 串口0 的读写权限,用网上提供的几乎所有的root 工具都无法获取root 权限,编译su 命令放置在 /system/xbin 下,重新打包 system.img 也不行,无奈之举。
1.解压与打包另外的一篇文章里也说到过了 ,接下来我们看如何修改
2.在[email protected]:~/my-work/myandroid5.1/out/target/product/myimx6ek_6dq/linux$ 下建立 ramdisk 文件夹,解压 boot-myimx6ek200-6q.img-ramdisk.gz 到ramdisk 文件夹
命令如下:
mkdir ramdisk
chmod 777 ramdisk
cd ramdisk
gunzip -c …/boot-myimx6ek200-6q.img-ramdisk.gz | cpio -i
解压成功可以看到如图:
3.修改 init.rc 增加修改ttymxc0 的命令 :
找到on init 标签
在on init 下最后一行增加命令如下图
保存
4.修改 default.prop 永久获取root 权限
保存
5.在当前ramdisk 目录下打包 (在打包前可以删除linux 目录下的 boot-myimx6ek200-6q.img-ramdisk.gz 文件以免产生误解)
命令:
mkbootfs .| minigzip > . ./boot-myimx6ek200-6q.img-ramdisk.gz
在上层目录 linux 下可以看到重新生成的文件
6,打包 boot-myimx6ek200-6q.img 在linux 目录下
命令:./mkbootimg --base 0x14000000 --cmdline ‘console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=256M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=384M’ --ramdisk ./boot-myimx6ek200-6q.img-ramdisk.gz --pagesize 2048 --kernel ./boot-myimx6ek200-6q.img-zImage - -second myimx6ek200-6q.dtb -o boot-myimx6ek200-6q.img
7.烧写板子,获取root 完成,然后想说一句 真tmd的不容易。