[i.MX] Android系统的fstab.freescale如何配置

[复制链接]
 楼主| songshu_yan 发表于 2015-10-29 11:49 | 显示全部楼层 |阅读模式
我使用的是Android5.0系统,在imx6上移植。

1、把镜像文件全部烧写到sd卡上,此时内核可以正常启动,不能启动文件系统;
2、把uboot.imx和boot.img烧写到sd卡上,system.img和recovery.img烧写到emmc中,测试可以启动文件系统;(fstab.freescale文件中的mmcblk为3)

我开始猜测应该fstab_sd.freescale文件mmcblk配置不正确, 然后分别测试过使用mmcblk0  mmcblk1 mmcblk2 mmcblk3,都不能启动sd卡中的system。


1、mmcblk的值是如何确定的呢?
2、fstab.fresscale文件中的前两句是什么意思?
/devices/soc0/soc.1/2100000.aips-bus/2194000.usdhc/mmc_host /mnt/media_rw/extsd vfat defaults voldmanaged=extsd:auto
/devices/soc0/soc.1/2100000.aips-bus/2184000.usb/ci_hdrc.0  /mnt/media_rw/udisk vfat defaults voldmanaged=udisk:auto


非常感谢!
quray1985 发表于 2015-10-29 11:58 | 显示全部楼层
我也不是太懂,帮楼主顶一下吧
 楼主| songshu_yan 发表于 2015-10-29 12:02 | 显示全部楼层
quray1985 发表于 2015-10-29 11:58
我也不是太懂,帮楼主顶一下吧

谢谢!我刚开始做这方面的东西,很多小问题都要卡好久
ach_dmatek 发表于 2015-10-29 16:11 | 显示全部楼层
mcftools工具会自动给你的mmc分区,不需要手动。
 楼主| songshu_yan 发表于 2015-10-29 17:14 | 显示全部楼层
本帖最后由 songshu_yan 于 2015-10-29 17:16 编辑
ach_dmatek 发表于 2015-10-29 16:11
mcftools工具会自动给你的mmc分区,不需要手动。

我用mcftools工具烧写到sd卡中时一直报错,所以我采用Android源码中自带的脚本文件对sd卡进行分区。
分区应该是没有问题的,完全按照文档来的,但是在fstab_sd.freescale文件中mmcblk“”应该是选择哪一个呢

fstab_sd.freescale.c文件:

/dev/block/mmcblk0p5    /system      ext4    rw,barrier=1                                                                               wait,verify
/dev/block/mmcblk0p4    /data        ext4    nosuid,nodev,nodiratime,noatime,nomblk_io_submit,noauto_da_alloc,errors=panic    wait,encryptable=/dev/block/mmcblk0p9
/dev/block/mmcblk0p6    /cache       ext4    nosuid,nodev,nomblk_io_submit                                                     wait
/dev/block/mmcblk0p7    /device      ext4    rw,nosuid,nodev                                                                  wait
/dev/block/mmcblk0p1    /boot        emmc    defaults                                                                         defaults
/dev/block/mmcblk0p2    /recovery    emmc    defaults                                                                         defaults
/dev/block/mmcblk0p8    /misc        emmc    defaults                                                                         defaults
      
Messi1999 发表于 2015-10-29 20:59 | 显示全部楼层
都是自动完成,不需手动啊
 楼主| songshu_yan 发表于 2015-10-30 08:54 | 显示全部楼层
本帖最后由 songshu_yan 于 2015-10-30 08:59 编辑
Messi1999 发表于 2015-10-29 20:59
都是自动完成,不需手动啊

分区是自动完成的,没有问题。我的分区也是没有问题的。

问题是在板子运行时,kenerl挂载system时,是去挂emmc中的system还是sd卡中的system。

在Android4.3中,需要修改fstab.freescale中的mmcblk值,然后kenerl才能找到对应的system。当mmcblk0时,挂载的是emmc中的system,当为mmcblk1时,运行的是sd卡中的system;在文档中有说明。所以5.0中怎么修改呢?


Android4.3

Android4.3

ach_dmatek 发表于 2015-10-30 09:31 | 显示全部楼层
你先确定你的EMMC和SD卡对应的通道,对应的就是mmcblkn,这个n就是软体对不同SD卡通道的注册号。
 楼主| songshu_yan 发表于 2015-10-30 10:01 | 显示全部楼层
ach_dmatek 发表于 2015-10-30 09:31
你先确定你的EMMC和SD卡对应的通道,对应的就是mmcblkn,这个n就是软体对不同SD卡通道的注册号。 ...

如何去确定EMMC和SD卡对应的通道呢?

EMMC和SD对应的通道是指对应的mmc的值吗?在uboot中有说明emmc对应的mmc2, SD2对应mmc0。我分别试过mmcblk0,mmcblk1, mmcblk2, mmcblk3 ,都是不能挂载sd中的system.

如果是在kernel中对应的,是哪个文件中实现的?我在kernel中找了好久都没找到
mobz 发表于 2015-10-30 16:42 | 显示全部楼层
/devices/soc0/soc.1/2100000.aips-bus/2194000.usdhc/mmc_host /mnt/media_rw/extsd vfat defaults voldmanaged=extsd:auto   这个是SDCARD
/devices/soc0/soc.1/2100000.aips-bus/2184000.usb/ci_hdrc.0  /mnt/media_rw/udisk vfat defaults voldmanaged=udisk:auto   这个是U DISK
mmcblkN N 是分区
追逐浪花 发表于 2015-10-31 10:18 | 显示全部楼层
mobz 发表于 2015-10-30 16:42
/devices/soc0/soc.1/2100000.aips-bus/2194000.usdhc/mmc_host /mnt/media_rw/extsd vfat defaults voldma ...

有没有用MMC的分区呢
 楼主| songshu_yan 发表于 2015-11-2 09:08 | 显示全部楼层
追逐浪花 发表于 2015-10-31 10:18
有没有用MMC的分区呢

MMC是指什么?
mini1986 发表于 2015-11-5 09:56 | 显示全部楼层
mmcblkXpY,X代表某个MMC存储设备,Y代表分区......
piao50 发表于 2015-11-9 13:36 | 显示全部楼层
用 make BUILD_TARGET_DEVICE=sd
piao50 发表于 2015-11-9 13:37 | 显示全部楼层
自动会生成sd引导的fstab
 楼主| songshu_yan 发表于 2015-11-10 11:25 | 显示全部楼层
piao50 发表于 2015-11-9 13:36
用 make BUILD_TARGET_DEVICE=sd

我编译的时候添加这句话了。仍然报上面的问题。分析日志发现我的mmc是从2开始,而且之后mmc2和mmc3。sd卡对应的时mmc0。这会不会有关系呢?

sdhci-esdhc-imx: probe of 2194000.usdhc failed with error -16
mmc2: no vqmmc regulator found
mmc2: no vmmc regulator found
usb 1-1: new high-speed USB device number 3 using ci_hdrc
mmc2: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA
mmc3: no vqmmc regulator found
mmc3: no vmmc regulator found
mmc3: SDHCI controller on 219c000.usdhc [219c000.usdhc] using ADMA
mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
mxc_asrc 2034000.asrc: mxc_asrc registered
mxc_vpu 2040000.vpu: VPU initialized
leds-gpio gpio-leds.21: pins are not configured from the driver
hidraw: raw HID events driver (C) Jiri Kosina
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
ashmem: initialized
fenjin517 发表于 2015-12-9 10:17 | 显示全部楼层
试试改下这两个文件,看看是否可以

        modified:   imx6/sabresd_6dq.mk
        modified:   sabresd_6dq/fstab_sd.freescale



ifneq ($(BUILD_TARGET_DEVICE),sd)
PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/mmcblk3p5
$(call inherit-product, build/target/product/verity.mk)
else
PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/mmcblk2p5
$(call inherit-product, build/target/product/verity.mk)

endif
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

30

帖子

0

粉丝