如何根植你自己的 AOSP 构建?

How to root your own AOSP build?

当我们使用:

时,我们拥有对 AOSP 构建的 root 访问权限
lunch smarc_mx8mq-eng

我们如何在使用后获得根shell:

lunch smarc_mx8mq-user

这可以是对 AOSP 源的任何形式的临时破解,但构建必须保持为用户构建。

我读到 / 是用 nosetuid 安装的,但对我们来说情况似乎并非如此:

smarc_mx8mq:/ # mount 
/dev/block/mmcblk1p5 on / type ext4 (ro,seclabel,relatime,block_validity,delalloc,barrier,user_xattr,acl,inode_readahead_blks=8)

(一旦我构建了一个 user 构建,我将再次检查它。)

获取我们自己的 AOSP 构建的最佳方法是什么?

解决方案是将 boot-debug.img 闪存到引导分区。

$ sudo fastboot flash boot boot-debug.img
target reported max download size of 419430400 bytes
sending 'boot_a' (43252 KB)...
OKAY [  2.270s]
writing 'boot_a'...
OKAY [  2.163s]
finished. total time: 4.433s
...
$ adb shell
smarc_mx8mq:/ $ exit
$ adb root
restarting adbd as root
$ adb shell
smarc_mx8mq:/ #