瑞芯微Rockchip开发者社区
直播中

mushenmu

2年用户 732经验值
擅长:可编程逻辑
私信 关注
[经验]

基于 RK3588 debian 搭建 RK3588 Kernel 编译环境

一、本地编译环境
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
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
服务器  E5-2640@2.4G
real8m41.081s8m31.613s5m0.604s3m47.136s6m24.822s3m35.845s
user56m35.906s56m56.541s24m55.459s15m7.921s44m3.944s57m57.281s
sys6m7.484s5m49.619s4m5.0393m5.729s3m5.943s4m12.297s

四、参考资料
https://github.com/distcc/distcc

更多回帖

发帖
×
20
完善资料,
赚取积分