2. 系统配置

2.1. 系统更新

出于系统安全、稳定性的考虑,推荐用户安装完系统后,通过APT命令对系统进行更新。

/etc/apt/source.list文件中,保存了APT命令的软件源列表,在安装软件前,需要先通过apt命令更新package列表。

首先打开终端命令行,并输入如下命令:

sudo apt update

其次,升级所有已安装的软件包到最新版本,命令如下:

sudo apt full-upgrade

注意,推荐使用full-upgrade而不是简单的upgrade命令,这样当相关依赖发生变动时,也会同步更新依赖包。

当运行sudo apt full-upgrade命令时,系统会提示数据下载和磁盘占用大小,但是apt不会检查磁盘空间是否充足,推荐用户通过df -h命令手动检查。此外,升级过程中下载的deb文件会保存在/var/cache/apt/archives目录中,用户可以通过sudo apt clean命令删除缓存文件以释放磁盘空间。

执行full-upgrade之后,可能会重新安装驱动和升级旭日X3派的内核,所以建议都重启一下设备,命令如下:

sudo reboot

2.2. 网络配置

本章节主要介绍开发板有线、无线网络配置的修改方法。

2.2.1. 有线网络

开发板有线网络默认采用静态IP配置,初始IP地址为192.168.1.10。用户可通过如下方法实现静态、DHCP模式的切换。

修改静态IP配置
开发板静态网络配置保存在/etc/network/interfaces文件中,通过修改addressnetmaskgateway等字段,可完成对静态IP配置的修改,例如:

sudo vim /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto eth0
iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    gateway 192.168.1.1 
    metric 700

修改完成后,命令行输入sudo systemctl restart NetworkManager命令让配置生效。

修改DHCP配置
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。开发板的DHCP网络配置保存在/etc/network/interfaces文件,通过修改eth0相关配置,可完成对DHCP模式的修改,例如:

sudo vim /etc/network/interfaces
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
    metric 700

修改完成后,命令行输入sudo systemctl restart NetworkManager命令让配置生效。

修改MAC地址配置
如需修改开发板默认MAC地址,可通过在/etc/network/interfaces文件中增加pre-up配置信息,指定用户需要的MAC地址,例如:

sudo vim /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto eth0
iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    gateway 192.168.1.1 
    pre-up ifconfig eth0 hw ether 00:11:22:9f:51:27

修改完成后,命令行输入sudo systemctl restart NetworkManager命令让配置生效。

2.2.2. 无线网络

对于使用Ubuntu Desktop版本系统的用户,可点击桌面右上角Wi-Fi图标,选择对应热点并输入密码,完成网络配置,如下图:

image-wifi-config

对于使用Ubuntu Server版本系统的用户,可通过命令行完成无线网络配置:

  • 使用sudo nmcli device wifi rescan命令扫描热点

  • 使用sudo nmcli device wifi list命令列出扫描到的热点

当扫描Wi-Fi热点遇到Error: Scanning not allowed immediately following previous scan.提示,说明扫描过于频繁,可以间隔一段时间再次尝试扫描。

  • 使用 sudo wifi_connect "SSID" "PASSWD"命令连接热点,返回如下信息,说明网络连接成功,否则请检查SSID是否存在、密码是否有误:

root@ubuntu:~# sudo wifi_connect "WiFi-Test" "12345678" 
Device 'wlan0' successfully activated with 'd7468833-4195-45aa-aa33-3d43da86e1a7'.

如果提示 Error: No network with SSID 'WiFi-Test' found.,说明是热点还没有刷新出来,可以执行sudo nmcli device wifi rescan命令重新扫描。

2.2.3. 无线网络软AP

AP6212的wifi支持软AP和Station两种模式,默认运行在Station模式下,如果要使用软AP功能请按照以下步骤进行配置。

  • 安装hostapdisc-dhcp-server

sudo apt update
sudo apt install hostapd
sudo apt install isc-dhcp-server
  • 配置 hostapd,打开 sudo vim /etc/hostapd.conf,无密码的热点配置请添加以下内容:

interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd
ssid=Sunrise
channel=6
ieee80211n=1
hw_mode=g
ignore_broadcast_ssid=0

有密码的热点配置请添加以下内容:

interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd
ssid=Sunrise
channel=6
ieee80211n=1
hw_mode=g
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_passphrase=12345678
  • 配置isc-dhcp-server

打开 sudo vim /etc/default/isc-dhcp-server,如下定义使用的网络接口,保存并退出:

INTERFACESv4="wlan0"

打开 sudo vim /etc/dhcp/dhcpd.conf, 取消以下字段的注释:

authoritative;

然后在 /etc/dhcp/dhcpd.conf文件的末尾增加以下配置:

subnet 10.5.5.0 netmask 255.255.255.0 {
  range 10.5.5.100 10.5.5.254;
  option subnet-mask 255.255.255.0;
  option routers 10.5.5.1;
  option broadcast-address 10.5.5.31;
  default-lease-time 600;
  max-lease-time 7200;
}
  • 停止 wpa_supplicant 服务,并重启 wlan0

systemctl stop wpa_supplicant

ip addr flush dev wlan0
sleep 0.5
ifconfig wlan0 down
sleep 1
ifconfig wlan0 up
  • 启动 hostapd服务

root@ubuntu:~# sudo hostapd -B /etc/hostapd.conf

Configuration file: /etc/hostapd.conf
Using interface wlan0 with hwaddr 08:e9:f6:af:18:26 and ssid "sunrise"
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED 
  • 然后配置无线接口wlan0的IP和网段,注意要跟上面的配置一致。

sudo ifconfig wlan0 10.5.5.1 netmask 255.255.255.0
  • 最后开启dhcp服务器,连上热点会从10.5.5.10010.5.5.255之间分配一个ip地址给客户端。

sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server
  • 打开手机连接 Sunrise 这个热点名

image-20220601203025803

查看连接状态,可以看到分配的IP为10.5.5.100,与我们设置的dhcp地址范围一致。

image-20220601203119625

  • 切换回Station模式

    # 停止 hostapd
    killall5 -9 hostapd
    
    # 清除 wlan0 的地址
    ip addr flush dev wlan0
    sleep 0.5
    ifconfig wlan0 down
    sleep 1
    ifconfig wlan0 up
    
    # 重启 wpa_supplicant
    systemctl restart wpa_supplicant
    
    # 连接热点, 具体操作可以查看上一章节 “无线网络”
    wifi_connect "WiFi-Test" "12345678"
    

2.2.4. DNS服务

DNS(Domain Name Server)是进行域名(domain name)和与之相对应的IP地址转换的服务器。开发板DNS配置通过/etc/systemd/resolved.conf文件管理,用户可通过修改该文件完成DNS相关配置,步骤如下: 在其中取消 #DNS 前面的 # 号,然后设置为:

1)修改sudo vim /etc/systemd/resolved.conf文件,添加DNS服务器地址:

DNS=8.8.8.8 114.114.114.114

2)使能新的DNS配置:

sudo systemctl restart systemd-resolved
sudo systemctl enable systemd-resolved
 
sudo mv /etc/resolv.conf  /etc/resolv.conf.bak
sudo ln -s /run/systemd/resolve/resolv.conf /etc/

2.3. CPU调频策略

开发板在Linux内核中采用CPUFreq驱动对CPU工作状态进行管理,默认状态为ondemand模式,此时CPU会根据负载动态调节频率,以达到降功耗目的,用户可通过如下命令将CPU强制工作在1.2GHz最高频率下:

sudo bash -c 'echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor'

开发板在系统中提供了超频功能,可将CPU最高频率从1.2GHz提升到1.5GHz,配置命令如下:

sudo bash -c 'echo 1 > /sys/devices/system/cpu/cpufreq/boost'

注意,CPU超频可能会造成系统稳定性问题,如遇稳定性问题,需要关闭超频功能,命令如下:

sudo bash -c 'echo 0 > /sys/devices/system/cpu/cpufreq/boost'

特别声明: CPU超频仅限于开发者Geek尝试使用,在做超频处理前,需要保证给芯片做好扇热措施,保证CPU长时间运行下,芯片结温能够保持在95摄氏度以下,避免因芯片在高温情况下长时间运行导致芯片故障。CPU超频同时会导致一些目前还无法预知的芯片可靠性问题,请开发者谨慎操作,一切因为CPU超频导致的问题地平线不承担任何责任。

查看芯片当前的结温温度、CPU运行频率、BPU运行频率和BPU使用率的命令如下:

sudo hrut_somstatus

image-20220714113732289

2.4. 自启动配置

通过在sudo vim /etc/rc.local文件末尾添加命令,可实现开机自启动功能,例如:

#!/bin/bash -e
# 
# rc.local
#re
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#!/bin/sh

chmod a=rx,u+ws /usr/bin/sudo
chown sunrise:sunrise /home/sunrise

which "hrut_count" >/dev/null 2>&1
if [ $? -eq 0 ]; then
        hrut_count 0
fi

# Insert what you need