Android 13.4.1 can't boot on SD card on iMX6Solo board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Android 13.4.1 can't boot on SD card on iMX6Solo board

Jump to solution
3,497 Views
williamtung
Contributor III

We have a iMX6 solo board that comes with SD card on SD3 and eMMC on SD4. We downloaded Linux 3.0.35_3.0.0 and Android 13.4.1 and then patched with board specific files on kernel and uboot. The solo board can boot to Linux and mount ubuntu filesystem on SD card without any problem. However, it failed to boot to Android and stopped after "Freeing init memory: 192K". I think it stuck at mounting filesystem (on fs) from init.freescale.rc.

on fs

# mount ext4 partitions

    mount ext4 /dev/block/mmcblk0p5 /system

    mount ext4 /dev/block/mmcblk0p5 /system ro remount

    mount ext4 /dev/block/mmcblk0p7 /data nosuid nodev nodiratime noatime errors=panic,discard,nomblk_io_submit,noauto_da_alloc

    mount ext4 /dev/block/mmcblk0p6 /cache nosuid nodev

    mount ext4 /dev/block/mmcblk0p8 /device ro nosuid nodev


I then commented all lines above and mounted as NFS. The board can boot to Android desktop with poor performance due to solo + 512MB RAM. It comes with new problem that service wpa_supplicant fails to load. I got error message from logcat:

no such service 'wpa_supplicant:-iwlan0 -c/data/misc/wifi/wpa_supplicant.conf'

I followed this document to get rid of ramdisk: All Board Android Without Ramdisk

I prepared one SD card, created one partition, formatted as ext3, copied RFS onto it. The solo board can boot up to Android desktop with parameter "noinitrd root=/dev/mmcblk0p1" but same error on wpa_supplicant service.

We have a quad board that comes with same SD card (SD3) and eMMC (SD4). There's no problem to boot from either SD card or eMMC. The same Intel wifi module works on the quad board.

I've tried to use ramdisk.img from wandboard.org but same result stuck after "Freeing init memory: 192K". Can somebody point out how to boot solo board from SD card? Any suggestions and comments are appreciated.

Labels (2)
1 Solution
1,054 Views
williamtung
Contributor III

I just figured out the init didn't execute init.freescale.rc. That's why I couldn't get to Android desktop while NFS and no-ramdisk method were working. :smileyhappy:

View solution in original post

2 Replies
1,053 Views
prasannakulkarni
Contributor IV

We could able to boot from SD card over imx6 solo, android 13.4.1. as default boot mem was emmc i have just disabled emmc driver registration from board file. In this case we should not alter the init.freescale.rc file as SD card itself will mount as /dev/mmcblk0px (absence of emmc). And also we are using micro SD card so one more problem we had faced regarding write protection of card, due to this android was not mounting /system partition. Then wp bit was set to zero in board file after that it started booting and got android prompt.     

0 Kudos
Reply
1,055 Views
williamtung
Contributor III

I just figured out the init didn't execute init.freescale.rc. That's why I couldn't get to Android desktop while NFS and no-ramdisk method were working. :smileyhappy: