AIO-3399J Buy Spec

Uses RK3399 Six-Core ( A72x2+A53x4 ) 64-Bit CPU, up to 2.0Ghz , integrated Quad-Core Mali-T864 GPU. Onboard M.2 PCIe, 4G LTE interface, multiple display interface and serial port. Support Android/Linux/Ubuntu system.

Build Ubuntu Rfs

Update time:2018-04-25 Views:2999

Before You Start

install qemu

intall qemu in your computer

sudo apt-get install qemu-user-static

Download & Decompression the ubuntu-core

Firefly-rk3399 create the root-file-system by the Ubuntu base 16.04. You can download from here ubuntu cdimg download. please choose this one : ubuntu-base-16.04.1-base-arm64.tar.gz 。

after download,create a temporary folder for decompression.

 mkdir temp
sudo tar -xpf ubuntu-base-16.04.1-base-arm64.tar.gz -C temp

Optimized the rootfs


get your network readyː

 sudo cp -b /etc/resolv.conf temp/etc/resolv.conf

prepare qemu

 sudo cp /usr/bin/qemu-aarch64-static temp/usr/bin/

Change root

 sudo chroot temp

update & install


 apt update
apt upgrade

install you need

 apt install vim git...(something you like)

install xubuntu

 apt install xubuntu-desktop

user & password

 useradd -s '/bin/bash' -m -G adm,sudo firefly

set user's password

 passwd firefly

set the root user's password

 passwd root

After all the work is done,exit


make the rootfs

make the rootfs,notice that you need change the "count" value according to the size of the "temp" folder.

 dd if=/dev/zero of=linuxroot.img bs=1M count=2048
sudo  mkfs.ext4  linuxroot.img
mkdir  rootfs
sudo mount linuxroot.img rootfs/
sudo cp -rfp temp/*  rootfs/
sudo umount rootfs/
e2fsck -p -f linuxroot.img
resize2fs  -M linuxroot.img

The final root filesystem linuxroot.img is ready to serve.

Something more

when the system is ready, remember resize the rootfs partition by

 resize2fs /dev/mtd/by-name/linuxroot

e">Download & Decompression the ubuntu-core