4.4 KiB
4.4 KiB
易百纳 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:工具软件,如烧录工具等
编译时使能的宏
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
构建方法
# 选择 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
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
软件包下载过慢或无法下载的处理
- 将文件直接下载到 buildroot/dl 文件夹中;
- 手动下载并添加到自建 Http 文件服务器中:
- 用 HttpFileServer 搭建 Http 文件服务器,将需要的软件包手动下载到 Http 文件服务器路径下。
- 修改 buildroot/pack 路径下的 *.mk 文件,将其中的下载地址修改为 HttpFileServer 的地址。
- 使用代理进行科学上网。
挂载为可读写
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