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:
28 > export CROSS_COMPILE=aarch64-none-elf-
29 > make nanopi-k2_defconfig
35 Amlogic doesn't provide sources for the firmware and for tools needed
36 to create the bootloader image, so it is necessary to obtain them from
37 the git tree published by the board vendor:
39 > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
40 > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
41 > tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
42 > tar xvfJ gcc-linaro-arm-none-eabi-4.8-2013.11_linux.tar.xz
43 > 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
44 > git clone https://github.com/BayLibre/u-boot.git -b libretech-cc amlogic-u-boot
45 > git clone https://github.com/friendlyarm/u-boot.git -b nanopi-k2-v2015.01 amlogic-u-boot
47 > sed -i 's/aarch64-linux-gnu-/aarch64-none-elf-/' Makefile
48 > sed -i 's/arm-linux-/arm-none-eabi-/' arch/arm/cpu/armv8/gxb/firmware/scp_task/Makefile
49 > make nanopi-k2_defconfig
51 > export FIPDIR=$PWD/fip
53 Go back to mainline U-Boot source tree then :
56 > cp $FIPDIR/gxb/bl2.bin fip/
57 > cp $FIPDIR/gxb/acs.bin fip/
58 > cp $FIPDIR/gxb/bl21.bin fip/
59 > cp $FIPDIR/gxb/bl30.bin fip/
60 > cp $FIPDIR/gxb/bl301.bin fip/
61 > cp $FIPDIR/gxb/bl31.img fip/
62 > cp u-boot.bin fip/bl33.bin
64 > $FIPDIR/blx_fix.sh \
73 > $FIPDIR/fip_create \
74 --bl30 fip/bl30_new.bin \
79 > python $FIPDIR/acs_tool.pyc fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0
81 > $FIPDIR/blx_fix.sh \
90 > cat fip/bl2_new.bin fip/fip.bin > fip/boot_new.bin
92 > $FIPDIR/gxb/aml_encrypt_gxb --bootsig \
93 --input fip/boot_new.bin
94 --output fip/u-boot.bin
96 and then write the image to SD with:
98 > DEV=/dev/your_sd_device
99 > dd if=fip/u-boot.bin of=$DEV conv=fsync,notrunc bs=512 seek=1