Linux Ubuntu and Qt
ARM Ubuntu Build Concept
The new Linux kernel can boot by mounting the root filesystem directly, without an intermediate ramdisk stage. The rootfs can be built through TF/SD card, USB disk, or NFS. The manual uses X30/PX30 as an example, and the method also applies to RK3288/RK3399.
Preparation
- Flash
update-linux.imgand ensure the board boots Linux. - Prepare a TF card, SD card, USB card reader, or USB disk, formatted as ext4.
- For NFS, connect the PC and board to the same network.
- After changing bootargs, usually only
boot.imgneeds to be rebuilt and flashed.
bootargs Location
PX30 / X30:
kernel/arch/arm64/boot/dts/rockchip/rk3326-linux.dtsi
Other examples:
# RK3288
kernel/arch/arm/boot/dts/rk3288-linux.dtsi
# RK3399
kernel/arch/arm64/boot/dts/rockchip/rk3399-linux.dtsi
Search:
grep -R "bootargs" kernel/arch/arm64/boot/dts/rockchip/
PX30 original bootargs example:
chosen {
bootargs = "earlycon=uart8250,mmio32,0xff160000 swiotlb=1 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rootwait";
};
Boot from TF / USB Rootfs
Modify the root parameter according to the actual device node, such as /dev/mmcblk1p1 or /dev/sda1, and add rootfstype=ext4 rootwait. Rebuild the kernel and flash boot.img.
NFS Rootfs
Configure the NFS server on the PC and set bootargs similar to:
root=/dev/nfs nfsroot=<server_ip>:/path/to/rootfs,v3,tcp rw ip=dhcp
After first boot into the NFS rootfs, configure user, network, desktop environment, and packages.
Qt Filesystem
The Linux manual builds the Qt filesystem through Buildroot:
cd buildroot
make menuconfig
make
Buildroot output contains the rootfs image and host toolchain.
Qt5 Examples
Run Qt5 default examples to verify display, touch, input, and library dependencies.
Qt Creator
Install Qt Creator on the host for Qt application development. For cross-compilation, configure toolchain, sysroot, qmake, and runtime environment.