Skip to content

Deployment and Maintenance / Official Raspberry Pi System Deployment

This document primarily describes how to run this system on a Raspberry Pi with the official Raspberry Pi OS installed.

Always use the latest version of DataFlux Func for operations

It is recommended to use a wired network connection during the operation process

This article is based on the Raspberry Pi 4B 8GB version for operation; the Raspberry Pi 3B is too weak to run

1. Preparations

Before installing DataFlux Func on a Raspberry Pi, some preparations are necessary.

1.1 Burning the Raspberry Pi SD Card

It is recommended to burn the SD card using a clean official image before installing DataFlux Func.

When burning the SD card, you can choose:

  1. The official Raspberry Pi Imager tool for burning

  2. Directly download the official Raspberry Pi OS image and use third-party tools for burning

After burning is complete, insert the SD card into the Raspberry Pi and power it on to boot.

1.2 Enabling ARM 64-bit Mode

The official Raspberry Pi OS, for backward compatibility considerations, does not enable 64-bit mode. However, products after the Raspberry Pi 3B support enabling 64-bit mode.

You can use the following command to open the Raspberry Pi configuration:

Bash
1
sudo vi /boot/config.txt

And add the following content, indicating that ARM 64-bit mode is enabled:

Text Only
1
arm_64bit=1

Save and reboot the Raspberry Pi.

After rebooting, you can confirm using the following command:

Bash
1
arch

Output should be as follows:

Text Only
1
aarch64

2. Installing DataFlux Func

The installation process of DataFlux Func on a Raspberry Pi is basically the same as on a regular server.

2.1 Download

The download process is the same as on other platforms; use the following command, which will detect the current environment architecture and download ARM resources.

Bash
1
/bin/bash -c "$(curl -fsSL func.guance.com/download)" -- --for=GSE
Bash
1
/bin/bash -c "$(curl -fsSL func.guance.com/download)"

GSE Edition and Older Versions

If you need to download the DataFlux Func installation package suitable for Raspberry Pi on a PC, specify --aarch64 in the download command.

Bash
1
/bin/bash -c "$(curl -fsSL func.guance.com/download)" -- --for=GSE --arch=aarch64
Bash
1
/bin/bash -c "$(curl -fsSL func.guance.com/download)" -- --arch=aarch64

2.2 Installation

After downloading, enter the downloaded directory and execute the following command to install:

Bash
1
sudo /bin/bash run-portable.sh

2.3 Initializing the System

After installation, use a browser to open the DataFlux Func initialization page for operation.

  • On the local Raspberry Pi, access http://127.0.0.1:8088
  • From another device, access http://{Raspberry Pi IP}:8088

2.4 Confirming Installation

After installation, log in to the system, go to "Manage / About", and you will see "Architecture" as aarch64:

Subsequent operations are no different from those of DataFlux Func installed on a regular server.

3. Configuring WI-FI Connection

If you want the Raspberry Pi to use WI-FI after installing DataFlux Func, please read this section

After installing DataFlux Func, the WI-FI control panel on the Raspberry Pi taskbar may prompt No wireless interfaces found, and it will be impossible to connect to WI-FI via the UI. Meanwhile, the wired connection can normally access the network.

This issue has been discovered during testing, but the cause is unclear, yet it does not affect the wired connection

3.1 Fixing Raspberry Pi WI-FI Issues

To fix this issue, open the network configuration:

Bash
1
sudo vi /etc/network/interfaces

Add the following configuration:

Bash
1
2
3
4
5
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid {Your WI-FI SSID}
wpa-psk  {Your WI-FI Password}

Save and restart the Raspberry Pi.

3.2 Confirming Issue Resolution

Use the following command to confirm the WI-FI module:

Bash
1
iwconfig wlan0

Output content is:

Text Only
1
2
3
4
5
6
7
8
wlan0     IEEE 802.11  ESSID:"{Your WI-FI SSID}"
          Mode:Managed  Frequency:2.472 GHz  Access Point: 08:36:C9:FC:3B:B0
          Bit Rate=72.2 Mb/s   Tx-Power=31 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=70/70  Signal level=-35 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:254  Invalid misc:0   Missed beacon:0

Use the following command to confirm the WI-FI network connection:

Bash
1
ifconfig wlan0

Output content is:

Text Only
1
2
3
4
5
6
7
8
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet {IP address assigned to Raspberry Pi}  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::e65f:1ff:fe30:c85d  prefixlen 64  scopeid 0x20<link>
        ether e4:5f:01:30:c8:5d  txqueuelen 1000  (Ethernet)
        RX packets 33397  bytes 5759317 (5.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 28599  bytes 22218944 (21.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Finally, open the browser and normal internet access indicates that the WI-FI issue has been resolved.

You can also directly use cURL to verify successful networking:

Bash
1
curl -L function.guance.com/h

Even though the WI-FI issue is resolved, the WI-FI control board in the taskbar may still display No wireless interfaces found

X. Appendix

This section records content related to Raspberry Pi for reference.

X.1 Maximizing Raspberry Pi Performance

Open /boot/config.txt file

Bash
1
sudo vim /boot/firmware/usercfg.txt

Add the following content according to your needs:

Text Only
1
2
3
4
5
force_turbo=0  # Prevent CPU from running at maximum frequency
arm_freq=2100  # Overclock CPU to 2.1Ghz (default is 1.5Ghz)
gpu_freq=750   # Overclock GPU to 750Mhz
gpu_mem=512    # Change video memory to 512MB
over_voltage=6 # Increase voltage to level 6

Even without these settings, it can be used normally, and passive cooling with just a metal case is sufficient

This setting involves overclocking, and full load operation cannot rely solely on a metal case for passive cooling, at least a fan is needed

More aggressive configurations can further improve Raspberry Pi performance, but will void the warranty

If damage occurs due to overclocking, the author of this article assumes no responsibility; please think carefully before proceeding

X.2 Raspberry Pi Stress Test Program

You can use the Raspberry Pi stress test tool to check the stability of its operation (especially after overclocking)

Pull the project repository

Bash
1
git clone https://gitee.com/sujivin/rpi-cpu-stress.git

The original author's Github repository address is: github.com/xukejing/rpi-cpu-stress

Add executable permissions

Bash
1
2
cd rpi-cpu-stress
chmod +x stress.sh

Start the stress test

Text Only
1
sudo ./stress.sh

In the terminal, you can see the following output:

Text Only
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
a72 freq: 2100000
temp: 50634

a72 freq: 2100000
temp: 54530

a72 freq: 2100000
temp: 55991

a72 freq: 2100000
temp: 56478
  • a72 freq: 2100000: Indicates the current CPU clock speed is 2.1Ghz
  • temp: 50634: Indicates the temperature is 50.634 degrees Celsius

Do not allow the Raspberry Pi to remain at high temperatures (above 80 degrees Celsius) for long periods

X.3 Installing Chinese Input Method on Raspberry Pi

Execute the following commands in the terminal to install the "Zhongzhou Yun" input method:

Bash
1
sudo apt-get install fcitx fcitx-rime

After completion, in "Preferences -> Fcitx Configuration -> Add Input Method", add the "Zhongzhou Yun" input method.

X.4 Installing Chinese Fonts on Raspberry Pi

Execute the following commands in the terminal to install the "WenQuanYi Zen Hei" font:

Bash
1
2
sudo apt-get install ttf-wqy-zenhei
sudo fc-cache