Hey Guys,
I am porting android 9 for our custom board based on imx6q sabresd board. I've config. the device tree and ubooot and build the android images. After flashing the images to sd-card and powering the board, the Kernel is loading (for both normal boot and recovery) but after it starts init process it isn't loading the android system or recovery system. It doesn't even mount the sd card partitions for boot according to bootlog.
I've verified the fstab.freescale file in the /vendor partition which contains filesystem to be mounted for every partition.
The following is the section of boot log for normal boot and recovery boot where I think the problem is and I've bolded the problems, but I don't know why is it happening and how to solve?
=================>>>>>>>>>>>>>>>>>>> Normal Boot <<<<<<<<<<<<<<<<<<<==================
Freeing unused kernel memory: 1024K
init: init first stage started!
init: Using Android DT directory /proc/device-tree/firmware/android/
init: [libfs_mgr]fs_mgr_read_fstab_default(): failed to find device default fstab
init: bool android::init::FirstStageMount::InitRequiredDevices(): partition(s) not found in /sys, waiting for their uevent(s): boot, system, vbmeta, vendor
mmc1: Timeout waiting for hardware cmd interrupt.
mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
mmc1: sdhci: Sys addr: 0x00000000 | Version: 0x00000002
mmc1: sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000001
mmc1: sdhci: Argument: 0x00000c00 | Trn mode: 0x00000000
mmc1: sdhci: Present: 0x01f88009 | Host ctl: 0x00000001
mmc1: sdhci: Power: 0x00000000 | Blk gap: 0x00000080
mmc1: sdhci: Wake-up: 0x00000008 | Clock: 0x000010ff
mmc1: sdhci: Timeout: 0x0000008e | Int stat: 0x00000000
mmc1: sdhci: Int enab: 0x007f1003 | Sig enab: 0x007f1003
mmc1: sdhci: AC12 err: 0x00000000 | Slot int: 0x00000003
mmc1: sdhci: Caps: 0x07eb0000 | Caps_1: 0x0000a000
mmc1: sdhci: Cmd: 0x0000341a | Max curr: 0x00ffffff
mmc1: sdhci: Resp[0]: 0x00000000 | Resp[1]: 0x00000000
mmc1: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000000
mmc1: sdhci: Host ctl2: 0x00000000
mmc1: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000
mmc1: sdhci: ============================================
init: Wait for partitions returned after 10010ms
init: bool android::init::FirstStageMount::InitRequiredDevices(): partition(s) not found after polling timeout: boot, system, vbmeta, vendor
init: Failed to mount required partitions early ...
init: Reboot start, reason: reboot, rebootTarget: bootloader
init: Reboot ending, jumping to kernel
imx-sdma 20ec000.sdma: external firmware not found, using ROM firmware
ci_hdrc ci_hdrc.1: remove, state 4
usb usb2: USB disconnect, device number 1
ci_hdrc ci_hdrc.1: USB bus 2 deregistered
ci_hdrc ci_hdrc.0: remove, state 4
usb usb1: USB disconnect, device number 1
ci_hdrc ci_hdrc.0: USB bus 1 deregistered
reboot: Restarting system with command 'bootloader'
=================>>>>>>>>>>>>>>>>> Recovery <<<<<<<<<<<<<<<<<<==================
Freeing unused kernel memory: 1024K
init: init first stage started!
init: First stage mount skipped (recovery mode)
init: Using Android DT directory /proc/device-tree/firmware/android/
init: bool android::init::FirstStageMount::InitRequiredDevices(): partition(s) not found in /sys, waiting for their uevent(s): boot, system, vbmeta, vendor
mmc1: Timeout waiting for hardware cmd interrupt.
mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
mmc1: sdhci: Sys addr: 0x00000000 | Version: 0x00000002
mmc1: sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000001
mmc1: sdhci: Argument: 0x00000c00 | Trn mode: 0x00000000
mmc1: sdhci: Present: 0x01f88009 | Host ctl: 0x00000001
mmc1: sdhci: Power: 0x00000000 | Blk gap: 0x00000080
mmc1: sdhci: Wake-up: 0x00000008 | Clock: 0x000010ff
mmc1: sdhci: Timeout: 0x0000008e | Int stat: 0x00000000
mmc1: sdhci: Int enab: 0x007f1003 | Sig enab: 0x007f1003
mmc1: sdhci: AC12 err: 0x00000000 | Slot int: 0x00000003
mmc1: sdhci: Caps: 0x07eb0000 | Caps_1: 0x0000a000
mmc1: sdhci: Cmd: 0x0000341a | Max curr: 0x00ffffff
mmc1: sdhci: Resp[0]: 0x00000000 | Resp[1]: 0x00000000
mmc1: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000000
mmc1: sdhci: Host ctl2: 0x00000000
mmc1: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000
mmc1: sdhci: ============================================
init: Wait for partitions returned after 10009ms
init: bool android::init::FirstStageMount::InitRequiredDevices(): partition(s) not found after polling timeout: boot, system, vbmeta, vendor
init: Failed to init devices for INIT_AVB_VERSION
init: Loading SELinux policy
SELinux: Class process2 not defined in policy.
SELinux: Class infiniband_pkey not defined in policy.
SELinux: Class infiniband_endport not defined in policy.
SELinux: the above unknown classes and permissions will be denied
SELinux: policy capability network_peer_controls=1
SELinux: policy capability open_perms=1
SELinux: policy capability extended_socket_class=1
SELinux: policy capability always_check_network=0
SELinux: policy capability cgroup_seclabel=0
SELinux: policy capability nnp_nosuid_transition=0
audit: type=1403 audit(43.980:2): policy loaded auid=4294967295 ses=4294967295
selinux: SELinux: Loaded policy from /sepolicy
selinux: SELinux: Loaded file_contexts
init: init second stage started!
init: Using Android DT directory /proc/device-tree/firmware/android/
selinux: SELinux: Loaded file_contexts
init: Running restorecon...
selinux: SELinux: Could not stat /dev/block: No such file or directory.
init: waitid failed: No child processes
init: Couldn't load property file '/system/etc/prop.default': open() failed: No such file or directory: No such file or directory
init: Unable to set property 'ro.product.first_api_level' to '26' in property file '/prop.default': Read-only property was already set
init: Couldn't load property file '/product/build.prop': open() failed: No such file or directory: No such file or directory
init: Couldn't load property file '/odm/default.prop': open() failed: No such file or directory: No such file or directory
audit: type=1400 audit(44.140:3): avc: denied { dac_read_search } for pid=1 comm="init" capability=2 scontext=u:r:init:s0 tcontext=u:r:init:s0 tclass=capability permissive=1
ueventd: ueventd started!
audit: type=1400 audit(44.140:4): avc: denied { create } for pid=1 comm="init" name="cgroup.procs" scontext=u:r:init:s0 tcontext=u:object_r:rootfs:s0 tclass=file permissive=1
selinux: SELinux: Loaded file_contexts
audit: type=1400 audit(44.140:5): avc: denied { write } for pid=1 comm="init" path="/acct/uid_0/pid_145/cgroup.procs" dev="rootfs" ino=12430 scontext=u:r:init:s0 tcontext=u:object_r:rootfs:s0 tclass=file permissive=1
ueventd: Parsing file /ueventd.rc...
ueventd: Parsing file /vendor/ueventd.rc...
ueventd: Unable to read config file '/vendor/ueventd.rc': open() failed: No such file or directory
ueventd: Parsing file /odm/ueventd.rc...
ueventd: Unable to read config file '/odm/ueventd.rc': open() failed: No such file or directory
ueventd: Parsing file /ueventd.freescale.rc...
ueventd: Unable to read config file '/ueventd.freescale.rc': open() failed: No such file or directory
ueventd: firmware: loading 'imx/sdma/sdma-imx6q.bin' for '/devices/soc0/soc/2000000.aips-bus/20ec000.sdma/firmware/imx!sdma!sdma-imx6q.bin'
audit: type=1400 audit(44.420:6): avc: denied { write } for pid=1 comm="init" name="cursor_blink" dev="sysfs" ino=8543 scontext=u:r:init:s0 tcontext=u:object_r:sysfs:s0 tclass=file permissive=1
audit: type=1400 audit(44.420:7): avc: denied { open } for pid=1 comm="init" path="/sys/devices/virtual/graphics/fbcon/cursor_blink" dev="sysfs" ino=8543 scontext=u:r:init:s0 tcontext=u:object_r:sysfs:s0 tclass=file permissive=1
file system registered
audit: type=1400 audit(44.480:8): avc: denied { wake_alarm } for pid=151 comm="charger" capability=35 scontext=u:r:charger:s0 tcontext=u:r:charger:s0 tclass=capability2 permissive=1
healthd: battery l=85 v=3 t=35.0 h=2 st=2 c=400 fc=4000000 cc=32 chg=a
read descriptors
read strings
imx-sdma 20ec000.sdma: external firmware not found, using ROM firmware
mmc1: Timeout waiting for hardware cmd interrupt.
mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
mmc1: sdhci: Sys addr: 0x00000000 | Version: 0x00000002
mmc1: sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000001
mmc1: sdhci: Argument: 0x80000c08 | Trn mode: 0x00000000
mmc1: sdhci: Present: 0x01f88009 | Host ctl: 0x00000001
mmc1: sdhci: Power: 0x00000000 | Blk gap: 0x00000080
I've used fsl_sdcard_partition.sh script on Ubuntu 18.04 to flash the images to sd-card.
can anybody help, i am still stuck with this problem.
Problem Update:
/dev/block directory for block devices (including sd card) isn't being created before init's execution. That is why its not mounting any partition of sd-card.
But I don't know where to add commands to create it and make kernel to load devices into it.
Hello Biswas,
The partition table depends on the size of the storage that you are going to use. If your current storage does not fit with your partition table. You will get errors at the time you are mounting the partitions.
How are you copying and partitioning the eMMC memory? I think you may use UUU.
Regards
Thanks for your fast reply,
But have read my problem description (not just log), because I've mentioned every possible details.
I'm using an SD-card of 8GB(actually 7.38GB) and not emmc and also I'm using fsl_sdcard_partition script for partitioning and flashing.
All the partition are being created properly because I have configured the partition table according to the size of raw images. So the images are flashed properly and not overlapping on other partitions.
When I use UUU with flash script this output appears and remains stuck.
Is it because the libuuu version is 1.3.134 and uuu version required is 1.2.135?
I also tried with uuu 1.2.135....
Hey guys,
I was able to solve this uuu flashing problem. But still the problem is same,,,.After flashing with uuu tool when I reboot the board, it gives the same debug output.
With Regards.
Krishnandu
How did you solve this issue . I am facing similar problem