4.19.5 kernel based Debian snapshot image release for HiKey

Hello Everyone!

Today we have released the Debian snapshot image for HiKey board based on recent LTS kernel 4.19.5. Below are the supported features of this release:

  1. SD/MMC
  2. WiFi/BT
  3. USB
  4. HDMI

For using this image, HiKey board should be flashed with recent UEFI build as well as debian build found in below links:

  1. UEFI - http://snapshots.linaro.org/96boards/reference-platform/components/uefi-staging/84/hikey/debug/
  2. Debian image - http://snapshots.linaro.org/96boards/hikey/linaro/debian/latest/

Instructions for flashing UEFI - https://github.com/96boards/documentation/blob/master/consumer/hikey/hikey620/installation/board-recovery.md

Instructions for flashing Debian image - https://github.com/96boards/documentation/blob/master/consumer/hikey/hikey620/installation/linux-fastboot.md

Kernel tree used for this release:

Also, we have released a new Kernel contribution guide for those who want to contribute to our release images:

Happy Hacking!


1 Like

Great! what about hikey960 compatibility?

@Loic 4.19.5 kernel based Debian snapshot image release for HiKey960

Same debian image is used for HiKey, HiKey960 and HiKey970. It is the UEFI build passing corresponding DTB for differentiating the boards.

1 Like

Hi @Mani

quick question for you: I have a 2Gb HiKey 620 from LeMaker (attached via a serial console
extension card to my USB serial port) and I’m trying to run your latest bits on it. I’ve downloaded
the .sd.gz file, ungzip’ed it and wrote it to my 8Gb SD card. I can now boot from that card and I
see the GRUB menu. Once I pick any options in the grub menu I see:
Loading Linux 4.19.5-hikey …
Loading initial ramdisk …
EFI stub: Booting Linux Kernel…
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map…
and then nothing. The kernel doesn’t print anything onto the console
and the board just sits there doing nothing.

Any advice for me on how to proceed with these latest bits?


P.S. I have a very old Debian successfully booting on it so I can give you
any kind of /proc or /sysfs output that may help with debugging.

Hi @rvs,

Have you tried flashing latest UEFI binaries from below link?



One more question @Mani – could you please share a config that was used to build the kernel?


@rvs You can follow this guide for building linux kernel: https://github.com/96boards/documentation/blob/master/consumer/hikey/hikey620/build/linux-kernel.md

We use, make defconfig distro.config for building and updating the kernel as a debian package, However, if you are updating the kernel by any other means (abootimg) you need to select UFS as built-in (by default it is =m in defconfig)

1 Like

Hi @Mani!

when you say UFS, what module specifically do you mean?



1 Like

Hi Mani,

After looking at the device tree files, I noticed that PCIe definition support is missing (which I was already guessing was the reason why eth was not supported).
Are you (or anyone else) working actively on that support?
If yes, any idea when it can be pushed to your git repo?

Kind regards


Hi @salves,

PCI-E is already supported on HiKey960. But I didn’t mention in the release notes because I don’t have a device to test it (should have added a note, will do the it). But HiKey970 PCI-E support will come after UFS, and SD. There is no one actively working on it but I will work on it whenever I have free time :wink:


@Mani thanks for the great work! Unfortunately, this build did not work on original 1g/4g HiKey, due to some eMMC initialization error as documented here: https://github.com/ARM-software/arm-trusted-firmware/pull/1724

My question is, could you please initiate a new build process now that the fix has been identified and merged? I see the fix is fairly minor, and could proably try to compile here, but I’d really like to simply download a proper Linaro build that has gone through the official build system.

I think it should end up landing in here, if I am not mistaken: http://snapshots.linaro.org/96boards/reference-platform/components/uefi-staging/latest/hikey/debug/


Hi @davidt,

Thanks for letting us know about this issue.

Sure, we will spin a new UEFI build so that you can flash the TF images with the fix incorporated.

Thanks once again!


Hi Mani, is there any update for hikey970 PCI-E support?

Hi @brfeng,

I’m still working on it. Please stay tuned for the updates.


Hi @Mani,
Could you please share your process of this work? I have an urgent task that need to run latest kernel on hikey970 board.

Thanks a lot,

Hi @brfeng,

For using PCI-E on Hikey970, you need to do a couple of things:

  1. Update the bootloader to enable LDO33 (required for PCI-E switch on the board). For this, you need to use my fork below:

You can use the below guide to build and flash the firmware onto Hikey970 board.

(to be specific, just use my OpenPlatformPkg fork instead of the one mentioned in the instructions)

  1. Build and flash the below kernel onto Hikey970 board:


Just use ARM64 defconfig. You might also want to make UFS driver as built-in.


@Mani ,
Thanks for your help. I can boot the latest kernel on hikey970 now. But HDMI and usb drivers cannot work. Could you give me some suggestions for how to support HDMI and user drivers?

Hi @brfeng,

I haven’t added HDMI and USB support yet. These are on my TODO list but can’t give any fixed estimate. Will make a noise in the forum if I happen to add support for these.

Dear Mani,

same days recently i found
over your link here to the last hikey snapshot image.
In same folder i found a rootfs-31.img alip version download link.
But dosen’t available back in the day.

Still possible come up to version 31 alip, developer, rootfs, boot and sd files ?

I must weep bitterly :cold_face::hot_face::cold_face::hot_face::dizzy_face::triumph::rage::face_with_symbols_over_mouth::sob::sob::sob::sob::broken_heart::anger::boom::right_anger_bubble::bomb::poop::four_leaf_clover: