Difference between revisions of "Rockpi4/Ubuntu"
(→2019.01.04) |
RadxaYuntian (Talk | contribs) |
||
(35 intermediate revisions by 5 users not shown) | |||
Line 3: | Line 3: | ||
{{Languages|rockpi4/Ubuntu}} | {{Languages|rockpi4/Ubuntu}} | ||
+ | [[rockpi4 | ROCK Pi 4]] > [[rockpi4/Ubuntu | Ubuntu]] | ||
+ | __TOC__ | ||
+ | == Work with Rock Pi 4 Ubuntu Server == | ||
− | == | + | === Introduction === |
+ | The Ubuntu server image for Rock Pi 4 target for minimal, fast and customization. | ||
− | === | + | === Create Image === |
− | + | Linux as root or use Etcher in Windows | |
+ | gunzip -c rockpi4b-ubuntu-bionic-minimal-20190104_2101-gpt.img.gz | dd of=/dev/mmcblk0 | ||
+ | |||
+ | === Default username/password === | ||
+ | |||
+ | default username: rock | ||
+ | default password: rock | ||
+ | |||
+ | rock is sudo user and switch to root can be done with the following command as user rock: | ||
+ | |||
+ | sudo su | ||
+ | |||
+ | === Root mode === | ||
+ | |||
+ | rock is sudo user and switch to root can be done with the following command as user rock: | ||
+ | |||
+ | sudo su | ||
+ | |||
+ | For example: | ||
+ | |||
+ | rock@rockpi-4b:~$ | ||
+ | rock@rockpi-4b:~$ sudo su | ||
+ | [sudo] password for rock: | ||
+ | root@rockpi-4b:/home/rock# | ||
+ | |||
+ | There is no password for root user by default. You can set the password via 'passwd root'. | ||
+ | |||
+ | root@rockpi-4b:/home/rock# passwd root | ||
+ | New password: | ||
+ | Retype new password: | ||
+ | passwd: password updated successfully | ||
+ | root@rockpi-4b:/home/rock# | ||
+ | |||
+ | === Access from the Host PC/Laptop === | ||
+ | |||
+ | ==== Option 1: Serial console ==== | ||
+ | |||
+ | Check [[rockpi4/dev/serial-console | Serial Console]] | ||
+ | |||
+ | ==== Option 2: SSH ==== | ||
+ | SSH server is enabled on port 22 of ROCK Pi 4 default image. | ||
+ | |||
+ | Please use [https://angryip.org/ angryip] to find your board IP address. | ||
+ | |||
+ | $ ping ip-of-device | ||
+ | $ ssh rock@ip-of-device | ||
+ | |||
+ | === Add Radxa APT === | ||
+ | |||
+ | Follow the [https://wiki.radxa.com/Rockpi4/radxa-apt#Introduction Guide of Radxa APT] to add Radxa APT. | ||
+ | |||
+ | We suggest that you add '''bionic-testing''' APT Source to get the newest packages. | ||
+ | |||
+ | === Network Connection === | ||
+ | |||
+ | There are two methods for network connection. One is Ethernet and the other is WIFI. | ||
+ | |||
+ | ==== Ethernet Connection ==== | ||
+ | You can use a network cable (one end connected to the external network port or route) to connect your ROCK Pi 4 to the network. The ROCK Pi 4 will automatically configure the network for your surfing on the Internet. | ||
+ | |||
+ | ==== To test the Ethernet, we need to follow the steps: ==== | ||
+ | * Switch to super user mode by command | ||
+ | $ sudo su | ||
+ | |||
+ | * Check whether the Ethernet is normal by command, ifconfig, which would show us a network card, eth0, and the Ethernet IP address. Also, use tool, ping, to connect to a normal domain. | ||
+ | |||
+ | $ ifconfig | ||
+ | $ ping www.baidu.com | ||
+ | |||
+ | ==== WIFI Connection ==== | ||
+ | |||
+ | When there is not a network cable for your ROCK Pi 4 the WIFI connection is another good choice. ROCK Pi 4 supports 2.4G/5G WIFI wireless network. | ||
+ | |||
+ | =====To test the WIFI performance, we need to follow the steps:===== | ||
+ | |||
+ | * Switch to super user mode | ||
+ | $ sudo su | ||
+ | |||
+ | * Open the WIFI | ||
+ | $ nmcli r wifi on | ||
+ | |||
+ | * Scan WIFI | ||
+ | $ nmcli dev wifi | ||
+ | |||
+ | * Connect to WIFI network | ||
+ | $ nmcli dev wifi connect "wifi_name" password "wifi_password" | ||
+ | |||
+ | * Test WIFI perpormance by tool iperf. | ||
+ | |||
+ | === BT === | ||
+ | |||
+ | Update necessary packages | ||
+ | |||
+ | $ sudo apt-get update | ||
+ | $ sudo apt-get install -y rockchip-overlay | ||
+ | $ sudo apt-get install -y linux-4.4-latest # kernel version(>=4.4.154.100) | ||
+ | $ sudo apt-get install -y broadcom-wifibt-firmware(>=0.6) | ||
+ | |||
+ | Check BT service | ||
+ | |||
+ | $ systemctl status bluetooth | ||
+ | |||
+ | Run BT service | ||
+ | |||
+ | $ systemctl start bluetooth | ||
+ | |||
+ | Check BT device | ||
+ | |||
+ | $ hciconfig | ||
+ | hci0: Type: Primary Bus: UART | ||
+ | BD Address: AD:B8:A0:DA:A3:27 ACL MTU: 1021:8 SCO MTU: 64:1 | ||
+ | UP RUNNING | ||
+ | RX bytes:7900 acl:35 sco:0 events:387 errors:0 | ||
+ | TX bytes:217746 acl:380 sco:0 commands:102 errors:0 | ||
+ | |||
+ | Example: Connect to BT Speaker | ||
+ | |||
+ | Install pulseaudio packages | ||
+ | |||
+ | $ sudo apt-get install -y pulseaudio-module-bluetooth pulseaudio | ||
+ | |||
+ | Run pulseaudio, otherwise ROCK Pi 4 will not be able to connect to device. | ||
+ | |||
+ | $ pulseaudio --start | ||
+ | |||
+ | Connect using bluetoothctl | ||
+ | |||
+ | $ bluetoothctl | ||
+ | |||
+ | [bluetooth]# default-agent | ||
+ | Default agent request successful | ||
+ | |||
+ | [bluetooth]# power on | ||
+ | Changing power on succeeded | ||
+ | |||
+ | [bluetooth]# scan on | ||
+ | Discovery started | ||
+ | |||
+ | [bluetooth]# trust 77:EC:79:4F:6B:AC | ||
+ | [CHG] Device 77:EC:79:4F:6B:AC Trusted: yes | ||
+ | Changing 77:EC:79:4F:6B:AC trust succeeded | ||
+ | |||
+ | [bluetooth]# pair 77:EC:79:4F:6B:AC | ||
+ | Attempting to pair with 77:EC:79:4F:6B:AC | ||
+ | [CHG] Device 77:EC:79:4F:6B:AC Connected: yes | ||
+ | [CHG] Device 77:EC:79:4F:6B:AC UUIDs: 00001101-0000-1000-8000-00805f9b34fb | ||
+ | [CHG] Device 77:EC:79:4F:6B:AC UUIDs: 0000110b-0000-1000-8000-00805f9b34fb | ||
+ | [CHG] Device 77:EC:79:4F:6B:AC UUIDs: 0000110c-0000-1000-8000-00805f9b34fb | ||
+ | [CHG] Device 77:EC:79:4F:6B:AC UUIDs: 0000110e-0000-1000-8000-00805f9b34fb | ||
+ | [CHG] Device 77:EC:79:4F:6B:AC UUIDs: 0000111e-0000-1000-8000-00805f9b34fb | ||
+ | [CHG] Device 77:EC:79:4F:6B:AC ServicesResolved: yes | ||
+ | [CHG] Device 77:EC:79:4F:6B:AC Paired: yes | ||
+ | Pairing successful | ||
+ | |||
+ | [bluetooth]# connect 77:EC:79:4F:6B:AC | ||
+ | Attempting to connect to 77:EC:79:4F:6B:AC | ||
+ | [CHG] Device 77:EC:79:4F:6B:AC Connected: yes | ||
+ | Connection successful | ||
+ | [CHG] Device 77:EC:79:4F:6B:AC ServicesResolved: yes | ||
+ | |||
+ | Play songs and enjoy it. | ||
+ | |||
+ | === <span id="gpio">General purpose input-output (GPIO) </span> === | ||
+ | |||
+ | * ROCK Pi 4 has one 40-pin expansion header. To control them, see [[rockpi4/hardware/gpio | ROCK Pi 4 GPIO Pinout]]. | ||
+ | |||
+ | === <span id="common_hardware_interface">Common Hardware Interfaces, I2C, PWM, SPI, UART, etc</span> === | ||
+ | |||
+ | The ROCK Pi 4 system images use hw_intfc.conf, provided by the package rockpi4-dtbo, to configure interfaces. | ||
+ | |||
+ | For more details about device tree overlays, see [[rockpi4/hardware/devtree_overlays | ROCK Pi 4 Device Tree Overlays]]. | ||
+ | |||
+ | ==== Install essential package ==== | ||
+ | |||
+ | sudo apt-get install -y rockpi4-dtbo | ||
+ | |||
+ | ==== I2C ==== | ||
+ | |||
+ | Modify file /boot/hw_intfc.conf. Set "on" to enable the optional hardware interfaces while set "off" to disable. | ||
+ | |||
+ | intfc:i2c2=on | ||
+ | intfc:i2c6=on | ||
+ | intfc:i2c7=on | ||
+ | |||
+ | ==== PWM ==== | ||
+ | |||
+ | Modify file /boot/hw_intfc.conf. Set "on" to enable the optional hardware interfaces while set "off" to disable. | ||
+ | |||
+ | intfc:pwm0=on | ||
+ | intfc:pwm1=on | ||
+ | |||
+ | ==== SPI ==== | ||
+ | |||
+ | Modify file /boot/hw_intfc.conf. Set "on" to enable the optional hardware interfaces while set "off" to disable. | ||
+ | |||
+ | intfc:spi1=on | ||
+ | intfc:spi2=on | ||
+ | intfc:dtoverlay=devspi1 | ||
+ | intfc:dtoverlay=devspi2 | ||
+ | |||
+ | ==== UART ==== | ||
+ | |||
+ | Modify file /boot/hw_intfc.conf. Set "on" to enable the optional hardware interfaces while set "off" to disable. | ||
+ | |||
+ | intfc:uart2=on | ||
+ | intfc:uart4=on | ||
+ | |||
+ | And add "#" to line "intfc:dtoverlay=console-on-ttyS2" | ||
+ | |||
+ | #intfc:dtoverlay=console-on-ttyS2 | ||
+ | #intfc:dtoverlay=console-on-ttyS4 | ||
+ | |||
+ | Please note that when ROCK Pi 4 uart2 is connected with your devices like Raspberry Pi CAN/RS485 hat sending some data to uart2 on ROCK Pi 4. Please do the following step. | ||
+ | |||
+ | Check the file /boot/extlinux/extlinux.conf. And delete the following line. | ||
+ | |||
+ | menu title select kernel | ||
+ | |||
+ | ==== Debug console ==== | ||
+ | |||
+ | Modify file /boot/hw_intfc.conf. Set ttyS2 as debug console. | ||
+ | |||
+ | Disable UART2 | ||
+ | |||
+ | intfc:uart2=off | ||
+ | |||
+ | And uncomment the following line. | ||
+ | |||
+ | intfc:dtoverlay=console-on-ttyS2 | ||
+ | |||
+ | ==== Use SPI Flash on board ==== | ||
+ | |||
+ | Modify file /boot/hw_intfc.conf. Disable UART4 and enable SPI1. Besides, need to load spi1-flash overlay. | ||
+ | |||
+ | intfc:uart4=off | ||
+ | intfc:spi1=on | ||
+ | intfc:dtoverlay=spi1-flash | ||
+ | |||
+ | === Additional software === | ||
+ | |||
+ | ==== OpenCV ==== | ||
+ | |||
+ | There are two ways to get OpenCV. One is building OpenCV by yourself (Option one) and the other is installing opencv4.0 package (Option two). | ||
+ | |||
+ | ===== Option 1: Manually build ===== | ||
+ | |||
+ | Build OpenCV by yourself. See [[rockpi4/dev/install-opencv | Install OpenCV]]. | ||
+ | |||
+ | ===== Option 2: Install pre-built binaries ===== | ||
+ | |||
+ | ===== Install Ubuntu desktop ===== | ||
+ | |||
+ | To use OpenCV, an OS desktop is necessary. If your ROCK Pi 4 is running Ubuntu but without desktop, you can install Ubuntu mate desktop. | ||
+ | |||
+ | $ sudo apt install ubuntu-mate-core && sudo apt install ubuntu-mate-desktop | ||
+ | |||
+ | ===== Install all the recommended packages ===== | ||
+ | |||
+ | Required: | ||
+ | $ sudo apt-get update && sudo apt-get upgrade | ||
+ | $ sudo apt-get install build-essential | ||
+ | $ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev | ||
+ | |||
+ | Recommended optional packages: | ||
+ | $ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev | ||
+ | $ sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libavresample-dev | ||
+ | $ sudo apt install tesseract-ocr cmake-data liblept5 | ||
+ | |||
+ | Install OpenCV package: | ||
+ | |||
+ | $ sudo apt-get install opencv4.0 | ||
+ | |||
+ | ===== Step 3: Test OpenCV ===== | ||
+ | |||
+ | To check the version of your installed OpenCV, try this: | ||
+ | |||
+ | rock@linux:~$ python | ||
+ | Python 2.7.15rc1 (default, Nov 12 2018, 14:31:15) | ||
+ | [GCC 7.3.0] on linux2 | ||
+ | Type "help", "copyright", "credits" or "license" for more information. | ||
+ | >>> import cv2 | ||
+ | >>> cv2.__version__ | ||
+ | '4.0.1' | ||
+ | >>> | ||
+ | |||
+ | Obtain OpenCV sample: | ||
+ | |||
+ | $ cd ~ | ||
+ | $ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.0.1.zip | ||
+ | $ unzip opencv.zip | ||
+ | |||
+ | $ cd ~/opencv-4.0.1/samples/python | ||
+ | $ python watershed.py | ||
+ | |||
+ | ==== OpenGL ES ==== | ||
+ | |||
+ | ===== Install glmark2 ===== | ||
+ | |||
+ | $ sudo apt update | ||
+ | $ sudo apt install -y git gcc g++ libpng-dev libjpeg-dev pkg-config libx11-dev libdrm-dev libgbm-dev libgbm1 libudev-dev | ||
+ | $ mkdir -p /home/rock/work | ||
+ | $ cd /home/rock/work | ||
+ | $ git clone https://github.com/glmark2/glmark2.git | ||
+ | $ ./waf configure --with-flavors=drm-glesv2 | ||
+ | $ ./waf build -j 4 | ||
+ | $ ./waf install | ||
+ | |||
+ | ===== Install mali packages ===== | ||
+ | |||
+ | $ sudo apt install -y rockchip-mali-midgard14=1.6-2 | ||
+ | $ sudo apt install -y rockchip-mali-midgard-dev=1.6-2 | ||
+ | |||
+ | ===== Test OpenGL via glmark2-es2-drm ===== | ||
+ | |||
+ | $ glmark2-es2-drm | ||
+ | |||
+ | ======================================================= | ||
+ | glmark2 2021.02 | ||
+ | ======================================================= | ||
+ | OpenGL Information | ||
+ | GL_VENDOR: ARM | ||
+ | GL_RENDERER: Mali-T860 | ||
+ | GL_VERSION: OpenGL ES 3.2 v1.r14p0-01rel0-git(966ed26).f44c85cb3d2ceb87e8be88e7592755c3 | ||
+ | ======================================================= | ||
+ | [build] use-vbo=false: FPS: 59 FrameTime: 16.949 ms | ||
+ | [build] use-vbo=true: FPS: 60 FrameTime: 16.667 ms | ||
+ | [texture] texture-filter=nearest: FPS: 60 FrameTime: 16.667 ms | ||
+ | [texture] texture-filter=linear: FPS: 60 FrameTime: 16.667 ms | ||
+ | [texture] texture-filter=mipmap: FPS: 60 FrameTime: 16.667 ms | ||
+ | [shading] shading=gouraud: FPS: 60 FrameTime: 16.667 ms | ||
+ | [shading] shading=blinn-phong-inf: FPS: 60 FrameTime: 16.667 ms | ||
+ | [shading] shading=phong: FPS: 60 FrameTime: 16.667 ms | ||
+ | [shading] shading=cel:^C^V FPS: 60 FrameTime: 16.667 ms | ||
+ | ======================================================= | ||
+ | glmark2 Score: 59 | ||
+ | ======================================================= | ||
+ | |||
+ | === Networking === | ||
+ | Since bionic networking has moved to [https://www.serverlab.ca/tutorials/linux/administration-linux/how-to-configure-network-settings-in-ubuntu-18-04-bionic-beaver/ netplan] /etc/netplan netplan | ||
== Changelogs == | == Changelogs == | ||
+ | |||
+ | ====2019.11.27==== | ||
+ | |||
+ | '''rockpi4b-ubuntu-bionic-minimal-20191127_1942-gpt.img.gz''' | ||
+ | |||
+ | * Kernel version updated to linux-4.4.154-95-rockchip-gd2ab1f26e1b3 | ||
+ | * U-Boot version updated to 2017.09-00013-g6d910b7 | ||
+ | * systemd version: 237 | ||
+ | * Support SSH | ||
====2019.01.04==== | ====2019.01.04==== |
Latest revision as of 03:18, 29 September 2022
ROCK Pi 4 > Ubuntu
Contents
- 1 Work with Rock Pi 4 Ubuntu Server
- 1.1 Introduction
- 1.2 Create Image
- 1.3 Default username/password
- 1.4 Root mode
- 1.5 Access from the Host PC/Laptop
- 1.6 Add Radxa APT
- 1.7 Network Connection
- 1.8 BT
- 1.9 General purpose input-output (GPIO)
- 1.10 Common Hardware Interfaces, I2C, PWM, SPI, UART, etc
- 1.11 Additional software
- 1.12 Networking
- 2 Changelogs
Work with Rock Pi 4 Ubuntu Server
Introduction
The Ubuntu server image for Rock Pi 4 target for minimal, fast and customization.
Create Image
Linux as root or use Etcher in Windows
gunzip -c rockpi4b-ubuntu-bionic-minimal-20190104_2101-gpt.img.gz | dd of=/dev/mmcblk0
Default username/password
default username: rock default password: rock
rock is sudo user and switch to root can be done with the following command as user rock:
sudo su
Root mode
rock is sudo user and switch to root can be done with the following command as user rock:
sudo su
For example:
rock@rockpi-4b:~$ rock@rockpi-4b:~$ sudo su [sudo] password for rock: root@rockpi-4b:/home/rock#
There is no password for root user by default. You can set the password via 'passwd root'.
root@rockpi-4b:/home/rock# passwd root New password: Retype new password: passwd: password updated successfully root@rockpi-4b:/home/rock#
Access from the Host PC/Laptop
Option 1: Serial console
Check Serial Console
Option 2: SSH
SSH server is enabled on port 22 of ROCK Pi 4 default image.
Please use angryip to find your board IP address.
$ ping ip-of-device $ ssh rock@ip-of-device
Add Radxa APT
Follow the Guide of Radxa APT to add Radxa APT.
We suggest that you add bionic-testing APT Source to get the newest packages.
Network Connection
There are two methods for network connection. One is Ethernet and the other is WIFI.
Ethernet Connection
You can use a network cable (one end connected to the external network port or route) to connect your ROCK Pi 4 to the network. The ROCK Pi 4 will automatically configure the network for your surfing on the Internet.
To test the Ethernet, we need to follow the steps:
- Switch to super user mode by command
$ sudo su
- Check whether the Ethernet is normal by command, ifconfig, which would show us a network card, eth0, and the Ethernet IP address. Also, use tool, ping, to connect to a normal domain.
$ ifconfig $ ping www.baidu.com
WIFI Connection
When there is not a network cable for your ROCK Pi 4 the WIFI connection is another good choice. ROCK Pi 4 supports 2.4G/5G WIFI wireless network.
To test the WIFI performance, we need to follow the steps:
- Switch to super user mode
$ sudo su
- Open the WIFI
$ nmcli r wifi on
- Scan WIFI
$ nmcli dev wifi
- Connect to WIFI network
$ nmcli dev wifi connect "wifi_name" password "wifi_password"
- Test WIFI perpormance by tool iperf.
BT
Update necessary packages
$ sudo apt-get update $ sudo apt-get install -y rockchip-overlay $ sudo apt-get install -y linux-4.4-latest # kernel version(>=4.4.154.100) $ sudo apt-get install -y broadcom-wifibt-firmware(>=0.6)
Check BT service
$ systemctl status bluetooth
Run BT service
$ systemctl start bluetooth
Check BT device
$ hciconfig hci0: Type: Primary Bus: UART BD Address: AD:B8:A0:DA:A3:27 ACL MTU: 1021:8 SCO MTU: 64:1 UP RUNNING RX bytes:7900 acl:35 sco:0 events:387 errors:0 TX bytes:217746 acl:380 sco:0 commands:102 errors:0
Example: Connect to BT Speaker
Install pulseaudio packages
$ sudo apt-get install -y pulseaudio-module-bluetooth pulseaudio
Run pulseaudio, otherwise ROCK Pi 4 will not be able to connect to device.
$ pulseaudio --start
Connect using bluetoothctl
$ bluetoothctl [bluetooth]# default-agent Default agent request successful [bluetooth]# power on Changing power on succeeded [bluetooth]# scan on Discovery started [bluetooth]# trust 77:EC:79:4F:6B:AC [CHG] Device 77:EC:79:4F:6B:AC Trusted: yes Changing 77:EC:79:4F:6B:AC trust succeeded [bluetooth]# pair 77:EC:79:4F:6B:AC Attempting to pair with 77:EC:79:4F:6B:AC [CHG] Device 77:EC:79:4F:6B:AC Connected: yes [CHG] Device 77:EC:79:4F:6B:AC UUIDs: 00001101-0000-1000-8000-00805f9b34fb [CHG] Device 77:EC:79:4F:6B:AC UUIDs: 0000110b-0000-1000-8000-00805f9b34fb [CHG] Device 77:EC:79:4F:6B:AC UUIDs: 0000110c-0000-1000-8000-00805f9b34fb [CHG] Device 77:EC:79:4F:6B:AC UUIDs: 0000110e-0000-1000-8000-00805f9b34fb [CHG] Device 77:EC:79:4F:6B:AC UUIDs: 0000111e-0000-1000-8000-00805f9b34fb [CHG] Device 77:EC:79:4F:6B:AC ServicesResolved: yes [CHG] Device 77:EC:79:4F:6B:AC Paired: yes Pairing successful [bluetooth]# connect 77:EC:79:4F:6B:AC Attempting to connect to 77:EC:79:4F:6B:AC [CHG] Device 77:EC:79:4F:6B:AC Connected: yes Connection successful [CHG] Device 77:EC:79:4F:6B:AC ServicesResolved: yes
Play songs and enjoy it.
General purpose input-output (GPIO)
- ROCK Pi 4 has one 40-pin expansion header. To control them, see ROCK Pi 4 GPIO Pinout.
Common Hardware Interfaces, I2C, PWM, SPI, UART, etc
The ROCK Pi 4 system images use hw_intfc.conf, provided by the package rockpi4-dtbo, to configure interfaces.
For more details about device tree overlays, see ROCK Pi 4 Device Tree Overlays.
Install essential package
sudo apt-get install -y rockpi4-dtbo
I2C
Modify file /boot/hw_intfc.conf. Set "on" to enable the optional hardware interfaces while set "off" to disable.
intfc:i2c2=on intfc:i2c6=on intfc:i2c7=on
PWM
Modify file /boot/hw_intfc.conf. Set "on" to enable the optional hardware interfaces while set "off" to disable.
intfc:pwm0=on intfc:pwm1=on
SPI
Modify file /boot/hw_intfc.conf. Set "on" to enable the optional hardware interfaces while set "off" to disable.
intfc:spi1=on intfc:spi2=on intfc:dtoverlay=devspi1 intfc:dtoverlay=devspi2
UART
Modify file /boot/hw_intfc.conf. Set "on" to enable the optional hardware interfaces while set "off" to disable.
intfc:uart2=on intfc:uart4=on
And add "#" to line "intfc:dtoverlay=console-on-ttyS2"
#intfc:dtoverlay=console-on-ttyS2 #intfc:dtoverlay=console-on-ttyS4
Please note that when ROCK Pi 4 uart2 is connected with your devices like Raspberry Pi CAN/RS485 hat sending some data to uart2 on ROCK Pi 4. Please do the following step.
Check the file /boot/extlinux/extlinux.conf. And delete the following line.
menu title select kernel
Debug console
Modify file /boot/hw_intfc.conf. Set ttyS2 as debug console.
Disable UART2
intfc:uart2=off
And uncomment the following line.
intfc:dtoverlay=console-on-ttyS2
Use SPI Flash on board
Modify file /boot/hw_intfc.conf. Disable UART4 and enable SPI1. Besides, need to load spi1-flash overlay.
intfc:uart4=off intfc:spi1=on intfc:dtoverlay=spi1-flash
Additional software
OpenCV
There are two ways to get OpenCV. One is building OpenCV by yourself (Option one) and the other is installing opencv4.0 package (Option two).
Option 1: Manually build
Build OpenCV by yourself. See Install OpenCV.
Option 2: Install pre-built binaries
Install Ubuntu desktop
To use OpenCV, an OS desktop is necessary. If your ROCK Pi 4 is running Ubuntu but without desktop, you can install Ubuntu mate desktop.
$ sudo apt install ubuntu-mate-core && sudo apt install ubuntu-mate-desktop
Install all the recommended packages
Required:
$ sudo apt-get update && sudo apt-get upgrade $ sudo apt-get install build-essential $ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
Recommended optional packages:
$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev $ sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libavresample-dev $ sudo apt install tesseract-ocr cmake-data liblept5
Install OpenCV package:
$ sudo apt-get install opencv4.0
Step 3: Test OpenCV
To check the version of your installed OpenCV, try this:
rock@linux:~$ python Python 2.7.15rc1 (default, Nov 12 2018, 14:31:15) [GCC 7.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> cv2.__version__ '4.0.1' >>>
Obtain OpenCV sample:
$ cd ~ $ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.0.1.zip $ unzip opencv.zip $ cd ~/opencv-4.0.1/samples/python $ python watershed.py
OpenGL ES
Install glmark2
$ sudo apt update $ sudo apt install -y git gcc g++ libpng-dev libjpeg-dev pkg-config libx11-dev libdrm-dev libgbm-dev libgbm1 libudev-dev $ mkdir -p /home/rock/work $ cd /home/rock/work $ git clone https://github.com/glmark2/glmark2.git $ ./waf configure --with-flavors=drm-glesv2 $ ./waf build -j 4 $ ./waf install
Install mali packages
$ sudo apt install -y rockchip-mali-midgard14=1.6-2 $ sudo apt install -y rockchip-mali-midgard-dev=1.6-2
Test OpenGL via glmark2-es2-drm
$ glmark2-es2-drm
======================================================= glmark2 2021.02 ======================================================= OpenGL Information GL_VENDOR: ARM GL_RENDERER: Mali-T860 GL_VERSION: OpenGL ES 3.2 v1.r14p0-01rel0-git(966ed26).f44c85cb3d2ceb87e8be88e7592755c3 ======================================================= [build] use-vbo=false: FPS: 59 FrameTime: 16.949 ms [build] use-vbo=true: FPS: 60 FrameTime: 16.667 ms [texture] texture-filter=nearest: FPS: 60 FrameTime: 16.667 ms [texture] texture-filter=linear: FPS: 60 FrameTime: 16.667 ms [texture] texture-filter=mipmap: FPS: 60 FrameTime: 16.667 ms [shading] shading=gouraud: FPS: 60 FrameTime: 16.667 ms [shading] shading=blinn-phong-inf: FPS: 60 FrameTime: 16.667 ms [shading] shading=phong: FPS: 60 FrameTime: 16.667 ms [shading] shading=cel:^C^V FPS: 60 FrameTime: 16.667 ms ======================================================= glmark2 Score: 59 =======================================================
Networking
Since bionic networking has moved to netplan /etc/netplan netplan
Changelogs
2019.11.27
rockpi4b-ubuntu-bionic-minimal-20191127_1942-gpt.img.gz
- Kernel version updated to linux-4.4.154-95-rockchip-gd2ab1f26e1b3
- U-Boot version updated to 2017.09-00013-g6d910b7
- systemd version: 237
- Support SSH
2019.01.04
rockpi4b-ubuntu-bionic-minimal-20190104_2101-gpt.img.gz
- Add radxa apt repository in the release image
- Rockchip hardware overylay are now managed by deb package
- New DRM hotplug management script fix screen resolution change issue
- Kernel version updated to linux-4.4.154-59-rockchip-g5e70f14
- Kernel modules support AppArmor, Docker, WireGuard and UFW
- Support USB gadget network, see USB Net
- Support TP-Link UE300 ethernet adapter
- A lot of kernel features are enabled as modules
- Uboot version updated to 2017.09-02085-g5a6aeld
- Support kernel boot menu selection(serial console only)
- Support device tree directory boot
- Support manually flash uboot in running system
- Fix ethernet is not managed by Network Manager issue
- Kernel package installation automatically adds to the boot menu