How can we deploy latest image with UEFI on hikey960?

success_story

#1

How can we deploy latest image with UEFI on hikey960?

latest builds contain only UEFI boot
https://builds.96boards.org/snapshots/reference-platform/openembedded/morty/hikey960/rpb/latest/


OP-TEE support on Hikey960
#2

not working for me atm


#3

Something to do with https://builds.96boards.org/snapshots/reference-platform/components/uefi-staging/latest/hikey960/debug/ I would guess? The anticipation is building :slight_smile:


#4

even the oe builds are updated with uefi, but doesn’t seem to boot atm
https://builds.96boards.org/snapshots/reference-platform/openembedded/morty/hikey960/rpb/69/


#5

btw
if anybody interest full debian
you can use debian system partition from DragonBoard 410


#6

I was able to boot it perfectly using uefi following steps from here:


and then flash oe image and boot that as well…
https://i.imgur.com/dZx4dbS.jpg


Source of log for Hikey960 bootloader
#7

#8

Nice
I hope we will have wifi and usb working soon


#9

Nice video!

Just reminding, you can input shortcut key ‘f’ for fastboot and input ‘ENTER’ key to skip waiting and directly boot kernel.


#10

any idea if the aosp builds are compatible yet with uefi http://builds.96boards.org/snapshots/hikey960/linaro/aosp-master/latest/


#11

@ric96 Yeah, at my side I can build UEFI+ARM-TF and they can work well with latest AOSP images.

I usually copy this build script into my kernel folder, and execute it; finally it can generate out boot images: out_v8/arch/arm64/boot/boot.img; please note the boot.img is generated by abootimg: abootimg --create $OUT/$BOOT/boot.img -k $OUT/$BOOT/Image-dtb -r $RAMDISK -f bootimg-960.cfg; so it includes kernel’s Image, ramdisk, and dtb. As result, we can see the partition ‘dts’ is not needed as well.

Should note one thing, the bootimg-960.cfg is used to specify the size, so we need tweak it if abootimg report the size errors. I paste my config in below for your reference:

bootsize = 0x1500000
pagesize = 0x800
kerneladdr = 0x80000
ramdiskaddr = 0x7c00000
secondaddr = 0xf00000
tagsaddr = 0x7a00000
name = 
cmdline = loglevel=15 androidboot.hardware=hikey960 androidboot.selinux=permissive firmware_class.path=/system/etc/firmware

#12

do i have to create the bootimg-960.cfg file or is it already present and i can just add your config…?


#13

Haojian has uploaded it: https://github.com/96boards-hikey/l-loader/blob/testing/hikey960_v1.2/bootimg-960.cfg

But from my experience, I found I need tweak the value for ‘bootsize’.


#14

any idea why i am getting this error http://paste.ubuntu.com/24898582/
regular kernel builds fine.


#15

Which GCC version are you using? Below is the toolchain version I am using:

leoy@leoy-ThinkPad-T440:~/work3/hikey960/aosp/kernel/hikey-linaro$ aarch64-linux-gnu-gcc --version
aarch64-linux-gnu-gcc (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09) 4.9.2 20140904 (prerelease)
Copyright © 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


#16

6.3

ric@ric-ubuntu:~$ aarch64-linux-gnu-gcc --version
aarch64-linux-gnu-gcc (Linaro GCC 6.3-2017.02) 6.3.1 20170109
Copyright © 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


#17

same error with 4.9

ric@ric-ubuntu:~/androidsource/hikey960/hikey-linaro$ aarch64-linux-gnu-gcc --version
aarch64-linux-gnu-gcc (Linaro GCC 4.9-2016.02) 4.9.4 20151028 (prerelease)
Copyright © 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


#18

This is building error with host GCC:

HOSTCC scripts/mod/sumversion.o
In file included from …/include/linux/types.h:5:0,
from …/include/linux/mod_devicetable.h:11,
from …/scripts/mod/devicetable-offsets.c:2:
…/include/uapi/linux/types.h:4:23: fatal error: asm/types.h: No such file or directory

So should install some dependency libs on Ubuntu: linux-libc-dev? https://stackoverflow.com/questions/14795608/asm-errno-h-no-such-file-or-directory


#19

odd… i’ve tried everything on that link… same issue
more over type.h doesn’t seem to be discovered in /user/include/asm although it exists

ric@ric-ubuntu:~$ find /usr/include -name types.h
/usr/include/jack/types.h
/usr/include/rpc/types.h
/usr/include/i386-linux-gnu/sys/types.h
/usr/include/i386-linux-gnu/bits/types.h
/usr/include/i386-linux-gnu/asm/types.h
/usr/include/assimp/types.h
/usr/include/c++/4.8/parallel/types.h
/usr/include/c++/5/parallel/types.h
/usr/include/c++/4.9/parallel/types.h
/usr/include/linux/iio/types.h
/usr/include/linux/types.h
/usr/include/sys/types.h
/usr/include/mircommon/mir/time/types.h
/usr/include/wx-3.0/wx/types.h
/usr/include/x86_64-linux-gnu/sys/types.h
/usr/include/x86_64-linux-gnu/bits/types.h
/usr/include/x86_64-linux-gnu/asm/types.h
/usr/include/x86_64-linux-musl/sys/types.h
/usr/include/asm-generic/types.h
/usr/include/newlib/c++/4.9.3/parallel/types.h
/usr/include/newlib/sys/types.h
/usr/include/newlib/machine/types.h
ric@ric-ubuntu:~$ ls /usr/include/asm | grep types
posix_types_32.h
posix_types_64.h
posix_types.h
posix_types_x32.h
types.h
ric@ric-ubuntu:~$


#20

seems to ba a ubuntu specific issue for now, compiling fine on arch linux