Hi NXP team
I am using i.mx 8m mini evk lpddr4 borad to test android-10.0.0_2.5.0_image_8mmevk image .
I find when i using emmc flash this image and boot , everything is fine。
Using sdcard flash this image and boot ,the system will be occurs FirstStageMount::InitRequiredDevices() failed.
But when i using android-10.0.0_2.3.0_image_8mmevk image file to test ,everything is ok。
The dmesg log like below:
[ 3.412698] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 3.424125] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 3.430915] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 3.439520] ALSA device list:
[ 3.439578] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[ 3.442526] #0: imx-spdif
[ 3.453064] #1: imx-audio-micfil
[ 3.456469] #2: bt-sco-audio
[ 3.459531] #3: wm8524-audio
[ 3.773753] imx6q-pcie 33800000.pcie: Phy link never came up
[ 3.779471] imx6q-pcie 33800000.pcie: failed to initialize host
[ 3.785423] imx6q-pcie 33800000.pcie: unable to add pcie port.
[ 3.793459] Freeing unused kernel memory: 4352K
[ 3.798039] Run /init as init process
[ 3.830209] init: init first stage started!
[ 3.834698] init: Switching root to '/first_stage_ramdisk'
[ 3.842307] init: Using Android DT directory /proc/device-tree/firmware/android/
[ 3.924001] init: bool android::init::FirstStageMount::InitRequiredDevices(): partition(s) not found in /sys, waiting for their uevent(s): boot_a, dtbo_a, metadata, super, vbmeta_a
[ 13.949749] init: Wait for partitions returned after 10008ms
[ 13.955835] init: bool android::init::FirstStageMount::InitRequiredDevices(): partition(s) not found after polling timeout: boot_a, dtbo_a, metadata, super, vbmeta_a
[ 13.974229] init: Failed to mount required partitions early ...
[ 14.000606] init: #00 pc 00000000000675cc /system/bin/init
[ 14.006918] init: #01 pc 0000000000093094 /system/bin/init
[ 14.012712] init: #02 pc 000000000000c650 /system/lib64/libbase.so
[ 14.019050] init: #03 pc 000000000003ef6c /system/bin/init
[ 14.024656] init: #04 pc 00000000000230f4 /system/bin/init
[ 14.030260] init: #05 pc 000000000007d844 /system/lib64/libc.so
[ 14.036298] init: Reboot ending, jumping to kernel
[ 14.041573] kvm: exiting hardware virtualization
[ 14.042504] imx-sdma 302b0000.dma-controller: external firmware not found, using ROM firmware
[ 14.042925] cfg80211: failed to load regulatory.db
[ 14.042967] imx-sdma 302c0000.dma-controller: external firmware not found, using ROM firmware
[ 14.043479] imx-sdma 30bd0000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2
[ 14.043499] imx-sdma 30bd0000.dma-controller: Falling back to sysfs fallback for: imx/sdma/sdma-imx7d.bin
[ 18.986601] init: Reboot ending, jumping to kernel
my sdcard is 16GB , UUU tool work on win10 and ubuntu 18.04 both .
with uuu command
version android-10.0.0_2.5.0_image 8m evk
emmc -> .\uuu_imx_android_flash.bat -f imx8mm -a -e => System OK
sdcard -> .\uuu_imx_android_flash.bat -f imx8mm -t sd -a -e ->System failed
and i change the version to android-10.0.0_2.3.0_image 8m evk
emmc -> .\uuu_imx_android_flash.bat -f imx8mm -a -e => System OK
sdcard -> .\uuu_imx_android_flash.bat -f imx8mm -t sd -a -e => SystemOK
Please help for this.
Thanks.
Solved! Go to Solution.
The controller connected to the SDcard slot is set to work with Wi-Fi expansion card in Android10.0.0_2.5.0 demo image, it does not support to access SDcard.
so basically, if the dtbo image support Wi-Fi expansion card, then the images cannot boot up from SD card.
The controller connected to the SDcard slot is set to work with Wi-Fi expansion card in Android10.0.0_2.5.0 demo image, it does not support to access SDcard.
so basically, if the dtbo image support Wi-Fi expansion card, then the images cannot boot up from SD card.
OK. i got it.
thanks a lot.
Hi wadewu
Can you tell me if the images downloaded on our website or made by yourself?
Best Regards
Zhiming
Hello Zhiming:
Thanks for your quick reply.
I just download the website Demo Image , and test the programming to eMMC and SDCARD and
Boot.
Q10.0.0_2.5.0_DEMO_8MM (REV Q10.0.0_2.5.0) GZ 1727911 KB 2020-10-19 10:09 00
.. eMMC boot success , but sdcard boot error
and
Q10.0.0_2.3.0_DEMO_8MM(REV Q10.0.0_2.3.0) GZ 610822 KB 2020-07-10 17:07:00
.. eMMC and sdcard boot Success.
the two package different dmesg log like below
Q10.0.0_2.5.0: (boot with sdcard)
[ 3.368097] ak4458 2-0010: ASoC: failed to probe component -6
[ 3.373900] imx-ak4458 sound-ak4458: ASoC: failed to instantiate card -6
[ 3.380642] imx-ak4458 sound-ak4458: snd_soc_register_card failed (-6)
[ 3.388821] input: bd718xx-pwrkey as /devices/platform/soc@0/soc@0:bus@30800000/30a20000.i2c/i2c-0/0-004b/gpio-keys.1.auto/input/input1
[ 3.401862] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 3.412071] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 3.418824] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 3.427484] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[ 3.427539] ALSA device list:
[ 3.438429] #0: imx-spdif
[ 3.441237] #1: imx-audio-micfil
[ 3.444649] #2: bt-sco-audio
[ 3.447706] #3: wm8524-audio
[ 3.770099] imx6q-pcie 33800000.pcie: Phy link never came up
[ 3.775809] imx6q-pcie 33800000.pcie: failed to initialize host
[ 3.781753] imx6q-pcie 33800000.pcie: unable to add pcie port.
[ 3.789763] Freeing unused kernel memory: 4352K
[ 3.794350] Run /init as init process
[ 3.826288] init: init first stage started!
[ 3.830772] init: Switching root to '/first_stage_ramdisk'
[ 3.838376] init: Using Android DT directory /proc/device-tree/firmware/android/
[ 3.919669] init: bool android::init::FirstStageMount::InitRequiredDevices(): partition(s) not found in /sys, waiting for their uevent(s): boot_a, dtbo_a, metadata, super, vbmeta_a
system auto reboot...
Q10.0.0_2.3.0: (boot with sdcard)
[ 3.524274] ak4458 2-0010: ASoC: failed to probe component -6
[ 3.530100] imx-ak4458 sound-ak4458: ASoC: failed to instantiate card -6
[ 3.536836] mmc1: host does not support reading read-only switch, assuming write-enable
[ 3.544918] imx-ak4458 sound-ak4458: snd_soc_register_card failed (-6)
[ 3.553315] input: bd718xx-pwrkey as /devices/platform/soc@0/soc@0:bus@30800000/30a20000.i2c/i2c-0/0-004b/gpio-keys.1.auto/input/input1
[ 3.566278] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 3.576600] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 3.583213] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 3.591709] ALSA device list:
[ 3.591863] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[ 3.594836] #0: imx-spdif
[ 3.605381] #1: imx-audio-micfil
[ 3.608983] #2: bt-sco-audio
[ 3.612041] #3: wm8524-audio
[ 3.702223] mmc1: new ultra high speed SDR104 SDHC card at address aaaa
[ 3.709736] mmcblk1: mmc1:aaaa SC16G 14.8 GiB
[ 3.724081] GPT:disk_guids don't match.
[ 3.727938] GPT:partition_entry_array_crc32 values don't match: 0xf377d766 != 0xf5e50238
[ 3.736036] GPT:Primary header thinks Alt. header is not at the end of the disk.
[ 3.743437] GPT:27262975 != 31116287
[ 3.747017] GPT:Alternate GPT header not at the end of the disk.
[ 3.753042] GPT:27262975 != 31116287
[ 3.756623] GPT: Use GNU Parted to correct GPT errors.
[ 3.761800] mmcblk1: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12
[ 4.004280] imx6q-pcie 33800000.pcie: Phy link never came up
[ 4.009998] imx6q-pcie 33800000.pcie: failed to initialize host
[ 4.015941] imx6q-pcie 33800000.pcie: unable to add pcie port.
[ 4.024495] Freeing unused kernel memory: 4416K
[ 4.029086] Run /init as init process
[ 4.059352] init: init first stage started!
[ 4.063828] init: Switching root to '/first_stage_ramdisk'
[ 4.071193] init: Using Android DT directory /proc/device-tree/firmware/android/
[ 4.096534] init: [libfs_mgr]Created logical partition system_a on device /dev/block/dm-0
[ 4.104822] init: [libfs_mgr]Skipping zero-length logical partition: system_b
[ 4.117552] init: [libfs_mgr]Created logical partition vendor_a on device /dev/block/dm-1
[ 4.125772] init: [libfs_mgr]Skipping zero-length logical partition: vendor_b
[ 4.133641] init: [libfs_mgr]Created logical partition product_a on device /dev/block/dm-2
[ 4.141945] init: [libfs_mgr]Skipping zero-length logical partition: product_b
continue.....
Hi
Our evk support max sd speed 200MHZ, you use a 200MHZ+ SD. Our default image made for 200MHZ SD card.So you need change source code in \android_build\vendor\nxp-opensource\kernel_imx\drivers\mmc\core\host.c
if (device_property_read_bool(dev, "mmc-hs200-1_8v"))
host->caps2 |= MMC_CAP2_HS200_1_8V_SDR;
if (device_property_read_bool(dev, "mmc-hs200-1_2v"))
host->caps2 |= MMC_CAP2_HS200_1_2V_SDR;
if (device_property_read_bool(dev, "mmc-hs400-1_8v"))
host->caps2 |= MMC_CAP2_HS200_1_8V_SDR;
if (device_property_read_bool(dev, "mmc-hs400-1_2v"))
host->caps2 |= MMC_CAP2_HS200_1_8V_SDR;
if (device_property_read_bool(dev, "mmc-hs400-enhanced-strobe"))
host->caps2 |= MMC_CAP2_HS200_1_8V_SDR;
Hi:
i am download imx-android-10.0.0_2.5.0.tar from website and building.
and modify the \android_build\vendor\nxp-opensource\kernel_imx\drivers\mmc\core\host.c
but this method still does not solve the problem.
i am compared imx-android-10.0.0_2.3.0.tar and imx-android-10.0.0_2.5.0.tar two version of the native code.
i find the two different parts, maybe cause sdcard issue.
\android_build\device\fsl\imx8m\evk_8mm\BoardConfig.mk ln191
+ BOARD_USES_METADATA_PARTITION:=true
+ BOARD_ROOT_EXTRA_FOLDERS += metadata
\android_build\vendor\nxp-opensource\kernel_imx\arch\arm64\boot\dts\freescale\imx8mm-evk.dts
+ metadata{
compatible ="android,metadata";
dev ="/dev/block/by-name-metadata";
type="ex4";
mnt_flags="noatime,nosuid,nodev,discard,sync";
fsmgr_flags="wait,formattable,firsat_stage_mount";
};
maybe this different parts cause.
And now we decided to use the imx-android-10.0.0_2.3.0.tar version development and testing
Thanks a lot.
Or if you will made imx8mm board by yourself.You can design 400MHZ SD interface and add it in dts.