Hikey 960 starts with grub menu not with UEFI menu anymore


I have flashed my board yesterday with the ./recovery UEFI and then every time it would boot into the UEFI menu. But now i tryed the samething i flashed ./recovery UEFI but everytime it boots into grub and then into the reference build.

What am i doing wrong? Also the board doesn’t respond to any input.

Is there away to fully erase the flash and flash everything again maybe that will fix it.


Where did you get the recovery file/script from?


https://github.com/96boards-hikey/tools-images-hikey960 then the file recovery-flash-uefi.sh.


Are the images you flashed ‘yesterday’ vs ‘now’ the same or different? Is this Linux or Android? Afaik, boot.img will boot into uefi and boot_fat.uefi.img will boot into grub. When you say that the boot doesn’t respond to any input, do you mean that the arrow keys don’t work? If so, please see https://bugs.96boards.org/show_bug.cgi?id=659.


I didn’t put any android or linux on it. I flashed the files that are in the ./recovery-flash-uefi.sh with the latest release of UEFI. But i did’t know if there was al ready something on the board that is booted. Does recovery clean the emmc before flashing new files on to it?

I manualy used fastboot erase on the ptable, nvme, fw_lpm3, trustfirmware and boot. I did say it erased those things succesfully. But when i erase the samething like 4 times after each other it keeps saying successful so i’m not sure if it’s working. When i try to erase xloader or fastboot it gives an error.

I used the ./recovery-flash-uefi.sh again. Now it doesn’t boot to grub any more. But i still can’t give any input.

Press ESCAPE for boot options .Android Fastboot mode - version 0.7.
Press RETURN or SPACE key to quit.
Downloading 24576 bytes
24576 / 24576 bytes downloaded (100%)
Flashing partition ptable
Downloading 154752 bytes
154752 / 154752 bytes downloaded (100%)
Flashing partition xloader
Downloading 1179648 bytes
1179648 / 1179648 bytes downloaded (100%)
Flashing partition fastboot
Downloading 1519104 bytes
1519104 / 1519104 bytes downloaded (100%)
Flashing partition fip

This is my output from the uart. After reboot

hikey960 boarid:5301 xloader use UART6
clear reset source
secdbg not DCU.
SecDbgVer exit

xloader chipid is: 0x36600110, start at 371ms.
Build Date: Sep 19 2017, 15:34:09
[clock_init] ++
hikey960 [hikey960_clk_init]
hi3660 [clk_setup]
[clock_init] –
storage type is UFS
ufs retry: 6 count v_tx:0 v_rx:0
ufs set v_tx:0 v_rx:0
Hikey960[5301] no need avs_init.
ddr ft:0xf20332a3,mode:1 target:4
ch 0 gt_errfail, STATUS:0x00000060
ch 0 gdst_errfail, STATUS:0x00000040
ch 1 gt_errfail, STATUS:0x00000060
ch 1 gdst_errfail, STATUS:0x00000040
ch 2 gt_errfail, STATUS:0x00000060
ch 2 gdst_errfail, STATUS:0x00000040
ch 3 gt_errfail, STATUS:0x00000060
ch 3 gdst_errfail, STATUS:0x00000040
density: 0x0c0c0c0c,0x00000000,0x0c0c0c0c,0x00000000,0x0c0c0c0c,0x00000000,0x0c0c0c0c,0x00000000
ddr info 0x00000306
C1R,V0x0000002d e:66
C2R,V0x0000002d e:66
C3R,V0x0000002d e:66
C0R,V0x0000002d e:66
C1R,V0x0000002e e:66
C2R,V0x0000002e e:66
C3R,V0x0000002e e:66
C0R,V0x0000002e e:66
C1R,V0x0000002f e:65
C2R,V0x0000002f e:66
C3R,V0x0000002f e:66
C0R,V0x0000002f e:65
C1R,V0x00000030 e:65
C2R,V0x00000030 e:65
C3R,V0x00000030 e:65
C2R,V0x00000015 e:113
C0R,V0x00000016 e:66
C2R,V0x00000016 e:66
C0R,V0x00000017 e:66
C1R,V0x00000017 e:193
C2R,V0x00000017 e:66
C3R,V0x00000017 e:66
boot_c0 PROFILE 4
slave0 irq0:0x00000004
slave1 irq0:0x00000004
NOTICE: Booting Trusted Firmware
NOTICE: BL1: v1.4(release):v1.4-656-g15e59585
NOTICE: BL1: Built : 11:03:12, Feb 12 2018
NOTICE: BL1: Booting BL2
NOTICE: BL2: v1.4(release):v1.4-656-g15e59585
NOTICE: BL2: Built : 11:03:12, Feb 12 2018
NOTICE: BL1: Booting BL31
NOTICE: BL31: v1.4(release):v1.4INFO: TEE-CORE:
INFO: TEE-CORE: OP-TEE version: 2.6.0 #1 Mon Feb 12 11:03:10 UTC 2018 aarch64
INFO: TEE-CORE: Initialized
UEFI firmware (version Alpha built at 11:02:50 on Feb 12 2018)

Press ESCAPE for boot options .Android Fastboot mode - version 0.7.
Press RETURN or SPACE key to quit.

Pressing any of these buttons doesn’t do anything. The board is in auto power mode.


Please specify url for ‘latest release of UEFI’. Recovery just run ‘fastboot flash’ commands, no erase, if that’s what you mean by cleaning the emmc. What exactly are you trying to do with the board? After recovery, the board is flashed with generally speaking bootloader images only. After that, you’re supposed to flash either Linux (boot*.img to boot partition, rootf image (rpb/OE or Debian) to system partition) or Android (boot*.img, userdata.img, cache.img, system.img) to be able to reboot to some sort of prompt or GUI. If you don’t, there might not be anything to run after the bootloader runs, i.e. the part where your log stops. Did the board ever boot up ok to some OS?



Here are the links i tried both. What i want to do is write my own efi application and run that by using the UEFI boot menu. At first the UEFI boot menu would start if i pressed enter when it said press Return or SPACE key to quit. Now it doesn’t do anything when i press these buttons.

I haven’t tried to run any OS on it. Eventually i will run AOSP on the board but first i need to run code without an OS.


Ok, I see. Have you tried ‘escape’ key?


yess i tried every possible key


Escape should be the right key then. Not sure what’s wrong. Can you try below?

  1. Which terminal program are you using? Can you try ser2net + telnet? See https://github.com/96boards-hikey/tools-images-hikey960/blob/master/build-from-source/README-ATF-UEFI-build-from-source.md (3. Setup Console) for instructions.

  2. Try older images.

  3. Just to rule out everything, if you have sd card inserted or mouse/keyboard connected, remove everything.


There are also newer images here: http://snapshots.linaro.org/reference-platform/embedded/master/hikey960/latest/rpb/bootloader. I think builds.96boards.org will eventually move to {snapshots,releases}.linaro.org.


When EDK-II boots it should clear the screen (leaving just a cursor in the
top left). Most versions are configured with a delay for button presses
at this point… so assuming there is a delay between the screen clear
and grub starting that is the point to press escape

I guess it is possible that the latest builds are configured without a
delay. How long between the screen clear and grub starting?


After ./recovery UEFI, it will boot into uefi every time, then you can boot grub and debian OS or you can boot into fastboot by type ‘f’.


Guys i found the problem the TXD of my FTDI cable stopt working -__-. Got a new cable now and it’s working again.

Thanks for the help