Hikey960 android-hikey-linaro-4.19 kernel

Hi, I built AOSP image for hikey960 using the known good manifest from 23 April (https://github.com/96boards/aosp-known-good-manifests/blob/master/known-good/hikey960/2019-04-23_16:51:19-pinned-manifest.xml) and 4.19 kernel from https://android.googlesource.com/kernel/hikey-linaro/+/refs/heads/android-hikey-linaro-4.19. However the board would not boot. The green LED flashes once and disappears. It does not boot far enough to get adb logcat so I don’t really know what the error is. fastboot devices and adb devices show up nothing.
The board and ROM boots fine with android-hikey-linaro-4.14 or 4.9. What do I need to do differently in order to use 4.19 kernel? Thank you.

4.19 may not be entirely stable. If you wish to debug it, you will have to debug over UART, since as you have found out, adb won’t work until the userspace has booted.

I am also trying to bring-up hikey960 with the 4.19 kernel.
The platform is booting and functional with both 4.9 and 4.14 kernels.
I fetched the the latest changes from https://android.googlesource.com/kernel/hikey-linaro,
and checked out origin/android-hikey-linaro-4.19.
Last commit on this branch is: bf5db98 ANDROID: Move from clang r349610 to r353983c.
First I cleaned the build directory. from android root:
$ make clobber

Then I proceeded as I usually do. from the android root:
$ . ./build/envsetup.sh
$ lunch hikey960-eng
$ make -j32

No errors. Next I compiled the kernel:
$ make ARCH=arm64 hikey960_defconfig
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-android- -j24 2>&1 | tee kernel_build.log

No errors. Next Update the kernel in the boot image:
$ cp hikey-linaro/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dtb device/linaro/hikey-kernel/hi3660-hikey960.dtb-4.19
$ cp hikey-linaro/arch/arm64/boot/Image.gz-dtb device/linaro/hikey-kernel/Image.gz-dtb-hikey960-4.19

Then, build the boot image:
$ make bootimage TARGET_KERNEL_USE=4.19 -j8

No errors.
However, the platform does not boot properly.
I am getting all kind of dtimage: errors.
The kernel is finally booting but the I can’t connect to the uart terminal.

Looks like the the file system could not load:

[ 5.811879] fsck.f2fs: fsck.f2fs terminated by exit(255)
[ 5.811879]
[ 5.819888] F2FS-fs (sdd13): Magic Mismatch, valid(0xf2f52010) - read(0x180000)
[ 5.827211] F2FS-fs (sdd13): Can’t find valid F2FS filesystem in 1th superblock
[ 5.834769] F2FS-fs (sdd13): Magic Mismatch, valid(0xf2f52010) - read(0x100000)
[ 5.842085] F2FS-fs (sdd13): Can’t find valid F2FS filesystem in 2th superblock
[ 5.863893] fsck.f2fs: Info: Fix the reported corruption.
[ 5.863893]
[ 5.870861] fsck.f2fs: Error: Failed to open the device!

The same storage device is functioning fine with 4.9, and 4.14.
Do you have some public storage or email I can share the full log?


Could you confirm you have reflashed other images, such like vendor.img, userdata.img and system.img? As I know, sometimes these images might be not compatible for different kernel versions, so you need to reflash these images as well.

So you built android for kernel 4.14, and then built the bootimage PARTLY for kernel 4.19, and you expect this to work?

Do this:

. build/envsetup.sh
lunch hikey960-eng
make clean
TARGET_KERNEL_USE=4.19 make -j$(nproc)