NotePublic/Ecology/易百纳_EB-RV1126-DC-201/易百纳_EB-RV1126-DC-201_Linux_...

180 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 易百纳 EB-RV1126-DC-201 Linux 说明
## SDK 目录结构
- buildrootbuildroot 文件系统。
- device设备编译指导。
- rockchip瑞芯微的编译脚本。
- common主编译脚本。
- 芯片型号目录:各型号芯片的子编译脚本
- docs瑞芯微文档资料
- Common各通用子系统的文档如 Audio、CAN 等。
- LinuxLinux 子系统帮助文档,如 Camera、Graphics、Multimedia 等。
- Others其他说明文档。
- RV1126_RV1109RV1126/RV1109 专有说明文档。
- external外部库主要是瑞芯微自定义或移植的库如 rockit、mpp 等。
- kernel内核源码目录。
- prebuilts预构建好的工具主要是 gcc 等。
- rkbin瑞芯微预编译好的工具如 mkkrnlimg 等。
- rockdev最终编译生成的镜像文件目录。
- tools工具软件如烧录工具等
## 编译时使能的宏
```bash
TARGET_ARCH=arm
TARGET_PLATFORM=rv1126_rv1109
TARGET_UBOOT_CONFIG=rv1126
TARGET_SPL_CONFIG=
TARGET_KERNEL_CONFIG=rv1126_defconfig
TARGET_KERNEL_DTS=rv1126-aybering
TARGET_TOOLCHAIN_CONFIG=
TARGET_BUILDROOT_CONFIG=rockchip_rv1126_rv1109
TARGET_RECOVERY_CONFIG=rockchip_rv1126_rv1109_recovery
TARGET_PCBA_CONFIG=
TARGET_RAMBOOT_CONFIG=
# 多任务处理
RK_JOBS=12
```
## 构建方法
```bash
# 选择 90rockchip_rv1126_rv1109.
source envsetup.sh
# 选择 6BoardConfig-aybering.mk.
./build.sh lunch
# 全部构建,输出结果在 rockdev 文件夹下.
./build.sh
# 全部清除.
./build.sh cleanall
```
## 刷机方法
连接 Micro USB 到计算机(不要通过 USB-Hub直接使用 USB3.0 口)。
按下 recover 和 reset 键,进入 Loader 模式,打开 RKDevTool->高级功能->进入 Maskrom进入 Maskrom 模式。
点击下载镜像,添加 Parameter 字段,按 rockdev/parameter.txt 中的参数设置 uboot、rootfs 等。设置 Loader 为 rockdev/MiniLoaderAll.bin。
从 Parameter 字段添加 rockdev/parameter.txt 文件,将自动修改各字段地址。
点击执行进行烧录。
烧录前需要关闭 VirtualBox 等影响 USB 的程序。
## 修改 kernel
```bash
cd kernel
# 保存旧的配置.
make ARCH=arm savedefconfig
cp defconfig arch/arm/configs/rv1126_defconfig
# 清除编译结果和配置.
make distclean
# 重新配置内核.
make ARCH=arm rv1126_defconfig
make ARCH=arm menuconfig
make ARCH=arm savedefconfig
cp defconfig arch/arm/configs/rv1126_defconfig
# 重新编译内核.
cd ..
./build.sh kernel
```
## 修改 buildroot
```bash
# 清除编译结果
rm -rf buildroot/output
# 配置 buildroot.
cd buildroot
make rockchip_rv1126_rv1109_defconfig
# 自动保存成 rockchip_rv1126_rv1109_defconfig.
make menuconfig
make savedefconfig
# 重新编译 buildroot.
cd ..
./build.sh cleanall
./build.sh buildroot
```
### 增加 Qt
Pixe format of linuxfb drm screen 选 rgb565。
如果出现:
```bash
mv -f libXXXXXX.so ...
...
make[3]: *** [sub-plugins-make_first] Error 2
...
make[2]: *** [sub-src-make_first] Error 2
```
则是因为缺少对应的依赖库,在 buildroot 中增加相应依赖库即可。
### libglib2
libglib2.mk 修改 LIBGLIB2_SITE 为:
```mk
LIBGLIB2_SITE = https://download.gnome.org/sources/glib/$(LIBGLIB2_VERSION_MAJOR)
```
### glibmm
修改 threads.h 中的 gobj() 方法。
```cpp
// GPrivate* gobj() { return gobject_; }
GPrivate* gobj() { return &gobject_; }
```
### 裁剪
* nginx
* host-ntfs1
### 软件包下载过慢或无法下载的处理
1. 将文件直接下载到 buildroot/dl 文件夹中;
2. 手动下载并添加到自建 Http 文件服务器中:
1. 用 HttpFileServer 搭建 Http 文件服务器,将需要的软件包手动下载到 Http 文件服务器路径下。
2. 修改 buildroot/pack 路径下的 *.mk 文件,将其中的下载地址修改为 HttpFileServer 的地址。
3. 使用代理进行科学上网。
## 挂载为可读写
```bash
mount -o remount,rw /
```
## 修改 /tmp 权限
```bash
chmod 777 /tmp
```
## 关闭 CA 认证
```bash
touch /etc/apt/apt.conf.d/99verify-peer.conf && echo >>/etc/apt/apt.conf.d/99verify-peer.conf "Acquire { https::Verify-Peer false }"
```
## 替换清华源
```bash
sudo sed -i "s@http://ports.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
```
## 安装 Qt
```bash
apt install qt5-qmake libqt5serialport5-dev
apt install libqt5core5a libqt5serialport5 libqt5quick5 libqt5quickcontrols2-5 libqt5qml5 libqt5network5 libqt5media5 libqt5gui5
```