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/
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/
not working for me atm
Something to do with https://builds.96boards.org/snapshots/reference-platform/components/uefi-staging/latest/hikey960/debug/ I would guess? The anticipation is building
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/
btw
if anybody interest full debian
you can use debian system partition from DragonBoard 410
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
Nice
I hope we will have wifi and usb working soon
Nice video!
Just reminding, you can input shortcut key ‘f’ for fastboot and input ‘ENTER’ key to skip waiting and directly boot kernel.
any idea if the aosp builds are compatible yet with uefi http://builds.96boards.org/snapshots/hikey960/linaro/aosp-master/latest/
@ric96 Yeah, at my side I can build UEFI+ARM-TF and they can work well with latest AOSP images.
For UEFI+ARM-TF, you could follow the page https://github.com/96boards-hikey/tools-images-hikey960/blob/master/build-from-source/README-ATF-UEFI-build-from-source.md;
After use UEFI+ARM-TF, actually we don’t use some partitions anymore; on the other hand, some images will be included into ARM-TF’s fip image (like mcu image we don’t need a specific partition and it’s included into ARM-TF as SCP_BL2). So the detailed info you could refer ‘Update images’ sections in upper link.
I think the most difficult thing is kernel building, the kernel building now it’s different with default method (default method means the build steps in page https://source.android.com/source/devices); Haojian has one offline script for building kernel so can be used for UEFI+ARM-TF: https://github.com/96boards-hikey/l-loader/blob/testing/hikey960_v1.2/cc
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
do i have to create the bootimg-960.cfg file or is it already present and i can just add your config…?
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’.
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 (C) 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.
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 (C) 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.
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 (C) 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.
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? linux - asm/errno.h: No such file or directory - Stack Overflow
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:~$
seems to ba a ubuntu specific issue for now, compiling fine on arch linux