您尚未登录。

楼主 # 2021-08-02 22:03:03

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

buildroot-rk3308编译过程记录

编译命令:

git clone https://github.com/buildroot/buildroot.git
git clone https://github.com/flatmax/buildroot.rockchip.git

cd buildroot
make BR2_EXTERNAL=../buildroot.rockchip rockpis_defconfig
make

离线

楼主 #1 2021-08-02 22:15:20

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: buildroot-rk3308编译过程记录

问题1:builtin-declaration-mismatch
builtin-declaration-mismatch.png
看描述意思是不能定义名字叫free的函数,因为库函数里有free()函数

查了下该函数定义是个static函数,只在这个文件内使用,,所以直接把函数名字改了
builtin-declaration-mismatch-2.png

离线

楼主 #2 2021-08-02 22:45:16

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: buildroot-rk3308编译过程记录

问题2:restrict-overlaps
restrict-overlaps.png

sprintf的第三个参数和第一个参数都是buf,,编译期认为发生了overlap,,代码如下:
restrict-overlaps-2.png

换种写法:
restrict-overlaps-3.png

这种写法和原来的写法应该是等效的,,先这么编译试试吧

离线

楼主 #3 2021-08-02 23:02:59

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: buildroot-rk3308编译过程记录

悲剧,,后面好多overlaps问题!!
restrict-overlaps-many.png

一个一个都改了肯定不现实,,看来只能想办法让编译器不做这么严格的语法检查才能编译通过

哪位大侠知道buildroot环境下怎么让编译器检查不这么严格,请求指点,,谢谢

离线

楼主 #5 2021-08-03 12:47:50

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: buildroot-rk3308编译过程记录

搜了下,,这些严格的语法检查似乎都是gcc 10引入的,,换个低版本的gcc重新编译就可以了

buildroot-gcc-version.jpg

离线

楼主 #6 2021-08-03 16:14:45

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: buildroot-rk3308编译过程记录

问题3:commit miss
buildroot-commit-miss.jpg
描述说rkbin的仓库中没有“b1bb741794d6af002182d365879c645a239f5118”这个commit

查了下确实没有这个commit,,可以在提交历史记录中找一个相近的commit,,替换掉buildroot.rockchip/package/rkbin/rkbin.mk中的commit id
buildroot-rkbin_mk.png

离线

楼主 #7 2021-08-03 16:20:10

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: buildroot-rk3308编译过程记录

编译成功:
buildroot-done.png

吐槽一下,,编译过程中会自动从github下载rkbin、rkdevice、rktool等几个包,,下载速度极慢,,平均只有10KB,,而包又比较大,,非常容易失败,,所以只能将github仓库导入gitee,,然后修改包的mk文件,,将其中的仓库地址都改成gitee上的

离线

楼主 #9 2021-09-21 09:01:00

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: buildroot-rk3308编译过程记录

stgan 说:

buildroot.rockchip rockpis_defconfig 编译出来的sdcard.img的ssh默认用户名密码是什么?多谢。

我还没用ssh,,我用串口登录的,,用户名为root,,不需要密码

离线

楼主 #12 2021-09-21 18:48:39

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: buildroot-rk3308编译过程记录

@stgan

下面这个配置项我没改,从截图看默认确实没有密码

楼上 @黄粱梦 说“ssh登录一定要密码,或者用密钥登录”,,那么你有三种解决方法:
1、用串口登录,然后设置root用户密码
2、用串口登录,然后把公钥配置进去,之后免密登录
3、修改下面这个配置项,然后重新编译生成新的固件

buildroot-password.jpg

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn