Firefly Ubuntu User Manual This user manual is applicable to Firefly Ubuntu Desktop & Minimal system. Some introductions related to UI display are only for Desktop system. It is strongly recommended to use Ubuntu 18.04. If you use other versions of the system, some sections of this document may not be fully applicable. Create Ubuntu root file system "Compile Ubuntu firmware(GPT)" ADB use ADB Connect the device and the PC host; adb devices adb shell Network ADB Check the IP address of the development board, the PC end is accessed through the network: adb connect + IP adb shell Install linux-headers and linux-image DEBIAN package download link: Downloads Install header files sudo dpkg -i linux-headers-4.4.194+_4.4.194+-5_arm64.deb sudo dpkg -i linux-image-4.4.194+_4.4.194+-5_arm64.deb cd /usr/src/linux-headers-4.4.194+ make headers_check make headers_install #make scripts It might go wrong but it doesn't matter make scripts Qt cross compilation environment support The Qt cross-compilation tool chain released by Firefly is suitable for the following environments: Host: x86-64 / Ubuntu 18.04 Target: Firefly RK3399 RK3328 PX30 / Ubuntu 18.04 Minimal&Desktop The tool chain fully supports wenEngine and backends such as EGLFS LinuxFB XCB. download link Link: https://drive.google.com/drive/folders/1sQdnuZe2onTxvguUUV0LeVsOGWXb-d_q?usp=sharing Deployment See Qt5.12.2_Release.md for details Note that the names of all paths in the document cannot be changed, otherwise it will cause compilation or running errors. Compile On the host side, enter the Qt project directory, qmake && make. Run Two test demos are provided in the tool chain, corresponding to EGLFS and LinuxFB Backend. After the deployment is completed, the user can build the demo on the host side and run the demo on the tartget side to test whether the deployment is successful. Create WIFI hotspot Hardware requirements: Requires wireless network card and supports mobile hotspot function Click the "Ethernet Network" icon in the upper right corner of the desktop, select "Edit Connection..." Select the "+" icon, Add a new connection Select "Wi-Fi", then click "Create" Wi-Fi settings: Set SSID Mode: select Hotspot Device: select wireless network card (wlan) Choose the appropriate encryption method: Click "Save" to complete the hotspot creation immediately Export device system This chapter applies to: When the user has completed the deployment of the work environment on one device, the current environment needs to be completely exported for batch deployment to other devices on the same platform. The export device system is divided into two steps Export device rootfs Re-package the complete firmware, re-package rootfs and other firmware components on the PC, and generate complete firmware Export device rootfs Install fireflydev on the device sudo apt update sudo apt install fireflydev Use ff_export_rootfs to export the root file system It is recommended to use a mobile hard disk with a larger capacity The export tool will perform operations such as apt clean to reduce the file system size Export the root file system to the /media/firefly/AC91-C4AE/ directory, the actual example is as follows: root@firefly:~# ff_export_rootfs ff_export_rootfs [-t ] ff_export_rootfs /media/firefly/AC91-C4AE/ Second package complete firmware Tool download: firefly-linux-repack This tool is suitable for users who need to replace any part of the firmware349 Install the necessary environment on the PC: sudo apt-get install lib32stdc++6 firefly-linux-repack ├── bin │ ├── afptool │ └── rkImageMaker ├── pack.sh ├── Readme_en.md ├── Readme.md └── unpack.sh Unpack Copy the officially released firmware to the current directory, rename it to update.img, execute unpack.sh After unpacking is complete, the generated file is in the output directory. Combined package Keep the current directory structure, file name, etc. unchanged, replace the file with the same name under output/ with the customer's own file Execute pack.sh, after execution, generate new_update.img, which is the packaged firmware The rootfs file name must be rootfs.img The file name of parameter.txt must be parameter.txt Note: During the package process, if the rootfs partition is not the last partition, the program will follow the size of the rootfs file, Automatically modify the size of the rootfs partition in parameter.txt. If the user himself changes parameter.txt, please pay attention to the entire package process. tar -xzf firefly-linux-repack.tgz cd firefly-linux-repack mv /xxx/FIREFLY-RK3399-UBUNTU18.04-GPT-20200714-1510.img update.img ./unpack.sh cp /customer/rootfs.img output/Image/rootfs.img ./pack.sh ls new_update.img Screen rotation Firefly Ubuntu Desktop uses the ff_rotate script to control screen rotation: ff_rotate root@firefly:~# ff_rotate rotate screen and touchscreen run as root ff_rotate orientation: left, right, normal, inverted #Image output flip root@firefly:~# ff_rotate inverted Display version information ffgo The ffgo command provided by Firefly can easily view the firmware information, which is convenient for developers to debug and locate problems. When users need to feedback information to Firefly, they need to attach the version information displayed by ffgo version. root@firefly:~# ffgo Usage: ffgo: show this usage ffgo update: update ffgo ffgo version: get version ffgo cmdlist: get support cmd list ffgo [cmd]: run cmd in cmd list root@firefly:~# ffgo update update success root@firefly:~# ffgo version OS: Ubuntu 18.04.4 LTS MODEL: Firefly-RK3399 Board (Linux Opensource) FIREFLY: v2.03-1-g2ed565c DATE: 20200617-1042 KERNEL: Linux version 4.4.194-59119-g968ba5005831 (jincheng@jincheng-System-Product-Name) (local/firefly-linux/rk3399/firefly: 968ba5005831c5f69d68d95984451fd2a7c457c0) (gcc version 6.3.1 20170404 (Lina0 reset Firefly Ubuntu supports restoring factory settings. Note that this factory setting means that the device is restored to its initial state after the last firmware upgrade root@firefly:~# recovery Usage: update