HCL:NanoPi K2

Jump to: navigation, search

The FriendlyARM NanoPi K2 is a single-board computer.

Technical data

  • Amlogic S905 SoC
    • 4x ARM Cortex-A53 CPU

Writing a disk image to the SD card

  1. Download the image you want (Leap is stable, Tumbleweed is rolling) from here:
    This image uses the Tumbleweed kernel and userspace, but you need to manually install the bootloader as outlined below before and after first boot.
    Susemini.png
    Version:
    Tumbleweed
    JeOS image

    If the direct links above do not work for you (as we are constantly building new images), please check the general download directory for the images.

  2. As root extract the image onto your SD card (replace sdX with the device name of your SD card).
    WARNING: all previous data on the SD card will be lost. Check first if the device you have selected is really your SD card!
     xzcat [image].raw.xz | dd bs=4M of=/dev/sdX iflag=fullblock oflag=direct; sync
  3. Insert the SD card with the openSUSE image into your board.
  4. Connect the board to your PC via serial port (optional, but helpful for debugging; USB-TTL serial cable needed).
  5. Connect the board to your monitor (via DVI/HDMI, optional).
  6. Power on the board.
  7. Walk through the first boot steps.
  8. Ethernet is configured to request an IP via DHCP, check your DHCP server for the board IP if used.
  9. Have a lot of fun...
Default login is root:linux, works on serial console, via ssh, GUI.

Manual installation

Vendor U-Boot

Mainline U-Boot does not yet contain support for the K2.

git clone https://github.com/friendlyarm/u-boot.git u-boot-k2 -b nanopi-k2-v2015.01
# generate bl30_new.bin
u-boot-k2/fip/blx_fix.sh \
  u-boot-k2/fip/gxb/bl30.bin \
  zero_tmp \
  bl30_zero.bin \
  u-boot-k2/fip/gxb/bl301.bin \
  bl301_zero.bin \
  bl30_new.bin \
  bl30
# generate fip.bin
u-boot-k2/fip/fip_create \
  --bl30 bl30_new.bin \
  --bl31 u-boot-k2/fip/gxb/bl31.img \
  --bl33 u-boot-k2/build/u-boot.bin \
  --dump \
  fip.bin
# generate bl2_new.bin
u-boot-k2/fip/blx_fix.sh \
  u-boot-k2/fip/gxb/bl2_acs.bin \
  zero_tmp \
  bl2_zero.bin \
  u-boot-k2/fip/gxb/bl21.bin \
  bl21_zero.bin \
  bl2_new.bin \
  bl2
cat bl2_new.bin fip.bin > boot_new.bin
amlbootsig boot_new.bin u-boot.img
dd if=u-boot.img of=/dev/sdX bs=512 seek=1

Vendor kernel

The mainline kernel has no .dts for the K2 yet.

https://github.com/friendlyarm/linux/tree/nanopi-k2-3.14.y/arch/arm64/boot/dts/amlogic

See also