Hikey970 Android won't boot

I built boot.img as described on Build & Update Linux kernel on HiKey970 - 96Boards.
But boot fail due to calling init failure.

I checked if there was init file. It was.
android$ ls -l out/target/product/hikey970/system/bin/init
-rwxrwxr-x 1 jole jole 640768 Oct 2 15:28 out/target/product/hikey970/system/bin/init

[ 5.618658] init: init first stage started!
[ 5.622934] init: Using Android DT directory /proc/device-tree/firmware/android/
[ 5.630411] init: [libfs_mgr]fs_mgr_read_fstab_dt(): failed to read fstab from dt
[ 5.637965] init: Failed to read fstab from device tree
[ 5.643279] init: [libfs_mgr]fs_mgr_read_fstab_default(): failed to find device default fstab
[ 5.651818] init: [libfs_mgr]fs_mgr_read_fstab_dt(): failed to read fstab from dt
[ 5.659329] init: First stage mount skipped (missing/incompatible/empty fstab in device tree)
[ 5.667884] init: Skipped setting INIT_AVB_VERSION (not in recovery mode)
[ 5.674687] init: execv("/system/bin/init") failed: No such file or directory
[ 5.681825] init: Reboot ending, jumping to kernel
[ 5.686622] kvm: exiting hardware virtualization
[ 5.691494] hifi_misc [I][360334]:hifi_reboot_notifier:1378: reboot +.
[ 5.698024] hifi_misc [I][360548]:hifi_reboot_notifier:1387: reboot -.
[ 5.705749] sd 0:0:0:3: [sdd] Synchronizing SCSI cache
[ 5.711189] sd 0:0:0:2: [sdc] Synchronizing SCSI cache
[ 5.716590] sd 0:0:0:1: [sdb] Synchronizing SCSI cache
[ 5.721989] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[ 5.797919] (stk) : timed out waiting for ldisc to be un-installed[ 5.910948] (stk) :ldisc_install = 1
[ 5.921942] reboot: Restarting system with command ‘bootloader’

I think this is the same kind of issue as the one on dragonboard (Bootloop in db410c for Linaro AOSP using custom Kernel).

init is unable to find partition table to mount system part, which is supposed to be defined in the device-tree.
I found this patch for hikey960: Diff - 984ec0cd1188833c8ccac36c888a7524f916284e^! - kernel/hikey-linaro - Git at Google
but nothing for Hikey970.

Could you try to apply the same kind of change in hike970 dts and let me know.

Thank you very much for your help, Loic. Let me try it.

After using ramdisk.img from official release http://hihope.org/resource/hikey970_android_8_images.rar , this booting problem fixed without any changes on dts file for Hikey970.

Previously, I had used ramdisk.img by building android instructed on Build AOSP on HiKey970 - 96Boards.

I hope that official document for Hikey970/960 provide exact information.

Thanks again for your help Loic.

1 Like

i tried applying these changed but doesnt work for hikey970.
error:
init: [libfs_mgr]ReadFstabFromDt(): failed to read fstab from dt

have you had any success with correcting hikey970 DT making it compatible with latest Android treble requirement ?
Thanks

i had try modify dt but it not work. i add “root=/dev/sdd12” to cmdline and then work normaly.