Recollecting my steps for booting with 5.3-rc6 + debian.
Updated low level firmwares.
git clone https://android.googlesource.com/device/linaro/hikey
cd installer/hikey960
Board in fastboot mode, flashed UFS. (no sdcard present)
(I am flashing few firmwares after a long time. So to ensure certain firmware are updated. May be you can skip this.)
./uefi-flash-all.sh
./flash-all.sh
Flashed bootloader, boot image and rootfs image from Debian Downloads for HiKey960 - 96Boards (build 37)
Cloned mainline kernel
git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
(While I am checking, HEAD is at, a55aa89 Linux 5.3-rc6)
Compliation:
export ARCH=arm64
export CROSS_COMPILE=your toolchain
make defconfig
Replaced ‘=m’ to ‘=y’ in .config using search and replace in my editor.
(If anyone reading this know some better method for including all modules to builtin, Let me know.)
make olddefconfig
make Image.gz dtbs
Copied Image.gz and hi3660-hikey960.dtb to /boot on board.
Created a custom kernel entry in /boot/grub/grub.cfg
menuentry 'Custom kernel' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-aab08174-8c3f-45f8-9749-79e1f1ced14b' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root aab08174-8c3f-45f8-9749-79e1f1ced14b
else
search --no-floppy --fs-uuid --set=root aab08174-8c3f-45f8-9749-79e1f1ced14b
fi
echo 'Loading Linux 4.19.5-hikey ...'
linux /boot/Image.gz root=UUID=aab08174-8c3f-45f8-9749-79e1f1ced14b rw no_console_suspend
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.19.5-hikey
devicetree /boot/hi3660-hikey960.dtb
}
Booted using the custom entry in grub.