Toybrick
标题: 基于 RK3588 debian 搭建 RK3588 Kernel 编译环境 [打印本页]
作者: nickey.yang 时间: 2021-12-27 19:47
标题: 基于 RK3588 debian 搭建 RK3588 Kernel 编译环境
本帖最后由 nickey.yang 于 2021-12-27 20:13 编辑
一、本地编译环境
1、安装编译 kernel 的工具
- apt install git gcc make flex bison libssl-dev lz4
- apt install python pip
2、scp 本机的 .ssh 文件夹到板端,然后 git clone kernel 代码3、编译代码
- make ARCH=arm64 rockchip_linux_defconfig
- time make ARCH=arm64 rk3588-xxx.img -j16
二、分布式编译环境1、安装 C/C++ 分布式编译工具
- apt install distcc distccmon-gnome<div align="left"></div>
2、修改服务器端和客户端的 /etc/default/distcc 配置- STARTDISTCC="true" #开机自启动
- ALLOWENDETS="127.0.0.1 192.168.31.0/24" #192.168.31.xxx为RK3588的IP 地址
- LISTENER=""
- ZEROCONFIG="false"
3、在服务器端和客户端启动 distccd 服务:- /etc/init.d/distcc stop
- /etc/init.d/distcc start
4、在客户端设置服务器端IP地址(.19为客户端IP地址,distcc部署允许localhost作为服务器端)- export DISTCC_HOSTS="192.168.31.19 192.168.31.251 192.168.31.100"
5、在客户端编译代码- make ARCH=arm64 rockchip_linux_defconfig
- time make ARCH=arm64 rk3588-xxx.img -j32 CC="distcc /usr/bin/gcc"
三、编译测试结果对于 分布式RK3588 编译 的场景,粗略手动调整编译服务端的负载均衡之后,干净编译 RK3588 的 kernel 生成 30M 的内核 Image 的耗时如下
time | RK3588 | 分布式 RK3588 x1 | 分布式 RK3588 x2 | 分布式 RK3588 x3 | i7-1165G7@2.80G | |
real | 8m41.081s | 8m31.613s | 5m0.604s | 3m47.136s | 6m24.822s | 3m35.845s |
user | 56m35.906s | 56m56.541s | 24m55.459s | 15m7.921s | 44m3.944s | 57m57.281s |
sys | 6m7.484s | 5m49.619s | 4m5.039 | 3m5.729s | 3m5.943s | 4m12.297s
|
作者: randyliu2020 时间: 2022-4-8 15:43
你好~我目前打算在rk3588上面跑opencl的demo,clinfo信息如下:
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) ARM Platform
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [ARM]
clCreateContext(NULL, ...) [default] Success [ARM]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) Success (1)
Platform Name ARM Platform
Device Name Mali-LODX r0p0
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) Success (1)
Platform Name ARM Platform
Device Name Mali-LODX r0p0
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) Success (1)
Platform Name ARM Platform
Device Name Mali-LODX r0p0
ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free software
ICD loader Version 2.2.14
ICD loader Profile OpenCL 3.0
查询到的设备是Mali-LODX r0p0,不应该是mali-g610吗?
作者: wangyb@zhejiang 时间: 2022-11-25 17:05
2、scp 本机的 .ssh 文件夹到板端,然后 git clone kernel 代码;
这个代码的意思就是将RK3588的代码copy 到RK3588开发板上吗?
作者: wangyb@zhejiang 时间: 2022-11-25 17:07
我想问下RK3588 我根据官方BSP编译,编译到最后,烧到开发板上,boot 不到内核什么原因?
作者: fxieg 时间: 2023-6-6 17:43
https://t.rock-chips.com/forum.p ... &extra=page%3D1
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 100
//
问题
我在开发板RX3588X 上编译内核遇到错误,请教该如何做。
在开发版RX3588 debian10 上做如下操作
sudo apt install git gcc make flex bison libssl-dev lz4
sudo apt install python pip
git clone https://github.com/rockchip-toybrick/kernel.git
然后进入kernel目录
运行如下命令
make ARCH=arm64 rockchip_linux_defconfig
time make ARCH=arm64 rk3588-xxx.img -j16
有错提示
make[2]: *** No rule to make target 'arch/arm64/boot/dts/rockchip/rk3588-x.dtb'. Stop.
make[1]: *** [Makefile:1446: rockchip/rk3588-x.dtb] Error 2
make: *** [arch/arm64/Makefile:214: rk3588-x.img] Error 2
欢迎光临 Toybrick (https://t.rock-chips.com/) |
Powered by Discuz! X3.3 |