android emmc重新分区,Android EMMC中添加分区并开机自动挂载方法

文章目录

一、修改分区表

二、添加挂载目录

三、修改SELinux,添加权限

四、修改fstab,添加挂载

环境:

CPU: i.MX8qxp

OS: Android 9.0

RAM: 4GB

eMMC: 32GB

一、修改分区表

分区表文件为:device/fsl/common/partition/device-partitions-28GB-ab-dual-bootloader.bpt。

我们需要添加一个10GB的分区,假如命名为misc,在分区表中添加如下代码:

{

"label": "misc",

"size": "1024 MiB",

"guid": "auto",

},

然后编译源码,编译完毕之后,在out目录下找到文件partition-table-13GB.bpt,查看文件中misc分区的type_guid字段,将此字段添加到分区表device-partitions-28GB-ab-dual-bootloader.bpt中,修改后添加的分区信息如下:

{

"label": "misc",

"size": "4 MiB",

"guid": "auto",

"type_guid": "6b2378b0-0fbc-4aa9-a4f6-4d6e17281c47"

},

二、添加挂载目录

想要编译出来的文件系统内包含挂载目录,需要修改文件system/core/rootdir/Android.mk,加入我们需要在根文件系统中添加一个misc目录,则在此文件中添加如下内容(下面代码中的misc):

LOCAL_POST_INSTALL_CMD := mkdir -p $(addprefix $(TARGET_ROOT_OUT)/, \

sbin dev proc sys system data device map odm oem acct config storage mnt misc $(BOARD_ROOT_EXTRA_FOLDERS)); \

三、修改SELinux,添加权限

如上一节内容,在根文件系统中添加misc目录之后,我们编译会报错。那是因为我们没有在SELinux中添加这个目录的权限。我们需要修改文件system/sepolicy/private/file_contexts,添加如下内容:

/misc u:object_r:rootfs:s0

然后修改文件:system/sepolicy/prebuilts/api/28.0/private/file_contexts,添加如下内容:

/misc u:object_r:rootfs:s0

四、修改fstab,添加挂载

只差最后一步了,我们修改文件device/fsl/imx8q/mek_8q/fstab.freescale.car,在最后添加如下内容:

/dev/block/by-name/device /device ext4 nosuid,nodev,nodiratime,noatime,nomblk_io_submit,noauto_da_alloc wait,check,formattable,quota,fileencryption=software

大功告成,再次编译并烧录,10GB的misc分区编成功挂载到/misc目录下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值