# 易百纳 EB-RV1126-DC-201 Linux 说明 ## SDK 目录结构 - buildroot:buildroot 文件系统。 - device:设备编译指导。 - rockchip:瑞芯微的编译脚本。 - common:主编译脚本。 - 芯片型号目录:各型号芯片的子编译脚本 - docs:瑞芯微文档资料 - Common:各通用子系统的文档,如 Audio、CAN 等。 - Linux:Linux 子系统帮助文档,如 Camera、Graphics、Multimedia 等。 - Others:其他说明文档。 - RV1126_RV1109:RV1126/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 # 选择 90:rockchip_rv1126_rv1109. source envsetup.sh # 选择 6:BoardConfig-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 ```