Please enable javascript, or click here to visit my ecommerce web site powered by Shopify.
Jump to: navigation, search

Rockpi4/Ubuntu

< Rockpi4
Revision as of 03:54, 26 September 2020 by Stephen (Talk | contribs)

    ROCK Pi 4 >  Ubuntu

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

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.

Unminimize the system

 sudo unminimize

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.

Bluetooth

Update necessary packages

 $ sudo apt-get update
 $ sudp apt-get install -y rockchip-fstab 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 bluetooth service

 $ systemctl status bluetooth

Run bluetooth service

 $ systemctl start bluetooth

Check bluetooth 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 Bluetooth 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.

Common Hardware Interfaces, I2C, PWM, SPI, UART, etc

The ROCK Pi 4 system images use hw_intfc.conf to configure interfaces.

I2C

PWM

SPI

UART

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

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