01-Linux常用系统定制

符号说明

  • SDK$:指代源码路径

  • console$:泛指主板的命令行控制台。主板命令行控制台

  • ADB$:Android Debug Bridge 命令行工具,泛指可运行 ADB 的环境

开机自启动程序

开机自启动脚本

$ /etc/init.d/kickpi.sh

示例:

$ vim /etc/init.d/kickpi.sh
+ source /usr/bin/test_boot.sh

给脚本赋予运行权限

$ chmod +x /etc/init.d/kickpi.sh

将开机启动程序命令添加到kickpi.sh脚本中,可实现开机自启动。

修改串口自动登录用户

默认串口自动登陆root,下面示例为修改为kickpi

修改桌面登录为root

图形化界面默认登录为kickpi,按照下面修改文件,重启后就可以修改登录用户会root

Ubuntu

修改默认登录用户

重启

Debian

修改默认登录用户

添加root登录权限

重启

语言配置

命令执行后,重启生效

Ubuntu2004

  • 设置英文语言

  • 设置中文语言

时区配置

命令执行后,重启生效

  • 设置时区亚洲/上海

  • 设置时区美国/纽约

配置屏幕显示方向

  • 查看当前屏幕信息

根据打印信息可知,当前系统为单屏幕显示,并且显示设备名称为 HDMI-1

  • 旋转屏幕显示方向

设置指定显示设备的旋转方向

normal:将显示设备正常的显示。

left:将显示设备逆时针旋转 90 度。

inverted:将显示设备顺时针旋转 90 度。

right:将显示设备旋转 180 度。

示例:

配置 HDMI-1 显示逆时针旋转 90 度。

  • 旋转屏幕后触摸校准

安装工具

查看设备和ID

根据打印信息可知,当前触摸设备为"goodix-ts",id为10

配置输入设备的校准矩阵

示例:

设置 goodix-ts 设备的校准矩阵

$ xinput set-prop 10 --type=float "libinput Calibration Matrix" 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0

配置输入设备坐标转换矩阵

根据旋转情况使用对应命令

示例:

设置 goodix-ts 设备的坐标转换矩阵为left

xinput set-prop 10 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1

校准触摸

示例:

校准 goodix-ts 设备

$ xinput_calibrator -v --device 10

  • 开机自启动旋转服务参考

永久修改触摸方向

可以参考LCD配置文档:单触摸屏驱动配置arrow-up-right

网络配置

静态IP地址配置

示例1:eth0网卡通过netplan的yaml配置静态IP地址为192.168.1.50

示例2:eth1网卡通过network/interfaces配置静态IP地址为192.168.77.196

重启服务

常用配置

显示所有网络接口信息

网络接口名称根据实际情况会有所不同

显示特定网络接口信息

要显示特定网络接口(如eth0)的信息,可输入ifconfig eth0

设置 IP 地址

要为eth0接口设置 IP 地址为192.168.1.101,子网掩码为255.255.255.0,可以使用命令ifconfig eth0 192.168.1.101 netmask 255.255.255.0

启用网络接口

若要启用eth0接口,可以使用ifconfig eth0 up命令

禁用网络接口

要禁用eth0接口,使用ifconfig eth0 down命令

设置 MAC 地址

不同的操作系统可能会有一些差异,有些系统可能不允许通过ifconfig直接设置 MAC 地址,或者需要额外的步骤

命令行配置WIFI热点(AP)模式

查看是否支持AP模式

AP/VLAN则可以表示硬件支持

创建虚拟接口创建热点模式

安装依赖包

创建虚拟网卡

是真实无线网卡名,可通过ifconfig查看,是虚拟的无线网卡名

例如命令

为虚拟网卡添加物理地址

随意填写,假如冲突则换一个,是虚拟的无线网卡名

例如命令:

查看创建情况

注意:重启电脑后,这里创建的虚拟网卡就会失效

下载安装工具 create_ap

使用create_ap创建热点

是你的无线网卡的姓名, 虚拟网卡名, 分别是创建的热点wifi名和密码

例如

如果创建的热点卡住,开启热点时报如下错误:

可以如下操作停止之前创建的热点,然后重启开启热点。

虚拟网卡名

使用物理接口创建热点模式

安装依赖和create_ap

修改防火墙

创建热点MyAccessPoint,密码:12345678,共享eth0网络

使用create_ap后 想恢复WiFi 节点

NFS配置

环境配置

服务器端

  1. 配置共享的文件

  1. 启动服务

  1. 查看当前服务器共享文件,证明共享成果

客户端

  1. 查看服务器共享文件

  1. 挂载文件夹

  1. 挂载成功

镜像源设置

查看软件版本,根据版本查找镜像源替换

将新的镜像源替换并更新

注意:使用arm的镜像源

Chrome 硬件加速测试

测试平台:RK3568 Debian11 Chrome

测试方法:

​ 1.拷贝1080P及4K的视频到板子,通过chrome浏览器本地解码。

​ 2.查看GPU占用:

​ 3.打开帧解码日志并打印:

测试结果:

​ 1080P_30帧/秒:GPU占用在42%-48%左右

​ 每帧解码时间测试结果日志片段:

​ 4K_30帧/秒:GPU占用在60%-68%左右

​ 每帧解码时间测试结果日志片段:

SSH配置

默认不支持root连接,root连接需要配置

注意事项:

确保板子IP正常

确保能正常连通板子的IP

USB 摄像头

检查摄像头设备节点

ffmpeg 打开摄像头

示例:

触摸屏 图像界面文件管理器打不开文件

1.打开桌面Home 进入文件管理器

2.右上角第二个选项edit >> Perferences...

3.Perferences界面 第三页Navigation 选择 Single click to activate items

UBUNTU从官网安装软件包

安装gcc为例子

wget http://ports.ubuntu.com/pool/main/g/gcc-9/gcc-9_9.3.0-10ubuntu2_arm64.deb sudo dpkg -i *.deb 网站是https://ubuntu.pkgs.org/20.04/ubuntu-main-arm64/gcc-9_9.3.0-10ubuntu2_arm64.deb.html 可以直接搜索想要的依赖包名

f78e90f7748d198d11dbbd163bb33a9

备份rootfs系统

注意:这种方式替换后的rootfs 可能存在mount挂载UUID问题 可以blkid查看正确的UUID 然后修改/etc/fstab

接好U盘在板子上,大小至少16GB以上,打包出来的镜像会比较大

脚本位于网盘:

将脚本拷贝到板子Linux系统上运行

生成的包名格式如:rootfs.img

/mnt/usb 指代:你将U盘挂载的目录

确保打包出来的文件格式正确

FAT32单文件不可超出4G,如果系统太大,请格式化U盘为其他格式,推荐:ext4、exfat

重新打包,将rootfs.img替换进完整镜像,参考固件解包和打包

也可以对需要替换这个系统的板子单独烧录rootfs.img

烧录后根文件系统的占用空间只会是这个img的大小,需要执行下面命令还原大小。

eMMC分区

**注意:**重新分区均需要重新烧录,如果系统不想被格式化,请先备份rootfs

修改有两种方法:

  • 完整镜像修改

参考固件解包和打包,修改parameter.txt文件后重新打包

  • SDK内修改

修改对应板子型号路径下文件,后重新编译

RK356x:

RK3588:

修改的内容:

重新分区主要修改分区文件parameter.txt

例如:将剩余所有空间放到根目录下

文件分区规则:分区大小:分区起始地址(分区名称)

分区大小:0x01c00000*512Byte/1024/1024/1014 ≈ 14G

分区起始地址=前一个分区起始地址+前一个分区大小

最后一个分区格式为:-@0x0xxxxx(xxx:grow) -表示剩余所有空间自适应

Linux系统需要额外加一步修改

将oem userdate的自动挂载注释掉

Ubuntu桌面版进入root用户

最新桌面版系统默认登录用户为:kickpi

桌面版系统的Terminal 使用一些命令可能存在权限问题如:ifconfig

就需要root权限 可以在命令前面加sudo 或者 进入root用户

切换root用户操作如下:

1.设置root密码

提示输入当前用户密码 如:kickpi 提示 New Password: 即可输入你要设置的root密码 (输入不会显示)

提示 Retype new password: 再次确认

提示 passwd: password updated successfully 表示成功

2切换到root用户

输入刚刚设置的密码 即可让当前Terminal 进入root用户

进入Linux命令行界面

Ubuntu系统

​ 关闭Ubuntu图形化桌面会进入Linux命令行界面,下面介绍怎么开关Ubuntu图形化桌面

暂时关闭桌面

临时启动桌面

永久禁用桌面

永久启动桌面

GUI 桌面被冻结可以用键盘进入命令行界面

  • 进入命令行界面: 输入快捷键 CTRL + ALT + F3。

  • 要返回 GUI 桌面:输入快捷键 ALT + F2 。

Debian系统

  • 禁止桌面环境,纯命令行启动

修改默认的运行模式

查看当前系统运行模式

重启

  • 启用桌面环境

修改默认的运行模式

重启

安装samba

安装samba

给要共享的文件权限

添加samba用户

配置samba

在文本最后添加如下内容:

[kickpi] 为共享看到的文件夹名称

重启服务

RKNN 部署

系统支持部署 rknn-toolkit2,rknn_model_zoo,参考 rockhip 官方文档如下:

https://github.com/airockchip/rknn-toolkit2/tree/master/doc

https://github.com/airockchip/rknn_model_zoo/tree/main/docs

常见问题

create_ap因为iw版本6.7以上兼容补丁

Last updated