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

180 lines
4.4 KiB
Markdown
Raw Normal View History

# 易百纳 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
```