4 NanoPi-K2 is a single board computer manufactured by FriendlyElec
5 with the following specifications:
7 - Amlogic S905 ARM Cortex-A53 quad-core SoC @ 1.5GHz
11 - HDMI 2.0 4K/60Hz display
13 - 4 x USB 2.0 Host, 1 x USB OTG
17 Schematics are available on the manufacturer website.
19 Currently the u-boot port supports the following devices:
27 > export CROSS_COMPILE=aarch64-none-elf-
28 > make nanopi-k2_defconfig
34 Amlogic doesn't provide sources for the firmware and for tools needed
35 to create the bootloader image, so it is necessary to obtain them from
36 the git tree published by the board vendor:
38 > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
39 > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
40 > tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
41 > tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
42 > export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2013.11_linux/bin:$PATH
43 > git clone https://github.com/BayLibre/u-boot.git -b libretech-cc amlogic-u-boot
44 > git clone https://github.com/friendlyarm/u-boot.git -b nanopi-k2-v2015.01 amlogic-u-boot
46 > sed -i 's/aarch64-linux-gnu-/aarch64-none-elf-/' Makefile
47 > sed -i 's/arm-linux-/arm-none-eabi-/' arch/arm/cpu/armv8/gxb/firmware/scp_task/Makefile
48 > make nanopi-k2_defconfig
50 > export FIPDIR=$PWD/fip
52 Go back to mainline U-Boot source tree then :
55 > cp $FIPDIR/gxb/bl2.bin fip/
56 > cp $FIPDIR/gxb/acs.bin fip/
57 > cp $FIPDIR/gxb/bl21.bin fip/
58 > cp $FIPDIR/gxb/bl30.bin fip/
59 > cp $FIPDIR/gxb/bl301.bin fip/
60 > cp $FIPDIR/gxb/bl31.img fip/
61 > cp u-boot.bin fip/bl33.bin
63 > $FIPDIR/blx_fix.sh \
72 > $FIPDIR/fip_create \
73 --bl30 fip/bl30_new.bin \
78 > python $FIPDIR/acs_tool.pyc fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0
80 > $FIPDIR/blx_fix.sh \
89 > cat fip/bl2_new.bin fip/fip.bin > fip/boot_new.bin
91 > $FIPDIR/gxb/aml_encrypt_gxb --bootsig \
92 --input fip/boot_new.bin
93 --output fip/u-boot.bin
95 and then write the image to SD with:
97 > DEV=/dev/your_sd_device
98 > dd if=fip/u-boot.bin of=$DEV conv=fsync,notrunc bs=512 seek=1