打印
[i.MX]

Android系统的fstab.freescale如何配置

[复制链接]
7196|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我使用的是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分区,不需要手动。

使用特权

评论回复
5
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
      

使用特权

评论回复
6
Messi1999| | 2015-10-29 20:59 | 只看该作者
都是自动完成,不需手动啊

使用特权

评论回复
7
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中怎么修改呢?



使用特权

评论回复
8
ach_dmatek| | 2015-10-30 09:31 | 只看该作者
你先确定你的EMMC和SD卡对应的通道,对应的就是mmcblkn,这个n就是软体对不同SD卡通道的注册号。

使用特权

评论回复
9
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中找了好久都没找到

使用特权

评论回复
10
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 是分区

使用特权

评论回复
11
追逐浪花| | 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的分区呢

使用特权

评论回复
12
songshu_yan|  楼主 | 2015-11-2 09:08 | 只看该作者
追逐浪花 发表于 2015-10-31 10:18
有没有用MMC的分区呢

MMC是指什么?

使用特权

评论回复
13
mini1986| | 2015-11-5 09:56 | 只看该作者
mmcblkXpY,X代表某个MMC存储设备,Y代表分区......

使用特权

评论回复
14
piao50| | 2015-11-9 13:36 | 只看该作者
用 make BUILD_TARGET_DEVICE=sd

使用特权

评论回复
15
piao50| | 2015-11-9 13:37 | 只看该作者
自动会生成sd引导的fstab

使用特权

评论回复
16
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

使用特权

评论回复
17
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

粉丝