git checkout 6.1.75
./build-kernel.sh arm64
The deb file will be generated in the higher-level directory of the code and copied to the machine for installation.
git checkout 6.1.75
./build-kernel.sh arm64
The deb file will be generated in the higher-level directory of the code and copied to the machine for installation.
@petersen77
The compilation of Mesa is closely related to the DRM version, so pay attention to the version.
@Momo-0
TYPEC is only related to DTS, and the main issue with the sound card is Tinymix configuration.
@Momo-0
The official default configuration of ARMBIN's loadaddr and optee conflicts and needs to be modified to 0x200000

@petersen77
Compile and install mesa24 or higher versions.
sudo apt install motion -y
admin@cp2b:~$ ls /dev/ |grep video
video0
video1
framerate 60 //Change frame rate to 100
stream_maxrate 60 //Add configuration
webcontrol_localhost off //Support remote control
stream_localhost off off //Support remote stream
sudo systemctl start motion
sudo systemctl enable motion
sudo reboot
http://you-ip-address:8081

@petersen77
The rc.local script actually only performs simple scaling operations, which can be implemented anywhere in the system, such as creating a service yourself.
Regarding GPU issues, it is necessary to compile and install the latest version of Mesa by oneself.
| Model | Specifications | Manufacturer | Interface | Supporting Machines |
|---|---|---|---|---|
| RTL8852BE | Wi-Fi 6+BT5.2 | REALTEK | PCIe 2.0 x1、M.2 Key E | CM5-AIBOX/CM5-GENBOOK/CP3B/CP3B-HMI10 |
| RTL8822CE | Wi-Fi 5+BT5.0 | REALTEK | PCIe 2.0 x1、M.2 Key E | CM5-AIBOX/CM5-GENBOOK/CP3B/CP3B-HMI10 |
| RTL8822BE | Wi-Fi 5+BT4.2 | REALTEK | PCIe 2.0 x1、M.2 Key E | CM5-AIBOX/CM5-GENBOOK/CP3B/CP3B-HMI10 |
| RTL8723BE | Wi-Fi 4+BT4.0 | REALTEK | PCIe 1.1 x1、M.2 Key E | CM5-AIBOX/CM5-GENBOOK/CP3B/CP3B-HMI10 |
| RTL8188EE | Wi-Fi 4 | REALTEK | PCIe 1.1 x1、M.2 Key E | CM5-AIBOX/CM5-GENBOOK/CP3B/CP3B-HMI10 |
| AX210 | Wi-Fi 6+BT5.3 | INTEL | PCIe 2.0 x1、M.2 Key E | CM5-AIBOX/CM5-GENBOOK/CP3B/CP3B-HMI10 |
| AC7260 | Wi-Fi 5+BT4.2 | INTEL | PCIe 2.0 x1、M.2 Key E | CM5-AIBOX/CM5-GENBOOK/CP3B/CP3B-HMI10 |
| AIC8800-D80 | Wi-Fi 6+BT5.0 | AIC | USB2.0 | CP1B/CP2B/CP3B-P |
| MT7601-UN | Wi-Fi 4 | MediaTek | USB2.0 | CP1B/CP2B/CP3B-P |
sudo apt update
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - &&\
sudo apt-get install -y nodejs
sudo apt install npm
sudo npm install -g --unsafe-perm node-red
mkdir /home/iotts/node_red
cd /home/iotts/
sudo chmod 777 node_red
sudo docker run -d --restart always -p 1880:1880/tcp -v /home/iotts/node_red:/data --name nodered nodered/node-red
sudo nano /etc/systemd/system/node-red.service
[Unit]
Description=Node-RED
After=network.target
[Service]
ExecStart=/usr/bin/node /usr/bin/node-red
User=sa
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start node-red
sudo systemctl enable node-red
sudo systemctl status node-red
vim /home/admin/.node-red/settings.js
To modify the content of CredentialSecret, you need to set a key, not a login password. Save and exit.

Restart Ubuntu
sudo reboot
node-red admin hash-pw
admin@cp2b:~$ node-red admin hash-pw
Password: $2y$08$cUm1LgtBnDt.b.az4IiLeuPCNb0LFv.hbnd71OWwd94j.GMF/WVnW
Open the settings. js file, modify the content of adminAuth, and copy the string from earlier. Save and exit.

Restart Ubuntu

@petersen77
According to the following steps, theoretically all distribution versions can be launched:
sudo apt install hostapd
vi /etc/hostapd.conf
interface=wlan0
driver=nl80211
ctrl_interface_group=0
ctrl_interface=/var/run/hostapd
beacon_int=100
ssid=aic_ax_2.4G
country_code=CN
channel=6
hw_mode=g
ieee80211n=1
ieee80211ac=1
ieee80211ax=1
ht_capab=[HT20][SHORT-GI-20][HT40-][HT40+][SHORT-GI-40]
wmm_enabled=1
he_basic_mcs_nss_set=65534
auth_algs=3
wpa=3
wpa_passphrase=1234567890
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
rsn_pairwise=CCMP
vi /etc/dnsmasq.conf
# Only monitor the AP interface
interface=wlan0
bind-interfaces
# DHCP configuration
dhcp-range=192.168.11.2,192.168.11.20,255.255.255.0,24h
dhcp-option=3,192.168.11.1
dhcp-option=6,8.8.8.8,114.114.114.114
resolv-file=/etc/dnsmasq/resolv.conf
mkdir -p /etc/dnsmasq
vi /etc/dnsmasq/resolv.conf
Enter the following content
nameserver 8.8.8.8
nameserver 8.8.4.4
vi /usr/bin/start_wifi_ap.sh
Enter the following content
#!/bin/bash
#
## Search for network interfaces starting with wlan
WIFI_IFACE=wlan0
# Configure IP address
ifconfig $WIFI_IFACE 192.168.11.1 up
# Start hostapd
hostapd /etc/hostapd.conf -dd &
# Start dnsmasq
touch /var/lib/misc/udhcp.leases
dnsmasq -i $WIFI_IFACE -C /etc/dnsmasq.conf &
echo "AIC WiFi AP started on interface $WIFI_IFACE"
Modify permissions
chmod a+x /usr/bin/start_wifi_ap.sh
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
net.ipv4.ip_forward=1
sudo sysctl -p
sudo apt update
sudo apt install iptables-persistent
sudo apt install iptables
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
admin@cp2b:~$ sudo start_wifi_ap.sh
[sudo] password for admin:
AIC WiFi AP started on interface wlan0
@15647215856
确认loader升级到最新版本,然后系统镜像通过etcher刷入TF卡,默认的启动顺序是USB TF卡 EMMC。
@mainbord
Use the following command to generate a deb file and then install it.
./build-kernel.sh arm64
In the process of user development, after building their own application, it is usually necessary to back up the file system and then copy it to other machines. The following provides backup scripts and operation methods:
sudo mount /dev/sda1 /mnt cd /mnt sudo ./backup-cp1b.sh 
@ytfycy
CM5是ARM架构的机器,不能支持X86架构的镜像文件。
如需安装ARM64架构的UBUNTU22.04镜像,请参考如下文档:
https://www.cool-pi.com/docs/coolpi-cm5-evb-quick-start-guide/
@george
在国内使用 Docker 拉取镜像时,经常会遇到镜像源无法访问的问题,为了解决这一问题,下面将介绍如何配置 DaoCloud 镜像源,确保在国内快速稳定的下载镜像。
通过上述步骤新安装的 Docker 一般不存在文件/etc/docker/daemon.json,没关系,我们直接使用vim /etc/docker/daemon.json进行创建并编辑,输入以下内容:
{
"registry-mirrors": [
"https://docker.m.daocloud.io"
]
}
保存文件后重启 Docker 服务,新的镜像源即可生效:
systemctl daemon-reload
systemctl restart docker
To get started with Docker Engine on Ubuntu, make sure you meet the prerequisites, and then follow the installation steps.
Before you install Docker, make sure you consider the following security implications and firewall incompatibilities.
To install Docker Engine, you need the 64-bit version of one of these Ubuntu versions:
Installation on Ubuntu derivative distributions, such as Linux Mint, is not officially supported (though it may work).
Before you can install Docker Engine, you need to uninstall any conflicting packages.
Your Linux distribution may provide unofficial Docker packages, which may conflict with the official packages provided by Docker. You must uninstall these packages before you install the official version of Docker Engine.
The unofficial packages to uninstall are:
Moreover, Docker Engine depends on containerd and runc. Docker Engine bundles these dependencies as one bundle: containerd.io. If you have installed the containerd or runc previously, uninstall them to avoid conflicts with the versions bundled with Docker Engine.
Run the following command to uninstall all conflicting packages:
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
apt-get might report that you have none of these packages installed.
Images, containers, volumes, and networks stored in /var/lib/docker/ aren't automatically removed when you uninstall Docker. If you want to start with a clean installation, and prefer to clean up any existing data, read the uninstall Docker Engine section.
You can install Docker Engine in different ways, depending on your needs:
Before you install Docker Engine for the first time on a new host machine, you need to set up the Docker apt repository. Afterward, you can install and update Docker from the repository.
1.Set up Docker's apt repository.
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
2.Install the Docker packages.
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3.Verify that the installation is successful by running the hello-world image:
sudo docker run hello-world
This command downloads a test image and runs it in a container. When the container runs, it prints a confirmation message and exits.
You have now successfully installed and started Docker Engine.
Receiving errors when trying to run without root?
The docker user group exists but contains no users, which is why you’re required to use sudo to run Docker commands. Continue to Linux postinstall to allow non-privileged users to run Docker commands and for other optional configuration steps.
To upgrade Docker Engine, follow step 2 of the installation instructions, choosing the new version you want to install.