Quick Start
K8D can be powered by both Android and Linux. When Linux is in use, like most Pi products, K8D can work in headless mode (no display connected, access via SSH) and desktop mode (Ubuntu, Debian desktop).
To start using K8D, you need to prepare the following items:
- Power Supply
- Display and Display Cable
- Boot Media
Note
If you want to use K8D as a headless device accessed via network, please refer to SSH Connection.
Tools Preparation
Power Supply
| Power Mode | Voltage/Current |
|---|---|
| DC | 5V/2A (2A is the baseline, or above) |
Power supply connection demonstrated:

Display
K8D supports HDMI and MIPI DSI display output.
| Interface | Maximum Resolution Support |
|---|---|
| MIPI DSI x1 | 4K@60Hz |
| HDMI OUT x1 | 8K@60Hz |
HDMI

MIPI DSI
Warning
Installing or removing the MIPI display while the device is powered on may cause damage to the MIPI display or a short circuit. Please install or remove the MIPI display only when the device is powered off.

Boot Media
Kickpi K8D comes with eMMC (embedded Multi Media Card) on-board by default, and has Android operating system pre-installed. External boot media is not required. However, for subsequent use, if you want to change the operating system or sideload another OS from SD card, you need to prepare a SD card with ≥ 16GB storage capacity.

Buttons
Kickpi K8D has 4 physical buttons on-board, each one has unique function, here are their usage description:
-
POWER: Short press to put device to standby/wakeup (shutdown in Ubuntu). Long press to power off device.
-
RESET: Short press to hot reset device once.
-
RECOVERY: RECOVERY button is detected by U-boot, not SoC's Init code, so its function is implemented in U-boot. No matter what OS has been installed in eMMC (Android, Ubuntu, Debian, Armbian), press and hold with a power-on action will put device into loader mode, cooperate with RockChip's flashing tool to install OS Image into eMMC. Also, when the already installed OS is Android, press and hold RECOVERY button with a power-on action and with NO USB cable connected to perform Image installing, device will boot into Android recovery mode, there allow user to do factory reset and other things.
-
MASKROM: Used in the scenario of installing OS Image to on-board eMMC, when pressed and hold with a power-on action, SoC's Init code will put device into MASKROM mode, cooperate with RockChip's flashing tool to install Image into eMMC. MASKROM mode means cheating SoC init code into thinking eMMC has nothing programmed, even without U-boot or U-boot is corrupted and unable to work correctly. It gives people a chance to reprogram eMMC after bricking it.

System Startup
User and Password
For any Linux distro Image we released, default user and password for different distros are as follows:
| System | Username | Password |
|---|---|---|
| Debian11 | linaro | linaro |
| Debian11 | root | root |
| Ubuntu20.04 | kickpi | kickpi |
| Ubuntu20.04 | root | root |
Hardware Installation
In below installation diagram, we have installed the power supply, HDMI display, mouse, and keyboard to Kickpi K8D (If in your scenario, K8D works as a headless device and without display, here is a way to tell how the device's working and troubleshoot issues via on-board LED).

LED Status Indicator
You can tell the system working status via the LED indicators.
- K8D board has two LED indicators. green LED is the power indicator, and blue LED is the heartbeat indicator.
Success
Green LED is steady on, blue LED is blinking.
Failure
If green LED is off when device is powered on, please check power supply or short circuit issue. Green LED sucks current directly from DC power without any external control. If the blue LED is off or steady on (no blinking), kernel panic or died. Blinking is controlled by a kernel driver. All our released OS Image work this way: Android, Ubuntu, Debian, Armbian.
System Desktop
Kickpi K8D supports Android, Ubuntu, and Debian operating systems. When our released OS images are installed, each one uses different desktop wallpaper.
Android13.0

Ubuntu20.04 xfce

Debian11 xfce

Installing Operating System
By default, Kickpi K8D has on-board eMMC and boots from eMMC directly. If you need to replace the system on eMMC or want to sideload another OS from other storage devices (e.g., microSD card), please read this chapter and proceed.
Obtaining Image
Obtain Kickpi K8D image files from OneDrive.
USB Installation
Install OS Image to the on-board eMMC via USB TYPE-C (Booting from SD card or install Image into eMMC via SD card, please read below).
Tools Preparation
- Hardware: Windows PC/laptop, HDMI Display (optional), Power Adapter, USB Burning Cable.
- Software: USB driver DriverAssitant, flashing tool RKDevTool, Image file.
USB Driver Installation
1. Navigate to the extracted DriverAssitant_v5.13.zip directory, run DriverInstall.exe, click Install Driver. A prompt will indicate successful installation.
Tip
If an older driver version has been installed, you can uninstall the driver first and then install it again to keep the driver version up to date.

RKDevTool Installation
1. Navigate to the extracted RKDevTool_v3.30_for_window.zip directory, run RKDevTool.exe.

2. (Optional) Change the flashing tool language. The default flashing tool interface is Chinese. It can be changed to English as shown below.

Installation Steps
1. Run RKDevTool, switch to the Upgrade Firmware tab.

2. Put the board into LOADER mode or MASKROM mode.
Note
MASKROM mode: Commonly used to forcibly flash images when the system is corrupted.
LOADER mode: Commonly used for full image flashing or partition flashing.
When board is powered off, press and hold the MASKROM / RECOVERY button (don't let loose), apply power and connect USB burning cable, RKDevTool will detect a MASKROM / LOADER device, then let loose the MASKROM / RECOVERY button.
When board is in power on state, insert USB burning cable, press and hold the MASKROM / RECOVERY button (don't let loose), then short press the RESET button once, RKDevTool will detect a MASKROM / LOADER device, then let loose the MASKROM / RECOVERY button.
3. RKDevTool detects a LOADER device or MASKROM device, let loose the button.

4. Click Upgrade Firmware to switch to the second tab, click Firmware, select the target image from where you saved it to install.

5. Click Upgrade, wait for the installation to complete.

6. Installation complete, wait for the board to reboot.
Success
If the board is connected to a display, after installation is done, do not power off immediately. The system will boot automatically, wait for the board to show the desktop normally!
If installing without display, after installation is done, do not power off immediately. The system will boot automatically, the LED status will change: green LED steady on, blue LED keeps blinking!

SD Boot Card
K8D has a SD card slot (microSD aka. TransFlash or TF) which can also serve as a bootable device. In K8D's boot sequence, SD card has higher priority, so K8D always tries to boot from SD card first, when no one mounted, K8D then boots from on-board eMMC. Since SoC vendor's official tools use terminology SD (microSD) instead of TF, we use SD card in this context, TF and SD means the same thing.
With SoC vendor's tool, we can make 2 types of booting card. SD Boot Card works like a portable edition OS, e.g. Windows PE. We use SD Boot Card to power device for some maintain and fix purposes, also can be used to verify your own customization. The second type is SD installation card. You create this kind of booting card when you try to use it to install new Image into on-board eMMC. It contains a specific script to create partition, format FS, copy files to eMMC. Make sure you understand what you need and create the right SD card.
Tools Preparation
- Hardware: Windows PC/laptop, HDMI Display (optional), Power Adapter, SD Card, SD Card Reader.
- Software: SDDiskTool, Image file.
SDDiskTool Installation
1. Navigate to the extracted SDDiskTool_v1.78.zip directory, run SD_Firmware_Tool.exe.

2. (Optional) SDDiskTool default display language is Chinese. To change to English, find the config.ini file in the extracted SDDiskTool_v1.78 directory.
Note
Selected=1 (Chinese); Selected=2 (English)
Installation Steps
1. Create SD Boot Card, follow the steps shown in the diagram to operate.
Note
During the creation of the SD Boot Card, SDDiskTool will ask if format the SD card, choose yes. When SD card formatting is over, it may prompt "burning failed" or "writing loader failed!", simply dismiss the dialog and recreate disk.
If SDDiskTool shows formatting failure, please read the Q&A chapter below.

2. SD Boot Card creation completed as shown in the diagram.

3. Power off board, insert the SD card, power on again, check if the display shows the desktop normally.
Note
When booting Ubuntu from SD Boot Card for the first time, due to SD card transfer rate limitations, it may stay on the command line interface for a long time (approximately 5 minutes). Please be patient and wait for the Ubuntu system to enter the desktop. When shutting down the Ubuntu system on the SD Boot Card for the first time, do not power off directly or reset via the RST button, as this may cause the system to stay on the command line interface for a long time when booting again. Please use the shutdown function in the graphical interface to power off.
SD Installation Card
K8D has a SD card slot (microSD aka. TransFlash or TF) which can also serve as a bootable device. In K8D's boot sequence, SD card has higher priority, so K8D always tries to boot from SD card first, when no one mounted, K8D then boots from on-board eMMC. Since SoC vendor's official tools use terminology SD (microSD) instead of TF, we use SD card in this context, TF and SD means the same thing.
With SoC vendor's tool, we can make 2 types of booting card. SD Boot Card works like a portable edition OS, e.g. Windows PE. We use SD Boot Card to power device for some maintain and fix purposes, also can be used to verify your own customization. The second type is SD installation card. You create this kind of booting card when you try to use it to install new Image into on-board eMMC. It contains a specific script to create partition, format FS, copy files to eMMC. Make sure you understand what you need and create the right SD card.
Tools Preparation
- Hardware: SD Card, SD Card Reader.
- Software: SDDiskTool, Image file.
SDDiskTool Installation
1. Installation failure may occur if your SD card has a capacity larger than 16GB. Please modify SDDiskTool_v1.78/config.ini, specify the format as NTFS, save, and restart SDDiskTool.

2. Navigate to the extracted SDDiskTool_v1.78.zip directory, run SD_Firmware_Tool.exe.

3. (Optional) SDDiskTool default display language is Chinese. To change to English, find the config.ini file in the extracted SDDiskTool_v1.74 directory.
Note
Selected=1 (Chinese); Selected=2 (English)
Installation Steps
1. Create SD Installation Card, follow the steps shown in the diagram to operate.
Note
During the creation of the SD Installation Card, SDDiskTool will ask if format the SD card, choose yes. When SD card formatting is over, it may prompt "burning failed" or "writing loader failed!", simply dismiss the dialog and recreate disk.
If SDDiskTool shows formatting failure, please read the Q&A chapter below.

2. SD Installation Card creation completed.

3. Power off the board, connect the display, insert the SD Installation Card, power on again. Display will show an installation progress bar and text like "check userdata/oem partition success".
Success
When installation is done, display will show "Please remove SD CARD!!!, wait for reboot". At this point, remove the SD card, wait for the system to reboot (for the first system boot, do not power off immediately, wait for the board to boot into the desktop normally).
When no display is connected, after the blue and green LEDs are both steady on, remove the SD card, wait for the system to reboot, and the blue LED will keep blinking after reboot.
System Configuration
In this chapter, you will use Mobaxterm for serial debugging, ADB for Android debugging, and SSH for remote connection.
Account and Password
Default usernames and passwords for different systems are as follows:
| System | Username | Password |
|---|---|---|
| Debian11 | linaro | linaro |
| Debian11 | root | root |
| Ubuntu20.04 | kickpi | kickpi |
| Ubuntu20.04 | root | root |
Serial Debug
Using Serial Port debugging tool to connect K8D device to get a console. Please check pinout to find UART pins as shown in below diagram.
K8D DEBUG UART Pins
- Physical Image

Tool Preparation
- Software: Mobaxterm
- Hardware: Serial Debug Cable aka. USB-TTL debug cable
Note
Red: VCC (no need to connect); Green: TX; White: RX; Black: GND. If you can't get Serial Port output in Mobaxterm, just switch Green and White wire and try again.

Hardware Installation
- Diagram

Mobaxterm Configuration
1. Click session to create a new session window.
2. Select the session window type as serial.
3. Select the serial COM port number (Check COM number by opening Windows Device Manager -> Ports interface).
4. Set Speed(bps) to 1500000.
5. Start the session window. As shown, after clicking OK, you will enter the command-line input window.

When the board is powered on and connected to the computer, Mobaxterm outputs boot information as follows.

ADB
Android system supports ADB functionality. ADB (Android Debug Bridge) is an Android system debugging bridge tool. It supports connecting to devices via USB or network, enabling device management and debugging operations such as app installation, file transfer, command execution, etc.
Tool Preparation
- Hardware: USB Type-C Data Cable
- Software: download ADB_Tool
Hardware Installation
Connect one end of the USB TYPE-C data cable to the mainboard, the other end to the personal host.

ADB Installation
1. Extract the compressed package, e.g., to Windows path D:\ADB\adb-tools.
2. Open cmd window, switch to the extraction directory.
3. Run the command. Successful run indicates installation success.

4. Start ADB debugging.
SSH
SSH stands for Secure Shell, an encrypted network transmission protocol. Its core function is to securely remotely log into servers, execute commands, or transfer files in insecure network environments.
Account and Password
Default usernames and passwords for different systems are as follows:
| System | Username | Password |
|---|---|---|
| Debian11 | linaro | linaro |
| Debian11 | root | root |
| Ubuntu20.04 | kickpi | kickpi |
| Ubuntu20.04 | root | root |
IP Address Acquisition
DHCP automatically assigns IP addresses; no settings are needed. Device IP can be obtained in multiple ways.
- within the system: Connect the board to a display, log into the system, use
ifconfig eth0to get IP address. - via serial port: Enter
ifconfig eth0in the serial terminal to get IP address (Serial connection refer to Mobaxterm chapter above).
SSH Connection
Enter the command in the command line to perform SSH connection:
Example:
PS C:\Users\16708> ssh kickpi@192.168.77.186
The authenticity of host '192.168.77.186 (192.168.77.186)' can't be established.
ED25519 key fingerprint is SHA256:635IZrLQdeYlWWl3SCdLxu9fxLEPmStBapj4APCjzZE.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.77.186' (ED25519) to the list of known hosts.
kickpi@192.168.77.186's password:
Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 6.1.75 aarch64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
This system has been minimized by removing packages and content that are
not required on a system that users do not log into.
To restore this content, you can run the 'unminimize' command.
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
kickpi@kickpi:~$
Q&A
Cause: SD cards larger than 32GB need to use NTFS file system format.
Solution: Modify SDDiskTool_v1.74/config.ini, specify the format as NTFS, save, and restart SDDiskTool.

- ROOT User Login Failed?
1. Check if configuration was successful
Run the following commands. If the output is PermitRootLogin yes, it indicates configuration success:
console$ cat /etc/ssh/ssh_config | grep PermitRootLogin
PermitRootLogin yes
console$ cat /etc/ssh/sshd_config | grep PermitRootLogin
PermitRootLogin yes
2. Root user login configuration
Modify SSH configuration files: