HiKey970 System Images
Summary
This page details the available system images for the HiKey970 development board and provides step-by-step flashing instructions using the fastboot protocol. The HiKey970 boots from onboard UFS storage rather than an SD card, so all images must be written via a USB connection from a host computer. Available operating systems include Debian Linux and Android AOSP, each targeting the Kirin 970 SoC with its integrated NPU.
Who This Is For
This guide is for developers who need to install or switch between operating system images on the HiKey970. You should be comfortable with fastboot commands, USB debugging, and basic Linux or Android system administration. If you have not yet set up the required host tools, visit the HiKey970 Downloads hub to obtain the UEFI firmware and Android Platform Tools first.
Available Operating System Images
- Debian Desktop: A full Debian installation with GNOME or LXDE desktop environment, GPU acceleration via Mali-G72 drivers, and optional NPU development packages. Suited for graphical application development and AI prototyping.
- Debian Server: A minimal Debian installation without a graphical desktop. Optimised for headless deployments, edge computing, and continuous integration runners.
- Android AOSP: A full Android build based on the Android Open Source Project. Includes hardware abstraction layers for the Kirin 970 GPU, camera ISP, and NPU. Ideal for Android platform development and testing.
Download and Verification Guidance
Download images from the official LeMaker or 96boards distribution channels. Each archive includes a SHA-256 checksum file. Verify the integrity of every downloaded file before flashing:
sha256sum hikey970-debian-server.img.gz
If the checksum does not match, discard the file and download again. Do not attempt to flash a partially downloaded or corrupted image, as this may leave the board in an unbootable state requiring recovery mode intervention.
DIP Switch Configuration for Flash Mode
The HiKey970 has a set of DIP switches on the underside of the board that control the boot mode. To enter fastboot flash mode:
- Power off the board and disconnect all cables.
- Set DIP switch 1 to ON and DIP switch 2 to OFF (fastboot mode).
- Connect the USB-C cable between the board and your host machine.
- Apply power. The board will enter fastboot mode without booting the OS.
- Verify detection on the host:
fastboot devices.
Flash Checklist
- Ensure the UEFI firmware is up to date before flashing a new system image.
- Flash the partition table first:
fastboot flash ptable prm_ptable.img. - Flash the boot image:
fastboot flash boot boot.img. - Flash the system image:
fastboot flash system system.img. - Flash the userdata partition if required:
fastboot flash userdata userdata.img. - After all partitions are written, reset DIP switches to normal boot mode (both OFF).
- Power-cycle the board to boot the new image.
First Boot Verification
Connect an HDMI display and observe the boot sequence. The UEFI logo should appear briefly, followed by the OS boot log or Android boot animation. For Debian, log in using the default credentials from the release notes and run uname -a to verify the kernel version. For Android, ensure the launcher loads and check Settings > About Phone for the build number. Verify network connectivity by pinging an external host or opening a browser.
Troubleshooting
- Fastboot does not detect the board: Confirm DIP switch positions. Try a different USB-C cable. Install HiSilicon USB drivers on Windows.
- Flash command times out: Use a direct USB connection without hubs. Ensure the host USB port provides sufficient power.
- Board boot-loops after flash: Re-enter fastboot mode and re-flash all partitions. Ensure the partition table image matches the OS image set.
- No display output: Try a different HDMI monitor. For Debian, attach a serial console (115200 baud) to the low-speed expansion header for debug output.
Related Guides
Author: LeMaker Documentation Team
Last updated: 2026-02-10