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

4.4 KiB
Raw Blame 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工具软件如烧录工具等

编译时使能的宏

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

构建方法

# 选择 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

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

# 清除编译结果
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。

如果出现:

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 为:

LIBGLIB2_SITE = https://download.gnome.org/sources/glib/$(LIBGLIB2_VERSION_MAJOR)

glibmm

修改 threads.h 中的 gobj() 方法。

// 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. 使用代理进行科学上网。

挂载为可读写

mount -o remount,rw /

修改 /tmp 权限

chmod 777 /tmp

关闭 CA 认证

touch /etc/apt/apt.conf.d/99verify-peer.conf && echo >>/etc/apt/apt.conf.d/99verify-peer.conf "Acquire { https::Verify-Peer false }"

替换清华源

sudo sed -i "s@http://ports.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list

安装 Qt

apt install qt5-qmake libqt5serialport5-dev

apt install libqt5core5a libqt5serialport5 libqt5quick5 libqt5quickcontrols2-5 libqt5qml5 libqt5network5 libqt5media5 libqt5gui5